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

 
 
> ARM926E-S, TCM, remap
toweroff
сообщение Jun 3 2013, 14:25
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Добрый день!
Что-то я совсем запутался.
Объясните, пожалуйста, "на пальцах" - как это все происходит.
Смаппировать область не проблема, есть специально выделенный регистр. Но как тогда быть с TCM и векторами прерываний?
Я пытаюсь включить TCM, переношу вектора в RAM, маппирую RAM в регион 0... и улетаю черт-те знает куда
Можно, конечно, мапировать RAM за пределами области TCM, но как быть с векторами?
Получается, что из-за конфликта ремапа и TCM памяти у меня все крашится (?)

UPD
Читать, читать и читать...
Магическое слово - бит V в Control Register of System Control Coprocessor

Продолжаем упражнения sad.gif

Из описания CP15 c1 Control Register
Цитата
Exception vector location bit:
1 = vector address range is 0xFFFF0000 to 0xFFFF001C
0 = vector address range is 0x00000000 to 0x0000001C.


Все бы хорошо, но при попытке записать вектора в область 0xFFFF0000, проц вообще впадает в ступор, отладчик просто отваливается с матюками
Вот что из UM:
Цитата
The ARM968E-S processor has its exception vectors located at address logic 0. Since
flash is the only non-volatile memory available in the LPC29xx, the exception vectors in
the flash must be located at address logic 0 at reset (AHB_RST).


After booting a choice must be made for region 0. When enabled, the Tightly Coupled
Memories (TCMs) occupy fixed address locations in region 0


то есть приходим к тому же самому. Как включить TCM и при этом сохранить вектора также с адреса 0?
Не понимаю, хоть тресни sad.gif
Go to the top of the page
 
+Quote Post



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

 


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


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