cancel
Showing results for 
Search instead for 
Did you mean: 

Update firmware from CAN (BOOT from CAN as IAP)

Alihussain Vohra
Associate III

I am using stm32f072rbt6 (stm32f072 discovery board). I want to update the firmware from CAN as IAP (In Application Programming). Do we have any example code ? How to implement this? I have read the application note but I didn't get it.

4 REPLIES 4

I think this is left to the ​developer on the project. It is generally made more difficult due to the small packet size.

You could perhaps use the same protocol has the ROM based System Loader, that way you wouldn't need to code both ends to test your loader.

Vendors of CAN based products typically need to code both the PC application and the STM32 side loader code, as the ST programming tools aren't really tailored for end users.

The complexity of the application and loader are such that you might want to engage a consultant or contractor if the in-house team lacks the breadth of knowledge. Your ST FAE may be able to assist you.​

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

The internet is literally full of bootloader examples...

https://stackoverflow.com/questions/34590379/how-to-implement-iap-in-application-programming-for-stm23f107-arm-microcontrol

By the way in AN4657:

"Most newer STM32 microcontrollers are supported by middleware open source library called Open Bootloader (OpenBL)."

@Amel NASRI​, do they actually mean OpenBLT?

Alihussain Vohra
Associate III

can we do like this? First we transfer binary file from CAN to stm32f072rb and store it into external EEPROM and then update the application code or can we directly update the firmware from binary file on CAN?@Community member​  @Piranha​ 

Piranha
Chief II

Technically there are no reasons that would prohibit direct update.