реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Не хочет работать прерывание на lpc2138, вываливается в dabort_handler
CrazyAlex
сообщение Oct 6 2006, 10:47
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 57
Регистрация: 11-01-05
Из: Пермь
Пользователь №: 1 881



Прикрепленный файл  dac.zip ( 12.25 килобайт ) Кол-во скачиваний: 83
Плата 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

Гляньте, кому не сложно, плиз. Подскажите где я не прав. Или приветствуется работающий пример...
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Oct 7 2006, 05:55
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(CrazyAlex @ Oct 6 2006, 16:47) *
Прикрепленный файл  dac.zip ( 12.25 килобайт ) Кол-во скачиваний: 83
Плата 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


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
CrazyAlex
сообщение Oct 7 2006, 11:23
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 57
Регистрация: 11-01-05
Из: Пермь
Пользователь №: 1 881



Спасибо за помощь. Натолкнула на мысль фраза о повторных граблях.
Уже было такое очень давно, поэтому забыл.

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

Блин!!!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 08:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.28279 секунд с 7
ELECTRONIX ©2004-2016