
July 2016 DocID029167 Rev 1 1/16
1
AN4854
Application note
In-application programming with SD cards
Introduction
An important requirement for many systems based on Flash memory is the ability to update
the firmware installed in the end product. This feature is referred to as in-application
programming (IAP). The purpose of this application note is to provide general guidelines for
creating an IAP application.
The microcontroller can run user-specific firmware to perform IAP of the embedded Flash
memory. This feature makes it possible to use several communication protocols (such as
CAN, USART, USB or SD cards) for the reprogramming process.
SD card is the case described in this document, based on the X-CUBE-IAP-SD firmware.
IAP using SDMMC is very interesting because it’s a “standalone IAP”, that is one in which
the user does not need to use a host computer, but only an SD card to upgrade the target
STM32 device.
Table 1. Glossary
Term Meaning
CAN Controller area network
IAP In-application programming
ICP In-circuit programming
JTAG Joint Test Action Group
SWD Serial wire debugger
USART Universal synchronous/asynchronous receiver/transmitter
SD card Secure digital card (non-volatile)
SDMMC Secure digital multi media card (non-volatile)
www.st.com