У меня (и не только у меня) проблема, что в случайные моменты времени в процессе отладки в IAR 4.41A с SAM-ICE перестают срабатывать прерывания. Я понимаю, что эта тема уже поднималась, но я так и непонял из-за чего это происходит. Первые рекомендуют переключиться на Adaptive Clock, вторые повысить частоту общения с JTAG отладчиком, третьи предлагают сбрасывать прерывания в startupe: for (int j=0; j<8; j++) AT91C_BASE_AIC->AIC_EOICR = 0; (поскольку стек прерываний 8-уровневый) А в конце обработчика ставится AT91C_BASE_AIC->AIC_EOICR = 0;
Четвертые говорят, что дело в каких-то конфигурационных файлах IAR (в каких правда не указывают).
Я все это пробовал - не помогает. Причем все может идти нормально, но в какой-то момент прерывания перестают вызываться и все. Не помогает даже перезагрузка всего. Потом также внезапно все может восстановиться. В каких-то случаях нахожу такое распределение строчек в программе, что все работает без сбоев, но стоит добавить строчку (совершенно к прерываниям не относящуюся), как все может опять начать слетать.
Народ, кто-нибудь поборол эту проблему? Поделитесь.
|