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.

Update firmware on MSP430F5438A via Bluetooth

Other Parts Discussed in Thread: MSP430F5438A

Hi,

I have a custom board with MSP430F5438A which is interfaced with PAN1326 bluetooth controller. I want to regularly provide update to the end user who uses my product. To do this my plan is this

1. Send binary file to a mobile app which will send it to MSP430F5438A via Bluetooth Serial Port Profile(SPP)

2. Store the binary in code memory of MSP430F5438A. I think this is possible because my code does not use more than 100KB of code memory and I see that MSP430 has 256KB.

3. Write a custom BSL which searches for any updated code if available in code memory banks, then rewrites the code (updates it)

4. MSP430 resets & executes the new code.

I am positive that I can do the steps 1 & 2. My question is whether step 3 is possible? If yes, is there any literature available to do the same? Also the boards are already manufactured, so sadly I can't make any hardware changes.   

Thanks
Shashank

  • Step3 is exactly what I've done for the 5438 some years ago. You may find several discussions under the topic 'custom BSL' and similar.
    Basically, it is some code and a 'proxy vector table' located at 0xF800-0xFFFF which is never erased. The application is located below 0xF800 (it's vector table moved from 0xFF80 to 0xF780). On reset, the BSL starts, checks the memory above 0x10000 for a valid firmware image (CRC test) and if there, copies it over, then erases it. Since receiving the update is done via application, the BSL only needs to do the check and copy. If done correctly, it is bullet-proof. As long as old and new firmware both fit into memory at the same time.

**Attention** This is a public forum