Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не хочет работать прерывание на lpc2138
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
CrazyAlex
Нажмите для просмотра прикрепленного файлаПлата olimex H2138, софт Rowley CrossStudio 1.6 build 3, использую wiggler или mt-link.

Проект изначально взят с 2214. на нем работал. Проверил настройки, вроде все соответствует 2138.
Пытаюсь запустить на 2138 - вылетаю в dabort_handler или в irq_handler или в reset_wait

Выглядит это примерно так.

Ставлю точку останова в прервании таймера, тогда при отладке по шагам ходит по кругу:
-> прерывание
//((CTL_ISR_FN_t)VICVectAddr)();
ldr r4, =0xFFFFF030
ldr r3, [r4]
mov lr, pc
bx r3
-> прерывание

Если точку останова убираю, запускаю, приостанавливаю - стоит на dabort_handler

Гляньте, кому не сложно, плиз. Подскажите где я не прав. Или приветствуется работающий пример...
Andy Mozzhevilov
Цитата(CrazyAlex @ Oct 6 2006, 16:47) *
Нажмите для просмотра прикрепленного файлаПлата olimex H2138, софт Rowley CrossStudio 1.6 build 3, использую wiggler или mt-link.

Проект изначально взят с 2214. на нем работал. Проверил настройки, вроде все соответствует 2138.
Пытаюсь запустить на 2138 - вылетаю в dabort_handler или в irq_handler или в reset_wait

Выглядит это примерно так.

Ставлю точку останова в прервании таймера, тогда при отладке по шагам ходит по кругу:
-> прерывание
//((CTL_ISR_FN_t)VICVectAddr)();
ldr r4, =0xFFFFF030
ldr r3, [r4]
mov lr, pc
bx r3
-> прерывание

Если точку останова убираю, запускаю, приостанавливаю - стоит на dabort_handler

Гляньте, кому не сложно, плиз. Подскажите где я не прав. Или приветствуется работающий пример...


Если попали в abort, то по регистру LR этого режима исключения смотрите, откуда конкртено вы
туда попали. Идите туда и смотрите что там происходит.
Также почитайте этот мой пост:
http://electronix.ru/forum/index.php?showtopic=20923
CrazyAlex
Спасибо за помощь. Натолкнула на мысль фраза о повторных граблях.
Уже было такое очень давно, поэтому забыл.

В разделе настроек препроцессора нужно было добавить VECTORED_IRQ_INTERRUPTS.

Блин!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.