将Vector中断表重新定位到Cortex-M3的SRAM?

时间:2013-10-30 08:31:55

标签: c arm

每个人 在我的项目应用程序中,我正在从外部ddr3内存(arm cortex-M3)执行FreeRtos。 在此功能代码未运行之后,代码执行Upto 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或其他任何地方的问题。

先谢谢。

0 个答案:

没有答案