This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RM57L843:复位向量移动到0x00000000位置

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1017358/rm57l843-reset-vector-is-moving-to-0x00000000-location

器件型号:RM57L843

您好!

我将 RM57组0用于引导加载程序、将组1用于主应用程序。

我的引导加载程序的链接器命令设置:

MEMORY
{
    VECTORS    (X)   : origin=0x00000000 length=0x00000020

    FLASH0     (RX)  : origin=0x00000020 length=0x001fffe0

       FLASH1     (RX)  : origin=0x00200000 length=0x00200000

    STACKS       (RW)  : origin=0x08000000 length=0x00001500
    RAM          (RW)  : origin=0x08001500 length=0x0007eb00
}
SECTIONS
{
   .intvecs : {} > VECTORS
   .text  > FLASH0
   .const > FLASH0
   .cinit > FLASH0
   .pinit > FLASH0
   .bss   > RAM
   .data  > RAM
   .sysmem  > RAM
}

我的主应用程序的链接器命令设置:

MEMORY
{
    VECTORS    (X)   : origin=0x00200000 length=0x00000020

    FLASH1     (RX)  : origin=0x00200020 length=0x001fffe0

    STACKS       (RW)  : origin=0x08000000 length=0x00001500
    RAM          (RW)  : origin=0x08001500 length=0x0007eb00
}
SECTIONS
{
   .intvecs : {} > VECTORS
   .text  > FLASH1
   .const > FLASH1
   .cinit > FLASH1
   .pinit > FLASH1
   .bss   > RAM
   .data  > RAM
   .sysmem  > RAM
}

问题:当我对主应用程序代码进行编程和调试时,它工作正常,从0x00200000执行,但在调试期间,如果我执行了系统复位,它指向地址0x00000000,显示未定义的条目并在那里停止。

如果我需要做其他更改,请向我提出建议。 或以上任何错误

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    每当内核复位时、ARM Cortex-R5F 处理器内核就从0x00000000的复位向量地址开始执行。