TMS320F28035: bootloader 将bin文件写入flash,跳转APP失败

Part Number: TMS320F28035

我用bootloader接收完程序后,进入跳转APP始地址后,bootloader程序会复位,重新进入引导程序,这是为什么?这是我CMD文件编写有问题吗?始地址为0x3e8100; APP的begin 为0x3e8100

  • 您好, 已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • 您好,

    始地址为0x3e8100; APP的begin 为0x3e8100

    是同一个地址吗?请重新说明一下。

    关于程序无法运行,请检查BootLoader是否正确地进行擦除并烧写了,另一个是APP程序本身能否正常运行?

  • APP程序单独可以刷进去,BootLoader读取0x3e8100地址写进去了,程序和校验也过了。您看看我的两个CMD有什么问题吗?

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    BootLoaderode code
    MEMORY
    {
    PAGE 0 :
    BEGIN : origin = 0x3F7FF6, length = 0x000002 /* BOOT = 0x33FFF6APP = _APP_HEAD */
    SECT_POG : origin = 0x3F0000, length = 0x007F80
    SECT_RFUN : origin = 0x008000, length = 0x000800 /* 0x010000 - SECT_RAM */
    CSM_RSVD : origin = 0x3F7F80, length = 0x000076
    CSM_PWL : origin = 0x3F7FF8, length = 0x000008
    OTP : origin = 0x3D7800, length = 0x000400
    RESET : origin = 0x3FFFC0, length = 0x000002
    IQTABLES : origin = 0x3FE000, length = 0x000b50
    IQTABLES2 : origin = 0x3FEB50, length = 0x00008c
    BOOTROM : origin = 0x3FF27C, length = 0x000D44
    VECTORS : origin = 0x3FFFC2, length = 0x00003E
    PAGE 1 :
    BOOT_RSVD : origin = 0x000002, length = 0x00004E
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    APP CODE
    MEMORY
    {
    PAGE 0 :
    BEGIN : origin = 0x3E8100, length = 0x000002 /* APP = _APP_HEAD */
    /* BEGIN : origin = 0x33FFF6, length = 0x000002 /* BOOT */
    SECT_POG : origin = 0x3E8102, length = 0x006EFE
    SECT_RFUN : origin = 0x009000, length = 0x000800 /* 0x010000 - SECT_RAM */
    CSM_RSVD : origin = 0x3F7F80, length = 0x000076
    CSM_PWL : origin = 0x3F7FF8, length = 0x000008
    OTP : origin = 0x3D7800, length = 0x000400
    RESET : origin = 0x3FFFC0, length = 0x000002
    IQTABLES : origin = 0x3FE000, length = 0x000b50
    BOOTROM : origin = 0x3FF27C, length = 0x000D44
    VECTORS : origin = 0x3FFFC2, length = 0x00003E
    PAGE 1 :
    BOOT_RSVD : origin = 0x000002, length = 0x00004E
    RAM_STACK : origin = 0x000050, length = 0x0007B0 /* M0M1 */
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 我 bootloader  Flash代码

    MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
    InitFlash();
    MemCopy(&Flash28_API_LoadStart, &Flash28_API_LoadEnd, &Flash28_API_RunStart);

    APP Flash 代码

    memcpy((uint16_t *)&RamfuncsRunStart,(uint16_t *)&RamfuncsLoadStart, (unsigned long)&RamfuncsLoadSize);


    InitFlash();