Люди я чето непонимаю.
Итак цель - бутром записывающийся в конец флеш, для бутрома нужны прерывания, для того чтобы его собственная таблица векторов не затиралась приложением нужно также хранить ее в конце флеша, при старте переписывать в RAM и делать remap, при выходе из загрузчика делать remap обратно на флеш.
Так вот как это грамотно сделать в IARе?, кроссворксовский код
Код
mov r8, #0x00200000
ldr r9, =_vectors
ldmia r9!, {r0-r7}
stmia r8!, {r0-r7}
ldmia r9!, {r0-r6}
stmia r8!, {r0-r6}
ldr r0, =MC_RCR_RCB
strb r0, [r10, #MC_RCR_OFFSET]
просто так не проходит. RAMSTART в линкер-скрипте сделал 00200100- пофиг, без команды remap работает с ней беда, до main проц не доходит. Думаю причина в том, что remap как -то не вяжется с инитом компилера? причем посмотреть отладчиком что происходит тоже не очень удается.
Что такое
RSEG INTRAMSTART_REMAP
RSEG INTRAMEND_REMAP
в статртапе? недопонял.
может есть где проект под IAR с ремапом а?
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.