1

每个在我的项目应用程序中,正在从外部 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 或任何其他地方。

提前致谢。

4

0 回答 0