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.

EK-TM4C123GXL: Tiva C Series LaunchPad - Access ROM Bootloader via FTDI-USB

Part Number: EK-TM4C123GXL

Tool/software:

I am using the EK-TM4C123GXL REV B board. 

I am externally powering the device.

I connected to the USB ICDI port and flashed with boot_demo_uart_rom [C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl\boot_demo_uart_rom].

I have also connected an FTDI-USB chip to pads H6 [U0 RxD] and H7 [U0TxD] see image below. 

This was successful and the LED is blinking, if I hold the SW1 switch it goes into boot loader. I can then load the hello program [C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl\hello] with LM Flash Programmer via USB ICDI. That works. I can then reset the Tiva and see Hello, world! via terminal connected to both the Stellaris Virtual Com Port and via the serial COM port connected to the FTDI chip. 

What I wanted to do is load the program via UART over via the FTDI chip. To attempt this I loaded the boot_demo_uart_rom via USB ICDI. Removed power, unplugged the USB ICDI and powered back up. I then used LM Flash Programmer configured as pictured below.

I then attempted to flash the program and received error:  Failed to establish communication with the board!

After some time attempting this and looking at design "EK-TM4C123GXL Rev A.sch" we cut the traces after H6 and H7 pads so that the ICDI could no longer communicate to U1 MCU. Prior to cutting the trace the boot_demo_uart_rom was loaded.

This was successful and the LED is blinking, if I hold the SW1 switch it goes into boot loader. I can then load the hello program [C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl\hello] with LM Flash Programmer via Serial over COM3 using the FTDI Chip. I can then reset the Tiva and see Hello, world! via Serial Com port connected to the FTDI chip. 

Is there a way to do this on the launchpad via software or other hardware configs without cutting the traces for UART0 to the ICDI USB Debug port such that we can have the ability to program via the FTDI chip connected to RxD and TxD?

  • Is there a way to do this on the launchpad via software or other hardware configs without cutting the traces for UART0 to the ICDI USB Debug port such that we can have the ability to program via the FTDI chip connected to RxD and TxD?

    I think you are doing the right thing to cut the trace as UART0TX and UART0RX of the target device is connected to the ICDI Debug Probe. If you have a custom board, you wouldn't have this problem as you can connect UART0 to your FTDI chip. Another option of using the LaunchPad is to use the flash-based bootloader where you can use other UART instances and connect them to the FTDI chip. ROM-based bootloader only uses UART0 and with the existing connection on the board, you will need to cut the trace if you want to use UART0 with a FTDI.