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

Из описания
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?
Не понимаю, хоть тресни