TMS570LC4357-EP: Debugging TMS570 device through CCS at different vector addresses

Part Number: TMS570LC4357-EP

Hello,

I am working on an application with a Bootloader. I'd like to be able to run the debugger on the App without worrying about the Bootloader. I have the bootloader flashed into the sections up to the address 0x00040000 where the App starts and have the .cmd linker file shown below.

In CCS I have the sectors 0-7 de-selected for flash in the debug flash settings, and the other sectors are enabled. The bootloader project flashes the sectors 0-7 and I can debug fine there. However, I can not debug the App, it seems to get flashed but the debugger immediately pauses execution at address 0x00000004 (no symbols defined). Is there any way to run the debugger directly on my App with 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 */
}
/*----------------------------------------------------------------------------*/