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.

CCS/TMS570LS1224: TMS570LS1224 :UART bootloader

Expert 1660 points
Part Number: TMS570LS1224

Tool/software: Code Composer Studio

hello 

 i have problems in downloading my .bin file i always have the message from hyperterminal (General Failer)

i think i have troubles in my bootloader .cmd and sys_intvecs.asm( code stops as this line                     b   undefEntry                 in sys_intvecs.asm )

i didn't change them  because when i changed them as in the demo UART_bootloader the error led blinking . 

( the baud-rate is 9600,8,N,2 (UART JTAG) address 0x00010100)

  • Hello,

    All of the Flash APIs that program, erase, blank check or margin verify must be called from a bank other than the one in which code is being executed. If programming or erasing bank 0 of the device which has only one flash bank, these routines must be executed in RAM.

    LS1224 has only one flash bank, your application will be programmed to 0x100100 which is located in the same bank as the bootloader. You have to copy the flash API related code to SRAM and execute them from SRAM.

    1. Use the cmd file in TI example as reference.

    2. Use the _copyAPI2RAM_ in sys_core.asm to copy flash API to SRAM

  • Hello QJ,

    good day to you 

    i edited the bootloader  .cmd and sys_core.asm

    i still can't sending my .bin file hyperterminal shows a message of "no response from remote system"     

    my  APP_START_ADDRESS       0x00010100

  • i tried to edit sys_intvecs.asm as below but error led blinking


        .sect ".intvecs"
        .arm
    
    ;-------------------------------------------------------------------------------
    ; import reference for interrupt routines
    
        .ref _c_int00
        .ref phantomInterrupt
        .def resetEntry
    
    ;-------------------------------------------------------------------------------
    ; interrupt vectors
    
    resetEntry
            b   _c_int00               ;0x00
            b   #0x100F8               ;0x04; 0x100F8=$10100-0x8; 0x10100 is the application start addr
            b   #0x100F8               ;0x08, Software interrupt
            b   #0x100F8               ;0x0C, Abort (prefetch)
            b   #0x100F8               ;0x10, Abort (data)
    
    reservedEntry
            b   reservedEntry          ;0x14
            ldr pc,[pc, #-0x1b0]       ;0x18
            ldr pc,[pc, #-0x1b0]       ;0x1C

  • Hello,

    Can you locate which instruction caused the issue? Please check the values of ESM status registers.

  • Hello QJ,

    the bootloader works  perfectly 

    but i have a question about CRC in the demo

    does the bootloader checks for CRC?? if yes how to test that?

  • Yes, the bootload use Ymodem 16 bit CRC. The CRC calculation code is in ymodem_crc16.asm