你好,我最近在调试28388的M4核,程序从flash启动,目前CpuTimer,UART及其中断都已经调试完成了,都没有问题。现在在调MCAN模块,在调试好的程序基础上添加了C2000提供的MCAN模块例程,单步执行,运行到函数CM_init();// Initialize device clock and peripherals时,进入函数就会报Break at address "0x41c4" with no debug information available, or outside of program code.1,程序一直停留在CM_init()函数的“{”处,请问是什么导致的,谢谢。
一下是我的cmd文件
MEMORY
{
/* Flash sectors */
CMBANK0_RESETISR : origin = 0x00200000, length = 0x00000008 /* Boot to Flash Entry Point */
/*CMBANK0_SECTOR0 : origin = 0x00200008, length = 0x00003FF8
CMBANK0_SECTOR1 : origin = 0x00204000, length = 0x00004000
CMBANK0_SECTOR2 : origin = 0x00208000, length = 0x00004000
CMBANK0_SECTOR3 : origin = 0x0020C000, length = 0x00004000
CMBANK0_SECTOR4 : origin = 0x00210000, length = 0x00010000
CMBANK0_SECTOR5 : origin = 0x00220000, length = 0x00010000
CMBANK0_SECTOR6 : origin = 0x00230000, length = 0x00010000
CMBANK0_SECTOR7 : origin = 0x00240000, length = 0x00010000
CMBANK0_SECTOR8 : origin = 0x00250000, length = 0x00010000
CMBANK0_SECTOR9 : origin = 0x00260000, length = 0x00010000
CMBANK0_SECTOR10 : origin = 0x00270000, length = 0x00004000
CMBANK0_SECTOR11 : origin = 0x00274000, length = 0x00004000
CMBANK0_SECTOR12 : origin = 0x00278000, length = 0x00004000*/
FLASH_CM : origin = 0x00200008, length = 0x0007BFF8
//CMBANK0_SECTOR13 : origin = 0x0027C000, length = 0x00004000
ParaRom : origin = 0x0027C000, length = 0x00004000
{
/* Flash sectors */
CMBANK0_RESETISR : origin = 0x00200000, length = 0x00000008 /* Boot to Flash Entry Point */
/*CMBANK0_SECTOR0 : origin = 0x00200008, length = 0x00003FF8
CMBANK0_SECTOR1 : origin = 0x00204000, length = 0x00004000
CMBANK0_SECTOR2 : origin = 0x00208000, length = 0x00004000
CMBANK0_SECTOR3 : origin = 0x0020C000, length = 0x00004000
CMBANK0_SECTOR4 : origin = 0x00210000, length = 0x00010000
CMBANK0_SECTOR5 : origin = 0x00220000, length = 0x00010000
CMBANK0_SECTOR6 : origin = 0x00230000, length = 0x00010000
CMBANK0_SECTOR7 : origin = 0x00240000, length = 0x00010000
CMBANK0_SECTOR8 : origin = 0x00250000, length = 0x00010000
CMBANK0_SECTOR9 : origin = 0x00260000, length = 0x00010000
CMBANK0_SECTOR10 : origin = 0x00270000, length = 0x00004000
CMBANK0_SECTOR11 : origin = 0x00274000, length = 0x00004000
CMBANK0_SECTOR12 : origin = 0x00278000, length = 0x00004000*/
FLASH_CM : origin = 0x00200008, length = 0x0007BFF8
//CMBANK0_SECTOR13 : origin = 0x0027C000, length = 0x00004000
ParaRom : origin = 0x0027C000, length = 0x00004000
/*C1RAM : origin = 0x1FFFC000, length = 0x00002000
C0RAM : origin = 0x1FFFE000, length = 0x00002000*/
CRAM : origin = 0x1FFFC000, length = 0x00004000
C0RAM : origin = 0x1FFFE000, length = 0x00002000*/
CRAM : origin = 0x1FFFC000, length = 0x00004000
BOOT_RSVD : origin = 0x20000000, length = 0x00000800 /* Part of S0, BOOT rom will use this for stack */
/*S0RAM : origin = 0x20000800, length = 0x00003800
S1RAM : origin = 0x20004000, length = 0x00004000
S2RAM : origin = 0x20008000, length = 0x00004000
S3RAM : origin = 0x2000C000, length = 0x00004000
E0RAM : origin = 0x20010000, length = 0x00004000*/
SERAM : origin = 0x20000800, length = 0x00013800
/*S0RAM : origin = 0x20000800, length = 0x00003800
S1RAM : origin = 0x20004000, length = 0x00004000
S2RAM : origin = 0x20008000, length = 0x00004000
S3RAM : origin = 0x2000C000, length = 0x00004000
E0RAM : origin = 0x20010000, length = 0x00004000*/
SERAM : origin = 0x20000800, length = 0x00013800
CPU1TOCMMSGRAM0 : origin = 0x20080000, length = 0x00000800
CPU1TOCMMSGRAM1 : origin = 0x20080800, length = 0x00000800
CPU1TOCMMSGRAM1 : origin = 0x20080800, length = 0x00000800
CMTOCPU1MSGRAM0 : origin = 0x20082000, length = 0x00000800
CMTOCPU1MSGRAM1 : origin = 0x20082800, length = 0x00000800
CMTOCPU1MSGRAM1 : origin = 0x20082800, length = 0x00000800
CPU2TOCMMSGRAM0 : origin = 0x20084000, length = 0x00000800
CPU2TOCMMSGRAM1 : origin = 0x20084800, length = 0x00000800
CPU2TOCMMSGRAM1 : origin = 0x20084800, length = 0x00000800
CMTOCPU2MSGRAM0 : origin = 0x20086000, length = 0x00000800
CMTOCPU2MSGRAM1 : origin = 0x20086800, length = 0x00000800
}
CMTOCPU2MSGRAM1 : origin = 0x20086800, length = 0x00000800
}
SECTIONS
{
.resetisr : > CMBANK0_RESETISR
.vftable : > FLASH_CM /* Application placed vector table in Flash*/
.vtable : > SERAM /* Application placed vector table in RAM*/
.text : >> FLASH_CM
.cinit : > FLASH_CM
.pinit : >> FLASH_CM
.switch : >> FLASH_CM
.sysmem : > SERAM
{
.resetisr : > CMBANK0_RESETISR
.vftable : > FLASH_CM /* Application placed vector table in Flash*/
.vtable : > SERAM /* Application placed vector table in RAM*/
.text : >> FLASH_CM
.cinit : > FLASH_CM
.pinit : >> FLASH_CM
.switch : >> FLASH_CM
.sysmem : > SERAM
.stack : > CRAM
.ebss : > CRAM
.econst : >> FLASH_CM
.esysmem : > CRAM
.data : > SERAM
.bss : > SERAM
.const : >> FLASH_CM
.ebss : > CRAM
.econst : >> FLASH_CM
.esysmem : > CRAM
.data : > SERAM
.bss : > SERAM
.const : >> FLASH_CM
MSGRAM_CM_TO_CPU1 : > CMTOCPU1MSGRAM0, type=NOINIT
MSGRAM_CM_TO_CPU2 : > CMTOCPU2MSGRAM0, type=NOINIT
MSGRAM_CPU1_TO_CM : > CPU1TOCMMSGRAM0, type=NOINIT
MSGRAM_CPU2_TO_CM : > CPU2TOCMMSGRAM0, type=NOINIT
MSGRAM_CM_TO_CPU2 : > CMTOCPU2MSGRAM0, type=NOINIT
MSGRAM_CPU1_TO_CM : > CPU1TOCMMSGRAM0, type=NOINIT
MSGRAM_CPU2_TO_CM : > CPU2TOCMMSGRAM0, type=NOINIT
.TI.ramfunc : LOAD = FLASH_CM,
RUN = CRAM,
LOAD_START(TiRamfuncsLoadStart),
LOAD_SIZE(TiRamfuncsLoadSize),
LOAD_END(TiRamfuncsLoadEnd),
RUN_START(TiRamfuncsRunStart),
RUN_SIZE(TiRamfuncsRunSize),
RUN_END(TiRamfuncsRunEnd),
ALIGN(8)
RUN = CRAM,
LOAD_START(TiRamfuncsLoadStart),
LOAD_SIZE(TiRamfuncsLoadSize),
LOAD_END(TiRamfuncsLoadEnd),
RUN_START(TiRamfuncsRunStart),
RUN_SIZE(TiRamfuncsRunSize),
RUN_END(TiRamfuncsRunEnd),
ALIGN(8)
ramfuncs : {} LOAD = FLASH_CM,
RUN = SERAM,
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(RamfuncsRunEnd),
ALIGN(8)
RUN = SERAM,
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(RamfuncsRunEnd),
ALIGN(8)
}
/*
//===========================================================================
// End of file.
//===========================================================================
*/
//===========================================================================
// End of file.
//===========================================================================
*/