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

 
 
> BootLoader для FreeRTOS, sam7x256
vladik
сообщение Jul 5 2010, 14:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 18-05-06
Пользователь №: 17 226



Здравствуйте.

Использую FreeRTOS v6.0.4, проект uIP_Demo, среда IAR. При обычных настройках icf файла проект само собой работает. Бутлодер располагается в начале флешки, основная программа (на базе FreeRTOS) - со смещением 0x2000. В файле at91SAM7X256_FLASH.icf меняю:
define symbol __ICFEDIT_intvec_start__ = 0x00100000;
define symbol __ICFEDIT_region_ROM_start__ = 0x00100040;
на
define symbol __ICFEDIT_intvec_start__ = 0x00102000;
define symbol __ICFEDIT_region_ROM_start__ = 0x00102040;

после запуска шедуллера программа сваливается. Подозреваю что нужно подправить Cstartup.s, помогите разобраться где подправить. Заранее благодарен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vladik
сообщение Jul 6 2010, 07:38
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 18-05-06
Пользователь №: 17 226



Действительно, улетал в никуда при вызове asm( "SWI 0" ). Правильно ли я понимаю, что при возникновении SWI процессор принудительно переходит на абсолютный адрес 0x8, вне зависимости от того, было ли в icf файле смещение DROMSTART или нет?
Теперь пробую лечить это по первому варианту. В основной программе при переходе на вектор по адресу 0x08, в PC загружался адрес обработчика из ячейки со смещением +24. Соответственно в бутлодере пытаюсь прыгнуть на 0x2000 вперед (в сумме получается 8192+24 = 8216), написал для SWI:

SWI_Handler_Entry:
ldr pc , [pc, #+8216]

после этого не компилится бутлодер, т.к выходит за пределы DROMEND

А как обстоят дела с другими обработчиками (Reset, IRQ, FIQ), неужели тоже придется каждый раз прыгать за пределы бутлодера?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 09:04
Рейтинг@Mail.ru


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