cancel
Showing results for 
Search instead for 
Did you mean: 

Custom firmware update tool for an STM32

JMerr.3
Associate

Hello,

We are developing a product that uses an STM32, and we are wondering where we can find details about, or if it's feasible to create a customized firmware update tool for customers without extensive development time. We have no problems updating it ourselves, of course, but users might have a harder time with firmware updates after release.

By this I mean a program specifically for our product that will have all of the settings already configured for our situation, where the user just need to connect the device and upload a file, essentially, without needing to know any settings or go through anything confusing. I'm sure this can be done in some way -- but what I'm not sure is if STM has a direct pathway to do this somewhat simply.

Thanks

5 REPLIES 5

Depends on the means/method of update.

The serial boot loader protocol is well documented, there used to be a Flash Loader Demonstrator application, but that doesn't know about the newer family devices. The protocol is not hard to implement, and there have been a couple of open source apps written.

If you use your own loader, things like X-Modem work really well from Terminal applications, or ones own applications.

STM32 usart protocol

https://www.st.com/resource/en/application_note/cd00264342-usart-protocol-used-in-the-stm32-bootloader-stmicroelectronics.pdf

https://www.st.com/resource/en/application_note/dm00464412-stspin32f0-family--bootloader-and-usart-protocol-stmicroelectronics.pdf

STM32 usb dfu protocol

https://www.st.com/resource/en/application_note/cd00264379-usb-dfu-protocol-used-in-the-stm32-bootloader-stmicroelectronics.pdf

AN2606

https://www.st.com/resource/en/application_note/cd00167594-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf

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

The ways Tesla wrote you are working with built-in bootloader funtionality. If they are suiteable and you want make one with your own behavior, then search on STs Webite for IAP (In Application Programming) You will find sources for different MCUs and different source of Firmware like, Serial, USB, SD-Card, Ethernet,.... Load the most suiteable and spend a look at it. Even when the righ solution is not available for you MCU, you can update it very easily. If you are experienced programmer, you are done with everthing within 3-7 days depend on the used connectivity.

Back when a colleague was working with Micro Python, I build a loader that could pull .DFU files off the Micro-SD card. This was simple to do for an end-user, and they could also use the DFU method directly.

For FOTA style IAP pulling updates with HTTP/FTP works well too.

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

I think the main job is to getting the IAP running with the required device. Then I can do everything else exactly as I need for the best comfort for the customer.

TFTP is simpler, smaller, more robust and doesn't require TCP. If the MCU device is made as a client, it can even connect to a server over the Internet and update FOTA style.

Within 3-7 days one can make a proof-of-concept, but not a real finished and reliable product.