|
LPC11xx не стартует код из своего бутлоадера |
|
|
|
Oct 21 2010, 10:42
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593

|
Использую LPC1114. По доке вроде все понятно. Свой бутлоадер код во флеш прописал. для старта делаю следующее: 1. копирую 48 векторов прерывания основной программы в ОЗУ с адреса 0x10000000 2. Делаю ремап LPC_SYSCON->SYSMEMREMAP = 0x01; т.е. отобрашаем вектора из ОЗУ в начало адресного простанства 3. инициализирую SP и PC данными из первых 8-ми байт моей проги. Все это выглядит так: Код __asm void boot_jump( uint32_t address ) { LDR R1, [R0] ;Load new stack pointer address MOV R13, R1 LDR R1, [R0, #4];Load new program counter address BX R1 }
void run(unsigned long address) { unsigned long *dst, size; const unsigned long *src; // Copy vectors table src = (unsigned long *)address; dst = (unsigned long *)0x10000000; size = VECTORS_TABLE_SIZE >> 2; do { *dst++ = *src++; } while (--size);
LPC_SYSCON->SYSMEMREMAP = 0x01; /* remap to SRAM */
boot_jump(address); } В результате поведение непредсказуемое. то висит, то попадает куда-то в середину бутлоадера. Если убрать ремап, то целевая прога запускается, но естественно с векторами из флеша. Что я забываю в этой схеме?
|
|
|
|
|
 |
Ответов
|
Oct 23 2010, 05:02
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 21-09-10
Пользователь №: 59 626

|
Цитата(rezident @ Oct 23 2010, 00:51)  Что я не так делаю?  Все так. Пожалуйста, укажи в каких адресах расположена функция main. (я думаю, в отладчике это будет видно). Мне кажется, что IAR учитывает возможность ремапа и кладет исполняемый код в более старшие адреса. И поэтому все работает. В отличие от lpcxpresso, который размещает исполняемый код сразу после таблицы векторов прерываний (адрес 0xC0), и при ремапе эта область памяти начинает ссылаться на ОЗУ, где лежит мусор. Мне интересно узнать, куда кладет исполняемый код IAR, чтобы подправить у себя линкерный скрипт.
|
|
|
|
Сообщений в этой теме
zuy LPC11xx не стартует код из своего бутлоадера Oct 21 2010, 10:42 Alekseeey У меня та же проблема.
Пробую на отладке LPCXpres... Oct 21 2010, 12:12 zuy Цитата(Alekseeey @ Oct 21 2010, 15:12) Во... Oct 21 2010, 12:52  Alekseeey Цитата(zuy @ Oct 21 2010, 16:52) Если чес... Oct 21 2010, 13:01 DpInRock Вообще-то так и должно быть.
Как правильно (это м... Oct 21 2010, 12:38 DpInRock Reset - это место откуда программа стартует. Как б... Oct 21 2010, 12:58 zuy Цитата(DpInRock @ Oct 21 2010, 15:54) Res... Oct 21 2010, 13:01  Alekseeey Цитата(zuy @ Oct 21 2010, 17:01) Да, это ... Oct 21 2010, 13:41   zuy Цитата(Alekseeey @ Oct 21 2010, 16:41) По... Oct 21 2010, 17:28    zuy Нет, все равно решительно не понимаю, что делает р... Oct 21 2010, 19:14     Alekseeey Цитата(zuy @ Oct 21 2010, 23:14) Нет, все... Oct 21 2010, 20:30      zuy Цитата(Alekseeey @ Oct 21 2010, 23:09) Об... Oct 21 2010, 20:43       Alekseeey Цитата(zuy @ Oct 22 2010, 00:43) Отладчик... Oct 22 2010, 07:00        rezident Цитата(Alekseeey @ Oct 22 2010, 13:00) По... Oct 22 2010, 13:28 DpInRock Понятия не имею. Но для вас вряд ли имеет значение... Oct 21 2010, 13:13 rezident Возникло предположение, что ремапу подвергается Fl... Oct 21 2010, 20:55 zuy Цитата(rezident @ Oct 21 2010, 23:55) Воз... Oct 21 2010, 21:09 rezident Встречный вопрос. А сколько памяти у вас отведено ... Oct 21 2010, 21:48 zuy Цитата(rezident @ Oct 22 2010, 00:48) Вст... Oct 22 2010, 05:17 zuy Цитата(rezident @ Oct 22 2010, 23:51) Сег... Oct 23 2010, 09:18  rezident Цитата(zuy @ Oct 23 2010, 15:18) Поставьт... Oct 23 2010, 20:00 DpInRock За кортекс не скажу, но кроме векторов надо копиро... Oct 23 2010, 08:47 rezident Любопытство победило Со второй попытки создал в K... Oct 24 2010, 01:05 zuy Цитата(rezident @ Oct 24 2010, 04:05) Люб... Oct 24 2010, 15:20  rezident Цитата(zuy @ Oct 24 2010, 21:20) Т.о. на ... Oct 24 2010, 16:17   zuy Цитата(rezident @ Oct 24 2010, 19:17) Люб... Oct 24 2010, 16:56 KRS Тоже столкнулся с проблемой. Но при обычной отладк... Jun 16 2011, 14:20 Almaz1988 Вот код бутлоадера:
CODE#include "LPC11xx.h... Sep 24 2012, 08:46 _Артём_ Цитата(Almaz1988 @ Sep 24 2012, 11:46) Ра... Sep 24 2012, 11:18 Сергей Борщ QUOTE (Almaz1988 @ Sep 24 2012, 11:46) Во... Sep 24 2012, 12:45 _Артём_ Цитата(Almaz1988 @ Sep 24 2012, 11:46) Ра... Sep 24 2012, 15:09 KRS Т.к. у Cortex-M0 нет VTOR и переместить таблицу пр... Sep 24 2012, 11:41 Almaz1988 Наметился небольшой прогресс))
В "загрузчике... Sep 28 2012, 06:22 KRS Цитата(Almaz1988 @ Sep 28 2012, 10:22) Ещ... Sep 28 2012, 07:15 Сергей Борщ QUOTE (Almaz1988 @ Sep 28 2012, 09:22) и ... Sep 28 2012, 07:56 _Артём_ Цитата(Almaz1988 @ Sep 28 2012, 09:22) Ис... Sep 28 2012, 18:55 Almaz1988 Цитата(KRS @ Sep 28 2012, 11:15) Если вы ... Sep 28 2012, 08:10 Сергей Борщ QUOTE (Almaz1988 @ Sep 28 2012, 11:10) Ср... Sep 28 2012, 08:44 KRS Цитата(Almaz1988 @ Sep 28 2012, 12:10) Я ... Sep 28 2012, 10:45 Almaz1988 Цитата(Сергей Борщ @ Sep 28 2012, 12:44) ... Sep 28 2012, 09:06 Сергей Борщ QUOTE (Almaz1988 @ Sep 28 2012, 12:06) Та... Sep 28 2012, 09:26 alx2 Кажется, без ответа остался этот вопрос:
Цитата(Al... Oct 2 2012, 10:16 Almaz1988 Цитата(Сергей Борщ @ Sep 28 2012, 13:26) ... Sep 28 2012, 09:43 Almaz1988 Продолжаю штурм))
и в загрузчике и в рабочей прогр... Oct 1 2012, 11:34 Almaz1988 Продолжаю штурм))
и в загрузчике и в рабочей прогр... Oct 1 2012, 11:36 Almaz1988 Продолжаю штурм))
и в загрузчике и в рабочей прогр... Oct 1 2012, 11:36 Almaz1988 Продолжаю штурм))
и в загрузчике и в рабочей прогр... Oct 1 2012, 11:36 Almaz1988 Продолжаю штурм))
и в загрузчике и в рабочей прогр... Oct 1 2012, 11:38 Almaz1988 Добил бутлоадер)))
В бутлоадере использую только C... Oct 2 2012, 06:09 Сергей Борщ QUOTE (Almaz1988 @ Oct 2 2012, 09:09) Как... Oct 2 2012, 06:31 Almaz1988 Дело близится к завершению))
"Программный за... Oct 5 2012, 10:07 _Артём_ Цитата(Almaz1988 @ Oct 5 2012, 13:07) ... Oct 5 2012, 13:23  igor_mmm Добрый День!
Использую 11с24 и работаю с CAN. ... Oct 6 2012, 19:07   KRS Цитата(igor_mmm @ Oct 6 2012, 23:07) Необ... Oct 6 2012, 20:13    igor_mmm Цитата(KRS @ Oct 7 2012, 00:13) Если в се... Oct 7 2012, 07:29 Almaz1988 Цитата(igor_mmm @ Oct 6 2012, 22:07) Добр... Oct 8 2012, 04:11 igor_mmm Цитата(Almaz1988 @ Oct 8 2012, 08:11) Вот... Oct 9 2012, 03:21 Almaz1988 Вопрос по примеру "NXP secondary bootloader... Oct 8 2012, 06:05 Сергей Борщ QUOTE (Almaz1988 @ Oct 8 2012, 09:05) Как... Oct 8 2012, 06:34 Almaz1988 Цитата(Сергей Борщ @ Oct 8 2012, 09:34) П... Oct 8 2012, 09:28 Сергей Борщ QUOTE (Almaz1988 @ Oct 8 2012, 12:28) Как... Oct 8 2012, 11:02 Almaz1988 В общем осталась последняя проблема.
Есть функция ... Oct 8 2012, 11:45 Сергей Борщ QUOTE (Almaz1988 @ Oct 8 2012, 14:45) Что... Oct 8 2012, 11:57 Almaz1988 Цитата(igor_mmm @ Oct 9 2012, 06:21) а гд... Oct 9 2012, 04:24 igor_mmm Цитата(Almaz1988 @ Oct 9 2012, 08:24) В п... Oct 9 2012, 05:53 Almaz1988 Цитата(Сергей Борщ @ Oct 8 2012, 14:57) Н... Oct 9 2012, 08:34
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|