отлаживаю код для работы по прерываниям, инициализирую регистры дальше в основной программе бесконечный цикл. Проблема начилась с того, что прерывание происходит только один раз(AIC_EOICR в обработчике стираю), стал разбираться, оказалось, что после прерывания код улетает не на while (1); а на следующий адрес, т.е. перед прерыванием РС = 0х10116С, а после выхода РС = 0х101170, кстати в соответствии с адресом в регистре R14, что это, баг или руки кривые? Забыл добавить, среда Keil uVision3 компилятор GNU контроллерAT91SAM7X256.
Сообщение отредактировал Понедельник - Oct 12 2007, 10:31
|