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.

TM4C1233E6PZ: Custom UART based bootloader

Part Number: TM4C1233E6PZ
Other Parts Discussed in Thread: EK-TM4C123GXL

Hello, I'm using TI compiler v20.2.6 and Tivaware 2.2.0.295. I want to implement a custom bootloader which takes application code from custom UART commands and flash it in application memory. So I want a basic code which I can modify according to my commands.

Thanks in advance.

  • Hi,

      The TivaWare has an UART bootloader example at C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl\boot_serial. There is also an example example application that goes along with the bootloader at C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl\boot_demo1. I will suggest you run these examples as is first to get a feel of how the stock UART bootlaoder works. You can reference the examples and customize per your application requirements. 

  • Thank you for your answer, can you help me in understanding the process which is going in this code?

  • Hi,

      The bootloader (boot_serial) is first loaded to the flash through the JTAG interface. The bootloader will reside at 0x0. Once the bootlaoder is running, it will receive the application (boot_demo1) through the UART interface. The current bootloader example is configured to program the application at 0x4000. Please review the bl_config.h file in the bootloader example.  Once the application is programmed, the bootloader will jump to it at each power cycle.