位于 Bank0中的 Btld 和位于 Bank1中的应用程序。
从 btld 切换到应用程序可以正常工作、但进入应用程序时"create_rtos_tasks"->"MPU_xTaskCreation"->
basetype_t prvRaisePrivilege (void)
{
寄存器 BaseType_t return_value asm ("r0");
asm (" swi 1 ");
返回 return_value;
}
它跳至0x00000008、这是 bltd 的位置、而不是应用程序的位置。
在 hL_sys_link.ld 应用程序中、设置为:
"
Vectors (Rx) :origin = 0x00200100,length = 0x00000020
内核(Rx) :origin = 0x00200120,length = 0x00008000
闪 存(Rx) :origin = 0x00208120、length =(0x001F7EE0 + 0x00200000)
…
"
只需提到没有 FreeRTOS 的应用程序工作正常(在启动时使用 vimInit)
发现了这一点、但没有答案: