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.
I am using a TM4C129ENCPDT interfaced to a GSM module (UART). I want to update the code on the micrcontroller remotely. My GSM module can download the bin files from my server over FTP. Any suggestions on how to flash the code downloaded by the GSM module on the microcontroller ?
Note: I do not have any auxiliary controller interfaced.
Bobby,
You can:
- Transfer the new firmware to the MCU through the i2c module, using some sort of protocol that indicates that the data refers to a new firmware.
- Then, store the firmware in a known location - if you have external NV memory available, that's a good option - otherwise, you can use a fixed area of your TM4C flash.
- Then, use a custom bootloader that reads a flag in eeprom which indicates a new firmware is available - and have the bootloader swap the new firmware into the program execution area.
We have been doing that successfully, it took a great deal to develop the bootloader, protocol and controls, but it is quite reliable.
Regards
Bruno
Thank you for your reply. But still I would need to store the bin files downloaded over ftp in some location, right? The SD card would be more feasible in my case as space on the flash memory is limited due to the size of the existing code in the flash memory. So are there are any examples available on how to flash from SD card?