|
Вопросы по созданию своего загрузчика для LPC17xx |
|
|
|
Sep 3 2011, 21:42
|
Местный
  
Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686

|
Всем доброго времени суток. Адаптирую загрузчик с LPC2xxx на LPC176x. Копался в мануалах, столкнулся с тем, что у кортекса таблица векторов прерываний гораздо больше, чем у arm7. Как я понял, она может занимать максимум 1КБ против 64 байт у arm7. Для предыдущих проектов использовалась программа шифрования прошивки, которая знала расположение спецтаблицы, находящейся по определённому адресу сразу следом за таблицей векторов. Получается, теперь необходимо или ремапить таблицу векторов в кортексе для сохранения совместимости с софтом верхнего уровня, либо переписывать этот софт? Можно ли занимать адреса, скажем, 0x40...0x100 объявлением массива через __root const? И ещё, в каком документе от ARM описан участок памяти 0x0000 - 0x0400? В DDI0337H_cortex_m3_r2p0_trm.pdf нет. Просто code и всё. Кто может подсказать, что и где там обычно расположено? Компилятор - IAR.
|
|
|
|
|
 |
Ответов
|
Sep 6 2011, 14:34
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Я для IAR такой код перехода в программу поставил Код VTOR = (unsigned)__section_begin(".intvect"); asm ("ldm r1, {r0,r1}\n" "mov r13, r0\n" "mov r15, r1"); while(1); Здесь при оптимизации и записи в VTOR, нужная константа уже будет в r1 (можно по листингу проверить) осталось только стек и точку входа считать... в конце while(1) стоит для оптимизатора.
|
|
|
|
|
Sep 7 2011, 04:52
|
Местный
  
Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686

|
Цитата(KRS @ Sep 6 2011, 18:34)  Я для IAR такой код перехода в программу поставил... Очень элегантно! Спасибо! По коду всё понял. Не поделитесь заодно полным описанием набора инструкций для Cortex-M3? Что-то я у ARM на сайте не нашёл pdf-ника нормального.
|
|
|
|
Сообщений в этой теме
Altemir Вопросы по созданию своего загрузчика для LPC17xx Sep 3 2011, 21:42 gladov Цитата(Altemir @ Sep 4 2011, 01:42) Всем ... Sep 5 2011, 04:10 Altemir Цитата(gladov @ Sep 5 2011, 08:10) Да, пр... Sep 5 2011, 05:09  gladov Цитата(Altemir @ Sep 5 2011, 09:09) Да, к... Sep 5 2011, 05:22 Altemir Попробовал сделать ремап векторов прерываний. Не з... Sep 5 2011, 09:38 Altemir И ещё. Почему при указании в *.icf файле строки, н... Sep 5 2011, 11:38 gladov Цитата(Altemir @ Sep 5 2011, 15:38) P.P.S... Sep 6 2011, 03:58  Altemir Цитата(gladov @ Sep 6 2011, 07:58) А можн... Sep 6 2011, 04:59 Alechek От сабя скажу следующее:
Я тоже вначале был немног... Sep 6 2011, 07:00 Altemir Цитата(Alechek @ Sep 6 2011, 11:00) В ито... Sep 6 2011, 09:53 Altemir KRS
Отлично! Ещё раз - благодарю. Sep 7 2011, 11:18 Vitaliy_ARM Пишу спец загрузчик и как раз столкнулся с тем, чт... Sep 16 2011, 12:22  KRS Цитата(Vitaliy_ARM @ Sep 16 2011, 16:22) ... Sep 16 2011, 13:10   Alechek Цитата(KRS @ Sep 16 2011, 19:10) но принц... Sep 19 2011, 04:50    KRS Цитата(Alechek @ Sep 19 2011, 08:50) Глав... Sep 19 2011, 20:39 Alechek Область то тоже должна быть выровнена, причем байт... Sep 20 2011, 06:12
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|