Skip to main content
Visitor II
April 25, 2020
Question

Update firmware from CAN (BOOT from CAN as IAP)

  • April 25, 2020
  • 4 replies
  • 1243 views

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.

    This topic has been closed for replies.

    4 replies

    Graduate II
    April 25, 2020

    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.​

    Graduate II
    April 25, 2020

    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?

    Visitor II
    April 29, 2020

    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​ 

    Graduate II
    May 2, 2020

    Technically there are no reasons that would prohibit direct update.