Цитата(aaarrr @ May 27 2013, 23:26)

Проверьте, нет ли вероятности выхода из какого-либо прерывания без записи AIC_EOICR.
Вероятность всегда есть

Только вот где бы это могло случиться, я не вижу. Во всех обработчиках, return один и последним оператором. А предпоследним EOICR. Ну допустим, что где-то, что-то сглючивается, и вылетает она из какого-нибудь обработчика посередине. А увидеть, что AIC_EOICR не записали в каком-нибудь регистре можно?
Цитата(aaarrr @ May 28 2013, 00:53)

Код
*AT91C_AIC_ICCR=1<<AT91C_ID_SYS;
Если прерывание сконфигурировано для работы по уровню, то эта строчка не имеет смысла; если по фронту - это готовый источник проблем.
А, да, это атавизм. Спасибо, уберу.