器件型号: TMS570LC4357-TMS570LC4357 EP
您好:
我正在使用引导加载程序处理一个应用程序。 我希望能够在应用上运行调试器、而无需担心引导加载程序。 我将引导加载程序刷写到应用程序启动地址 0x00040000 之前的各个段中、并得到.cmd 链接器文件、如下所示。
在 CCS 中、我在调试闪存设置中为闪存取消了扇区 0-7、并启用了其他扇区。 引导加载程序工程刷写扇区 0-7、可以进行调试。 但是、我无法调试应用、似乎已经刷写、但调试器会立即暂停在地址 0x00000004(未定义符号)的执行。 是否有办法使用 CCS 在我的应用上直接运行调试器?
--retain="*(.intvecs)"
--retain="*(.app_version)"
/*----------------------------------------------------------------------------*/
/* Memory Map */
MEMORY
{
// Flash or ECC is typically written on 8-byte boundaries, so keep everything aligned to 8-byte boundaries
APP_VECTORS (X) : origin=0x00040000 length=0x00000020 fill=0xffffffff
APP_VER (RX) : origin=0x00040020 length=0x00000020 vfill=0xffffffff
APP_FLASH (RX) : origin=0x00040040 length=0x001AFFB0 vfill=0xffffffff
FLASH1 (RX) : origin=0x00200000 length=0x00200000 vfill=0xffffffff
STACKS (RW) : origin=0x08000000 length=0x00001500
RAM (RW) : origin=0x08001500 length=0x00076B00
RAM_EXE (RWX) : origin=0x08078000 length=0x00004000
SHAREDRAM (RW) : origin=0x0807C000 length=0x00004000
/* Bank 0 ECC */
ECC_VEC (R) : origin=(0xf0400000 + (start(APP_VECTORS) >> 3))
length=(size(APP_VECTORS) >> 3)
ECC={algorithm=algoL2R5F021, input_range=APP_VECTORS}
ECC_APP_VER (R) : origin=(0xf0400000 + (start(APP_VER) >> 3))
length=(size(APP_VER) >> 3)
ECC={algorithm=algoL2R5F021, input_range=APP_VER }
ECC_APP_FLA (R) : origin=(0xf0400000 + (start(APP_FLASH) >> 3))
length=(size(APP_FLASH) >> 3)
ECC={algorithm=algoL2R5F021, input_range=APP_FLASH }
/* Bank 1 ECC */
ECC_FLA1 (R) : origin=(0xf0400000 + (start(FLASH1) >> 3))
length=(size(FLASH1) >> 3)
ECC={algorithm=algoL2R5F021, input_range=FLASH1 }
}
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
.intvecs : {} palign(8) > APP_VECTORS
.app_version : {} palign(8) > APP_VER
.sharedRAM : {} palign(8) > SHAREDRAM
.text : {} palign(8) > APP_FLASH
.const : {} palign(8) > APP_FLASH
.cinit : {} palign(8) > APP_FLASH
.pinit : {} palign(8) > APP_FLASH
.stack : {} > STACKS
.bss : {} > RAM
.data : {} > RAM
.sysmem : {} > RAM
.stflash_SRAM :
LOAD = APP_FLASH,
RUN = RAM_EXE,
LOAD_START(flashSTLoadStart),
LOAD_SIZE(flashSTSize),
RUN_START(flashSTStartAddr), ALIGN(8)
}
/*----------------------------------------------------------------------------*/
/* Misc */
ECC {
algoL2R5F021 : address_mask = 0xfffffff8 /* Address Bits 31:3 */
hamming_mask = R4 /* Use R4/R5 build in Mask */
parity_mask = 0x0c /* Set which ECC bits are Even and Odd parity */
mirroring = F021 /* RM57Lx and TMS570LCx are build in F021 */
}
/*----------------------------------------------------------------------------*/
