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

 
 
> Вопросы по созданию своего загрузчика для LPC17xx
Altemir
сообщение Sep 3 2011, 21:42
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Altemir
сообщение Sep 5 2011, 09:38
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 2-05-06
Из: Россия, Поволжье
Пользователь №: 16 686



Попробовал сделать ремап векторов прерываний. Не заводится проц (или не выходит из NXP-шного загрузчика?). sad.gif Что ещё не так мог сделать? Вроде всё просто должно быть.

В коде написал:
Код
VTOR  = 0x400;


В *.icf файле:
CODE
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x00000400;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0003FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x10000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x10007FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
define symbol __ICFEDIT_size_heap__ = 0x800;
/**** End of ICF editor section. ###ICF###*/


define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];

define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };

initialize by copy { readwrite };
//initialize by copy with packing = none { section __DLIB_PERTHREAD }; // Required in a multi-threaded application
do not initialize { section .noinit };

place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };

place in ROM_region { readonly };
place in RAM_region { readwrite,
block CSTACK, block HEAP };
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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   И ещё. Почему при указании в *.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
- - KRS   Я для IAR такой код перехода в программу поставил ...   Sep 6 2011, 14:34
|- - Altemir   Цитата(KRS @ Sep 6 2011, 18:34) Я для IAR...   Sep 7 2011, 04:52
|- - KRS   Цитата(Altemir @ Sep 7 2011, 08:52) Не по...   Sep 7 2011, 10:34
- - 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


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

 


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


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