每个在我的项目应用程序中,正在从外部 ddr3 内存(arm cortex-M3)执行 FreeRtos。执行到 VportstartFirstTask() 的代码,在此函数代码未运行之后。下面是我们在应用程序中使用的 VportstartFirsttask。
void vPortStartFirstTask(void)
{
/ Use the NVIC offset register to locate the stack. /
__asm volatile(ldr r0, =0xE000ED08
ldr r0, [r0]
ldr r0, [r0]
/ Set the msp back to the start of the stack. /
msr msp, r0
/ Call SVC to start the first task. /
cpsie i
svc 0
nop
)
}`
如果我使用其他链接器文件运行相同的项目,它工作正常。它从 Onchip 内存运行,它工作正常。
当我从外部存储器运行时,我面临一个问题。
谁能帮助我如何将向量表重新定位到 SRAM 或任何其他地方。
提前致谢。