|
|
  |
Пропадание прерываний при отладке через J-Link, sam7... |
|
|
|
Dec 12 2006, 12:07
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Dron_Gus @ Dec 11 2006, 22:47)  Цитата(zltigo @ Dec 11 2006, 23:43)  Вы же видели при поиске, что наступали  только осмысленного решения не нашлось. При каких условиях у меня пропал "эффект" я писал. В том то и дело что все читал. Но уже не найти где именно. Если не сложно в двух словах повторите... В той же ветке, на которую дал ссылку zltigo мое понимание ситуации. На данный момент это вылилось в такую добавку к .maс: Код execUserReset() {
...............
Reset_AIC();
__message "-------------------------------Set PC Reset ----------------------------------"; __writeMemory32(0x00000000,0xB4,"Register"); }
var i; Reset_AIC() { // AIC __writeMemory32(FFFFFFFF, 0xFFFFF124,"Memory"); // IDCR, disable ints
for (i = 0; i < 32; i++) { __writeMemory32(0, 0xFFFFF000 + * 4,"Memory"); // SMR[0..31] __writeMemory32(0, 0xFFFFF080 + * 4,"Memory"); // SVR[0..31] }
for (i = 0; i < 8; i++) { __readMemory32(0xFFFFF100,"Memory"); // IVR, __writeMemory32(0, 0xFFFFF130,"Memory"); // EOICR, reset priority controller logic } } не скажу, что работает идеально, но существенно помогает. и конечно AT91C_BASE_AIC->AIC_EOICR = 0 в __low_level_init(); после инициализации контроллера (шаманство, но помогает).
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Dec 12 2006, 12:27
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Сергей Борщ @ Dec 12 2006, 11:07)  не скажу, что работает идеально, но существенно помогает. и конечно AT91C_BASE_AIC->AIC_EOICR = 0 в __low_level_init(); после инициализации контроллера (шаманство, но помогает). Мне подобные пляски на LPC2xxx не помогли никак, при этом DASM (есто еще одна веточка на форуме "про прерывания" ) утверждал, что у него на AT91 вообще никаких проблем. Вот такие дела  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 12 2006, 19:02
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861

|
Цитата(Сергей Борщ @ Dec 12 2006, 12:07)  В той же ветке, на которую дал ссылку zltigo мое понимание ситуации. На данный момент это вылилось в такую добавку к .maс: ...
не скажу, что работает идеально, но существенно помогает. и конечно AT91C_BASE_AIC->AIC_EOICR = 0 в __low_level_init(); после инициализации контроллера (шаманство, но помогает). Заранее дико извиняюсь за лишние вопросы. *.mac файлы - они для IAR'а? Я же работаю в keil'e и мне не найти функцию, которая вызывается при нажатии кнопки Reset в дебагере. Цитата(zltigo @ Dec 12 2006, 12:27)  Мне подобные пляски на LPC2xxx не помогли никак, при этом DASM (есто еще одна веточка на форуме "про прерывания" ) утверждал, что у него на AT91 вообще никаких проблем. Вот такие дела  . Да, я с ним уже успел поговорить. Он был весьма удивлен моими проблемами. Посоветовал пообщаться с Вами.
--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|