cancel
Showing results for 
Search instead for 
Did you mean: 

Hello guys, I am on project that requires over the air firmware update Is there any guide+firmware for this task (eg from CUBEMX)?

stathpale
Associate II

I am using Nucleo-f446re and communicate with a server trought a GPRS telematic device ( the communication with the telematic device is through uart protocol). My average firmware size is 35kB. I can safely transmit the hex file to the MCU but I need a solution so that the MCU starts from the new firmware after restart.

7 REPLIES 7

Not sure there is a full worked solution.

Here there should be enough space flash to stage bew firmware and have a small boot loader. Boot loader sits up front of flash, is never erased, and can recognize new firmware image is present. Updates current before jumping to it. Checks integrity of current before jumping.

CPU can reset via NVIC_SystemReset type call. Can initiate after successful staging of new image.​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
stathpale
Associate II

Thanks for your reply. I Have read the application note 2606 about the bootloader and I can't find a way to configure it to boot from the new firmware that already exists on the flash. It only has solutions for getting new firmware through communication interface.

My MCU does not support dual bank mode. And I cant find any functinality of the bootloader to do the job you are describing (AN2606 page 165). Are you sure what you are saying is possible on stm32f446re ? Thanks in advance

TDK
Guru

If you can use the built-in bootloader, erase the flash, write a new program, and jump to it.

If the built-in bootloader won't work, you'll need to create your own solution.

>  I can't find a way to configure it to boot from the new firmware that already exists on the flash

The GO command can be used to jump to user code once written.

If you feel a post has answered your question, please click "Accept as Solution".

Thank you for your reply. The version of the bootloader that my mcu has cannot do that job.

I will have to create my own solution.

It doesnt need to dual bank, you've got multiple flash sectors you can use. You can stage new firmware in spare sectors before moving to final destination.

I'm referring to your own boot loader, not the ROM system loader.​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

I found out this link on secure boot secure firmware upgrade. Is it possible to intergrade something like this to my board?