А я вот таким способом запускаю в STM32F4 (правда не в ОЗУ, я для бутлодыря использую). Это для кейла (ну, наверное, для других компиляторов будет примерно также, таблица прерываний же одинакова для данного семейства процессоров). B sct файле для загружаемого кода указываю адрес размещения начиная с 0x08004000, для ОЗУ будет другой.
PHP код:
|
// это адрес новой таблицы прерываний #define MainStartArea 0x08004000
//jump to new vector table
__ASM void boot_jump(dword address){ LDR SP, [R0] ;Load new stack pointer address LDR PC, [R0, #4] ;Load new program counter address }
void ExitToMain(void){ SCB-›VTOR=MainStartArea; boot_jump(MainStartArea); }
|
P.S. Это я подсмотрел где-то. По моему, в кейловском примере каком-то