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.

TMS320F280025: Bootloader和APP程序分区运行,看门狗复位后程序疑似跑飞

Part Number: TMS320F280025

APP收到升级报文想通过看门狗复位,但是复位后程序不知道跑到哪了。
Bootloader分区的代码复位可以正常回到Bootloader。



MEMORY
{
PAGE 0 :
/* BEGIN is used for the "boot to SARAM" bootloader mode */

BEGIN : origin = 0x085000, length = 0x000002
CODE_FLASH : origin = 0x085010, length = 0x009FEC
//RAMM0 : origin = 0x000040, length = 0x0003c0
CODE_RAM : origin = 0x00A000, length = 0x001000

BOOTROM : origin = 0x003F0000, length = 0x00008000
BOOTROM_EXT : origin = 0x003F8000, length = 0x00007FC0

RESET : origin = 0x3FFFC0, length = 0x000002


PAGE 1 :

OS_STACK : origin = 0x000000, length = 0x000400 /* on-chip RAM block M1 */
RAML567 : origin = 0x00B000, length = 0x001000
RAMGS0 : origin = 0x00C000, length = 0x0007FF
}


SECTIONS
{
codestart : > BEGIN, PAGE = 0, ALIGN(4)
.text : > CODE_FLASH, PAGE = 0, ALIGN(4)
.cinit : > CODE_FLASH, PAGE = 0, ALIGN(4)
.switch : > CODE_FLASH, PAGE = 0, ALIGN(4)
.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */

.stack : > RAMGS0, PAGE = 1,ALIGN(4)
.cio : > CODE_FLASH, PAGE = 0, ALIGN(4)

#if defined(__TI_EABI__)
.bss : > RAML567
.bss:output : > RAMGS0
.init_array : > CODE_FLASH, PAGE = 0, ALIGN(4)
.const : > CODE_FLASH, PAGE = 0, ALIGN(4)
.data : > RAMGS0
.sysmem : > RAMGS0
#else
.pinit : > CODE_FLASH, PAGE = 0, ALIGN(4)
.ebss : > RAML567, PAGE = 1
.esysmem : > RAML567, PAGE = 1
.econst : > CODE_FLASH, PAGE = 0, ALIGN(4)
#endif
IQmath : > CODE_FLASH, PAGE = 0, ALIGN(4)
IQmathTables : > CODE_FLASH, PAGE = 0, ALIGN(4)
kernelStack : > OS_STACK, PAGE = 1,ALIGN(4)
databuff : > RAML567, PAGE = 1

// {_wLlcState = 0xb000;}
// {_wPfcState = 0xb000;}


ramfuncs : LOAD = CODE_FLASH,
RUN = CODE_RAM,
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
}

/*
//===========================================================================
// End of file.
//===========================================================================
*/


MEMORY
{
PAGE 0 :
UPGRADE_RAM : origin = 0x00400, length = 0x00400
//OK2FLAG : origin = 0x85004, length = 0x00001 //flash应用程序起点
MAINENTRY : origin = 0x85008, length = 0x00004 //flash应用程序完整时从此处跳转至c_int00再跳转到Main()
//OK1FLAG : origin = 0x8EFFC, length = 0x00001 //flash应用程序终点
BOOTLOADER : origin = 0x8F000, length = 0x00100 //上电后从codestart跳转到此处,判断flash应用程序完整性---不可擦除
UPGRADEENTRY : origin = 0x8F100, length = 0x00100 //烧录接口的入口,烧录命令握手后固定跳转到此处再跳转到UpgradeApp---不可擦除
IADFLASHENTRY: origin = 0x8F200, length = 0x00800 //IapFlash的入口,程应用序不完整时,执行此处与上位机握手,握手ok以后跳转到UPGRADEENTRY,再向UpgradeApp跳转---不可擦除
UPGRADERAPP : origin = 0x8FA00, length = 0x00600 //烧录接口---不可擦除,程序要拷贝到RAM中运行
}


SECTIONS
{
//FlashFlag1 : > OK1FLAG PAGE = 0
//FlashFlag2 : > OK2FLAG PAGE = 0
//BootEntry : > BOOTLOADER PAGE = 0
UpgradeEntry : > UPGRADEENTRY PAGE = 0
IapFlashEntry : > IADFLASHENTRY PAGE = 0
MainEntry : > MAINENTRY PAGE = 0
UpgradeAppRam : LOAD = UPGRADERAPP,
RUN = UPGRADE_RAM,
LOAD_START(UpgradeRam_LoadStart),
LOAD_END(UpgradeRam_LoadEnd),
RUN_START(UpgradeRam_RunStart),
PAGE = 0
}

/*
//===========================================================================
// End of file.
//===========================================================================
*/

以上是APP分区的CMD文件配置,麻烦各位解答了!