Does anyone know how to create a binary image and use that image to download over the air to a MSP430F5438 microcontroller and have it restart and run that program. coding in 'C' using Code Composer.
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.
Does anyone know how to create a binary image and use that image to download over the air to a MSP430F5438 microcontroller and have it restart and run that program. coding in 'C' using Code Composer.
Reggie Rippetoe said:download over the air to a MSP430F5438 microcontroller
This is technically possible, though there are a lot of design considerations to address. Some of these are...
1. The reprogramming code needs to run from RAM.
2. You generally must have interrupts disabled the entire time you are downloading and programming (e.g. if using UART, must be done in polled fashion)
3. When done, you jump to the (new) reset vector at 0xFFFE.
Reggie Rippetoe said:using Code Composer
This has no bearing on the task. A compiler is a compiler. Whether it is CCS or IAR, they can both output a pure binary image.
Short answer: yes. :)Reggie Rippetoe said:Does anyone know how to create a binary image and use that image to download over the air to a MSP430F5438 microcontroller and have it restart and run that program.
I wrote a bootloader that is capable of doing it (don't ask, it's company property).
The main applicaiton receives the firmware update and stores it in an unused part of the flash (the 5428 has 256k, so it will do as long as your program is <128k).
Once the new firmware image has been received, the MSP resets itself. The reset function is a copy funciton that checks the storage space for a new firmware image and if one is found (with CRC chekc), it is copied from extra flash to its final destination. Once done, the image is erased. If something goes wrong, tat next start, the image is stil there and copying starts anew.
The copy function, along with the itnerrupt vector table is never changed and therefore never erased. The device is always in an operational state. It can even continue normal operation while the update is received (e.g. in small data packets interleaved with normal operation data).
You'll find mroe details when you search the board for threads about custom BSL. Especially those with posts from me :)
What binary image format did you select in Code Composer for the output? The TXT format has the data and addresses in it to use but are you using the S-Record format and if so do you strip out the leading addresses in the file?
**Attention** This is a public forum