2023-04-13 10:02 PM
2023-04-13 10:05 PM
You can write a loader to do whatever you want, using whatever ports or connectivity you choose.
2023-04-13 10:08 PM
Is there any examples available that I can follow?
2023-04-13 10:16 PM
Over the years ST has provided numerous IAP examples for the F2 and F4 chips and boards. Perhaps look at the Firmware Update example in CubeF4 for the STM32F4-Discovery board.
2023-04-13 10:31 PM
STM32Cube_FW_F4_V1.27.1\Projects\STM32469I-Discovery\Applications\USB_Host\FWupgrade_Standalone\readme.txt
STM32Cube_FW_F4_V1.27.1\Projects\STM32446E_EVAL\Applications\IAP\IAP_Main\readme.txt
2023-04-13 11:05 PM - edited 2023-11-20 08:13 AM
Thanks @Community member Much appreciated.
The below document explains bootloader options only in USART1 , CAN2, USART2 and not i2c for stm32f2xxx series
STM32 microcontroller system memory boot mode - Application note
2023-04-13 11:12 PM
Right but that's ISP not IAP
In-Application-Programming infers you're going to have to own that, using whatever pins, peripherals and protocol you choose, and the host side delivery of the update.
2023-04-13 11:17 PM
The ROM based system loader isn't going to manifest board and peripheral specific functionality that will support your use case.
Create your own loader in the first flash sectors of the part, which are the smaller 16KB and 64KB ones. Put your application in the deeper in 128K sectors, and let the loader manage and validate it.
2023-04-13 11:18 PM
Aah Ok. So that means I can write custom bootloader which is triggered by a GPIO pin and uses i2c3 to get the bin file ?
2023-04-13 11:33 PM
Exactly, or initiated by other means.
You can either emulate the ST protocols or use your own.
I2C being more awkward as there really isn't a standard PC interface for that, so you're likely going to need to provide end users with a means of connectivity and an application.
UART methods are more flexible, in that you could use a Terminal app and support X/Y-Modem rather than ST's protocol.
STM32 Cube Programmer supports UART/COM connectivity.