cancel
Showing results for 
Search instead for 
Did you mean: 

Is there a way to do IAP over i2c3 in stm32f205vet6?

JThom.15
Associate III
 
10 REPLIES 10

You can write a loader to do whatever you want, using whatever ports or connectivity you choose.​

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

Is there any examples available that I can follow?

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.

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

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

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

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


_legacyfs_online_stmicro_images_0693W00000bi52DQAQ.png

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

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

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.

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

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 ?

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

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