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.

TMS570LS3137: UndefEntry in Boo Loadet App

Part Number: TMS570LS3137


Hello ! I have a question about the bootloader application.

I am using TI example about bootloader via CAN BUS.

When I call any Flash API function (the first one is BLInternalFlashStartAddrCheck), the program jumps to UndefEntry. It does this using any Flash API function.

I tried using the CCS as an administrator, but it didn't work. I don't understand where my problem is.

I leave my code in case it helps you.

Thanks a lot !bootloader-master.zip

  • Hi Federico,

    Since the bootloader is located at the flash bank0, to erase any sectors in Bank0, the flash API related functions should be copied to SRAM and executed from SRAM.

    Can you please check if the functions are copied to SRAM?

    You can use CCS memory browser to check the memory at apiRunStart.

  • I QJ Wang! Thanks for your reply. Apparently, the functions are copied on the SRAM.

    /* Memory Map */

    MEMORY
    {

    VECTORS (X) : origin=0x00000000 length=0x00000020 vfill = 0xffffffff
    FLASH0 (RX) : origin=0x00000020 length=0x00010000 vfill = 0xffffffff
    FLASH1 (RX) : origin=0x00010020 length=0x07FF1FE0 vfill = 0xffffffff
    SRAM (RWX) : origin=0x08002000 length=0x00002000
    STACK (RW) : origin=0x08004000 length=0x00002000

    /* USER CODE BEGIN (2) */
    #if 1
    ECC_VEC (R) : origin=(0xf0400000 + (start(VECTORS) >> 3))
    length=(size(VECTORS) >> 3)
    ECC={algorithm=algoL2R5F021, input_range=VECTORS}

    ECC_FLA0 (R) : origin=(0xf0400000 + (start(FLASH0) >> 3))
    length=(size(FLASH0) >> 3)
    ECC={algorithm=algoL2R5F021, input_range=FLASH0 }

    ECC_FLA1 (R) : origin=(0xf0400000 + (start(FLASH1) >> 3))
    length=(size(FLASH1) >> 3)
    ECC={algorithm=algoL2R5F021, input_range=FLASH1 }
    #endif
    /* USER CODE END */

    }

    Memory Browser:

    I already used this example, and it worked, but with CCS V 10.0. Now, I have the CCS v11.0. Could that be the problem? I think it's strange that it doesn't even enter the functions. Thanks!!

  • Hi Federico,

    If it works with CCS10.0, but doesn't with CCS11.0. I think this is CCS11.0 issue. I will check with CCS team.

  • Hello QJ Wang ! I install the CCS10.0 and now the program works ! Apparentaly is a issue of the 11.0 version. Thanks for your reply !!!

  • If it works with CCS10.0, but doesn't with CCS11.0.

    This may be the issue in CCS11 fails to load F021 Flash API from debugger where CCS wasn't programming some sections into flash correctly on big endian devices.

    https://sir.ext.ti.com/jira/browse/EXT_EP-10633 was raised, which is reported as fixed in CCS 11.1