Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с VIC в LPC2478
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Dog Pawlowa
LPC2478. Третий раз наблюдаю такую фигню при отладке - контроллер висит в прерывании UART, при этом в VICADRESS находится вектор прерывания по таймеру.
Инициализация прерывания таймера:
Код
    T0IR_bit.MR0INT = 1;  // clear pending interrupt
    VIC_SetVectoredIRQ(Timer0IntrHandler,0,VIC_TIMER0);
    VICINTENABLE |= 1UL << VIC_TIMER0;
    T0TCR_bit.CE = 1;     // counting Enable


Инициализация прерывания уарт:
Код
__disable_interrupt();
       VIC_SetVectoredIRQ(UART0Interrupt,1,VIC_UART0);
       VICINTENABLE |= 1UL << VIC_UART0;
    U0IER=1; // receiver only   //      U0IER=2; transmitter only
    __enable_interrupt();


В конце обоих обработчиков VICADDRESS обнуляется, поэтому ситуация, когда в VIC записан один вектор, а контроллер висит в другом прерывании, мне непонятна.
Причем устройства работают днями, отправка в терминал идет по прерываниям, и ничего не сбоит. Эта ситуация наблюдается очень редко, только при старте под JTAGом.
Забить или у меня что-то не то?
aaarrr
В отладчике регистры VIC'а не открыты? А то ему ведь все равно, кто его читает - процессор или дебаггер.
Dog Pawlowa
Цитата(aaarrr @ Mar 19 2009, 18:34) *
В отладчике регистры VIC'а не открыты? А то ему ведь все равно, кто его читает - процессор или дебаггер.

Открыты, не могу понять, куда смотреть sad.gif
Криминала в регистрах не вижу.
Сергей Борщ
Цитата(Dog Pawlowa @ Mar 19 2009, 18:17) *
Открыты, не могу понять, куда смотреть sad.gif
Наоборот, не смотреть. Скорректируйте .ddf, чтобы в окне регистров VIC не отображался VICVectAddr. Вы входите в прерывание, попадаете на точку останова, дебаггер считывает этот регистр чтобы показать вам, и это чтение приводит к записи в VICVectAddr вектора следующего прерывания. А то, которое он вам показал будет потеряно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.