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

 
 
> LPC2468 + TNKernel + REMAP (iRAM), подвисает после tn_task_sleep(...)
yurmala
сообщение Sep 9 2011, 10:19
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 9-02-11
Из: Трехгорный
Пользователь №: 62 814



Здравствуйте! Может кто подскажет:
Есть написанный бутлоадер (с USB host). Он после обновления запускает User-приложение с адреса 0х4000.
В User-приложении установлены директивы REMAP RAM_MODE RAM_INTVEC SIZE_INT_INFO (исходя из описания в LPC2400.s)
Работает отладка (когда устанавливаю точку останова на 0х4000)
Приложение работает - инициализируется железо, запускается задача (единственная) и эта задача работает, до тех пор пока не появится tn_task_sleep.
А как только появится - эта единственная задача останавливается (очевидно средствами ОС) но сколько бы я не ждал - работу не продолжает.
Если пошагово смотреть, в этом режиме ожидания продолжает работу только tn_idle_task_func(void * par) в котором наматывается счетчик tn_idle_count++;
Вообщем получается что задача не выходит из режима ожидания.
Я понимаю что с моей постановкой (jump с bootloader + REMAP....) может быть что угодно, но интересуют возможные проблемы.
Может кто глубоко вникал в TNKernel и знает - в чем может быть причина.
Если без tn_task_sleep все работает, то я могу быть уверен что переход с бутлоадера произошел корректно, таблица векторов прерываний успешно перенесена во внутренний RAM и занимает там 64 байта. прочая область RAM доступна с адреса 0x40000040. Пошаговая отладка показывает что User-приложение запускается и остается в режиме Supervisor - что и требуется TNKernel.
Но что тогда может быть не так?

Добавлено:

Отбой. Детская ошибка в стартапе. biggrin.gif

irq_handler_address DCD tn_cpu_irq_isr
fiq_handler_address DCD tn_cpu_irq_isr

Сообщение отредактировал yurmala - Sep 9 2011, 10:19
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
DpInRock
сообщение Sep 9 2011, 10:26
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Надо по меньшей мере скопировать вектора в новую область. ОС осталась без векторов.
Обычные вектора-то еще могут напрямую из вика браться, а вот SWI - врядли.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post

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

 


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


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