Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51 Частота GPIO (АРМ) - ARM - Форум - starterkit.ru
Поборов лень, подключил к SK-MNUK950 (200МГц тактовая) осциллоскоп Tektronix TDS2012B(100MHz, 1GS/s) на ножку №168 (IRQ1). Заинтересовала максимальная частота "ногодрыгания".
Вот результат работы несложной программы:
собственно программа (компилировал прямо на плате)
Makefile к ней
за базу программы взяты исходники из Wiki, написанные repairman
зы если будет интерес, если будет возможность, если не забуду, то в понедельник выложу картинку для 9260 :)
все правильно, у тебя помимо пинодрыгания еще что-то полезное делалось - обработка данных, их трансфер и обсчет. а тут "чистое" дрыгание..
по хорошему, надо написать ассмовый код с инитом пина и циклом дрыгания и подсунуть бинарник вместо ядра при загрузке. уверен, что частота будет еще выше, т.к. не будет "отвлекающих" прерываний.
понятно, что это идеализированный случай, для практики слабоприменимый. но полезно знать предел возможности АРМа.
полагаю, что ситуацию можно исправить (не меняя камня) прицепив туже ФПГА на внешнюю шину и изобразить внешнюю память. Обдрыгаться можно :)
для эксперимента возможно можно сделать и так, но при неудачном стечение обстоятельств можно от линукса в репу получить за бесконтрольное обнуление остальных 31 битов регистра :)
а, вот о чем речь. да, я проглядел этот момент.
и тем не менее, в вашем случае обнуляется весь регистр, за исключением 1 бита. в моем же случае вообще не ясно, что считывается из порта для режима readonly. обычно в доках это оговаривается.
правильнее будет считывать содержимое 30.6.12 PIO Output Data Status Register
и в зависимости от состояния анализируемого бита работать с соответствующим регистром (PIO_SET или PIO_CLR) по маске бита