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.

TM4C129ENCPDT: how to write a software update program for tiva129 by itself remotely

Part Number: TM4C129ENCPDT

Hello All,

I want to write program which can make software update by itself remotely. I did some research about that. THis can be done by seriport, ethernet, gsm,wifi.

what I understand is that there are some procedure or protocol.such as:

as a protocol it can be used ymodem. 

But I guess we also need to write bootloader. 

so I am confused abit. What is the right way to do this process.?

Do I have to write two program like one for bootloader and one for application?

Which surface is used most for software application remotely, gsm, wifi or something else? and also easy to implement? can you please advice and share some source/code/link for it?

How to implement ymodem protocol and where? in bootloader or application?

As you can see I have some question, if you have an answer for any of them, please let me know

thank you

Bekir

Best Regards

  • Hi,

    Do I have to write two program like one for bootloader and one for application?

    Yes, there will be two programs. One is the bootloader that needs to be first loaded to the flash through the JTAG interface. The other will be your application that is loaded through your desired interfaces such as UART, SPI, I2C, CAN, USB or Ethernet. 

    We already have the bootloader library in TivaWare and you can use it straight. Of course, you can also reference the TivaWare bootloader and modify or develop your own. That will be your choice. 

    Please see below TivaWare bootloader examples. I think you want to start with the ones below highlighted in yellow. boot_serial is the flash based bootloader. This bootloader needs to be first programmed to flash at address 0x0. boot_demo1 and boot_demo2 are application firmware examples to be loaded to flash through the UART interface. boot_demo_uart_rom is another simple application firmware which will call the ROM based bootloader. In another word, there are both ROM based bootloader as well as flash based bootloader options. ROM based bootloader will limit to use UART0 for booting while flash based bootloader allows you more flexibility as to which UART you can use. You can modify flash-based bootloader example to suit your need. 

    Bootloader user's guide should be your first thing to read before you start to understand how bootloader works. It can be found in https://www.ti.com/lit/pdf/spmu301

    LM flash programmer is one of the tools that you run on the PC side to download the application firmware. Go to https://www.ti.com/tool/LMFLASHPROGRAMMER to download the tool. 

    Another tool (sflash.exe) you can use is a command-line tool that works similarly as LM flash programmer. The source code can be found in C:\ti\TivaWare_C_Series-2.2.0.295\tools\sflash. The binary executable is in C:\ti\TivaWare_C_Series-2.2.0.295\tools\bin\sflash.exe.

  • Hi Charles,

    Thank you very much for your  answer. I am going to check all of them. 

    BR

    Bekir