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.

TM4C123GH6PM: How to load a program with LM Flash Programmer via UART0

Part Number: TM4C123GH6PM

Hi guys,

I am trying to look for a way to load my binary file in to TM4C123G device without using CCS. Basically I am trying to find a way to load our code(binary) into our custom board. So far, we loaded programs in our custom boards via JTAG (through Stellaris LaunchBoard JTAG pins), but now we need to make it more simple and just connect a USB cable to load any program into the boards. I am trying to use LM Flash Programmer Utility via UART0, but this is what I got so far:

I don't know how to fix this error.

Can someone point me to the right documents that will help me do this properly or can someone give me some procedures or idea that might help me accomplish this task.

Thanks you in advance!!

Marco

  • You mentioned that you want to use a USB cable to program the TM4C123GH6PM device. Is the USB cable connected to the TM4C123 USB pins, or to some USB to UART converter? Is the TM4C123 device blank? The ROM bootloader is automatically called on a blank part, but must be intentionally called by the software if the part is already programmed.
  • The USB cable is connected to a USB to UART converter and TM4C123 device is not blank
  • I suggest you erase the part by JTAG and then try using LM Flash Programmer to load in a new binary file. That would verify that the hardware works and that you can program blank devices.

    If you need to reprogram devices using the serial port, you need to use a Flash bootloader or call the ROM bootloader "ROM_UpdateUART()". There is some information about this function (page 267) and the ROM based bootloader in general (section 2) in this document:
    www.ti.com/.../spmu367.pdf
  • Thank you so much for your help. I tried to erase the board and program it afterwards throgh UART but I get the same error.

    I also tried to download in it boot_serial.bin (with JTAG port) and then tried to download my application via UART but still same error.

    Should I install a proper serial bootloader? I don't know really know how to build one.

  • Update:

    Now I can:

    -download the TIvaWare example boot_serial in a TIVA Launchpad with address 0x2800

    -use LM Flash to donwload any program via UART, baud 115200, address 0x2800 successfully

    When I try the same procedure (boot_serial via JTAG and any program via UART) with my custom board, I still get the same error. The only macroscopic difference I see is that I am using a FTDI device (USB to UART) in the second case. In TIVA Launchpad case, I am using the debug port and it works.

    Any help?

  • Are you able to verify with a scope that the hardware on your custom board is working correctly? That is, can you see the signal from the PC on pin 17 (PA0, U0RX)?