This application note describes how to perform in-application programming using the STM32F10x’s I2C peripheral
The document describes how to perform in-application programming (IAP) on STM32F10x microcontrollers via their I2C interface. It outlines the principle of loading firmware from a host device into the target's Flash memory and executing it.
Two methods for sending IAP commands are detailed: using an Aardvark tool as a host adapter or using another STM32F10x microcontroller acting as a bridge between a PC and the target. The note covers specific IAP commands such as Read, Write, Erase Page, Erase User Space Memory, and Go To User Code.
The IAP application is loaded from the Flash memory base address (0x0800 0000) to the 0x0800 OFFF address.
The user application must be loaded from the 0x0800 1000 address to the top Flash memory address.