TMS570LC4357: UART bootloader in TMDX570LC43HDK

Part Number: TMS570LC4357
Other Parts Discussed in Thread: TMDX570LC43HDK, HALCOGEN, , TMS570LS1224

Hi Team, 

UART Bootloader for Hercules is TMS570LS12x MCU  need to support for TMDX570LC43HDK 

http://www.ti.com/lit/zip/spna192

How to configure the Hercules TMDX570LC43HDK  in HALCoGen   for UART bootloader and what all the modification need to do in code?

  • Thanks, but unfortunately it still doesn't work.

    1. Build and push Bootloader
    2. Upload blinky_APP20020
    3. Run application
    4. Bootloader hangs when it tries to run application

    If you reset the board, the terminal output shows only - 

    If I push the blinky_APP20020 firmware to the HDK by itself, it runs... until you hit the reset button, then it no longer runs.

    Are we running a different HDK than the one you are having success with?

  • Hi Chris Dickerson,

    Yes, I too face the same issue in my bootloader that download, run application and upload Its getting hang some times. 

    I still confused on the memory side. 

    Bootloader

    and in application LED Blinking.

    How we can change the stack and RAM memory?

    Please confirm me in the memory section.

  • We got it to work.

    In the application (blinky) link file, memory section:

        VECTORS (X)      : origin=0x00020020 length=0x00000020 fill=0xFFFFFFFF
        FLASH_CODE  (RX) : origin=0x00020040 length=0x8000 - 0x40  fill=0xFFFFFFFF  /*sector 4/5*/
        FLASH0  (RX)     : origin=0x00028000 length=0x00200000 - 0x28000
        STACKS  (RW)     : origin=0x08000000 length=0x00001500
        RAM     (RWX)    : origin=0x08001500 length=0x0007EB00

    In the bootloader, make sure in bl_config.h the APP_START_ADDRESS and APP_STATUS_ADDRESS are in the same range (NOT 0x00200020).

  • Hi QJ Wang,

    In application link file 

    MEMORY
    {
    /* USER CODE BEGIN (2) */
    VECTORS (X) : origin=0x00020020 length=0x00000020
    FLASH_CODE (RX) : origin=0x00020040 length=0x8000 - 0x40 fill=0xFFFFFFFF /*sector 4/5*/
    FLASH0 (RX) : origin=0x00028000 length=0x00200000 - 0x28000
    STACKS (RW) : origin=0x08000000 length=0x00001500
    RAM (RWX) : origin=0x08001500 length=0x0007EB00

    #if 0
    /* USER CODE END */
    // VECTORS (X) : origin=0x00000000 length=0x00000020
    // FLASH0 (RX) : origin=0x00000020 length=0x001FFFE0
    // FLASH1 (RX) : origin=0x00200000 length=0x00200000
    // STACKS (RW) : origin=0x08000000 length=0x00001500
    // RAM (RW) : origin=0x08001500 length=0x0007EB00

    /* USER CODE BEGIN (3) */
    #endif

    SECTIONS
    {
    /* USER CODE BEGIN (5) */
    .intvecs : {} > VECTORS
    #if 0
    /* USER CODE END */
    .text align(32) : {} > FLASH0 | FLASH1
    .const align(32) : {} > FLASH0 | FLASH1
    .cinit align(32) : {} > FLASH0 | FLASH1
    .pinit align(32) : {} > FLASH0 | FLASH1
    .bss : {} > RAM
    .data : {} > RAM
    .sysmem : {} > RAM

    /* USER CODE BEGIN (6) */
    #endif
    .text align(32) : {} > FLASH_CODE
    .const align(32) : {} > FLASH_CODE
    .cinit align(32) : {} > FLASH_CODE
    .pinit align(32) : {} > FLASH_CODE


    .bss : {} > RAM
    .data : {} > RAM
    .sysmem : {} > RAM

    /* USER CODE END */
    }

    Changed in bl_config.h

    #define APP_START_ADDRESS 0x00020040

    #define APP_STATUS_ADDRESS 0x00020020

    Now, It is not working still

    debug mode only it is working, after hardware reset it is not working 

    I have doubt in any hardware pin should be enable for UART bootloader as GPIO A 7 should be 1 or 0 ?

    Please confirm it because it is working in the Launchpad only.

  • VECTORS (X) : origin=0x00020020 length=0x00000020
    FLASH_CODE (RX) : origin=0x00020040 length=0x8000 - 0x40 fill=0xFFFFFFFF /*sector 4/5*/

    From your linker cmd file, the application starts address is 0x20020 rather than 0x20040. You need to modify the app start address in bl_config.h to 0x20020.