STM32 microcontroller system memory boot mode

The bootloader is stored in the internal boot ROM memory (system memory) of STM32 devices.

It is programmed by ST during production.

Its main task is to download the application program to the internal Flash memory

through one of the available serial peripherals (USART, CAN, USB, I2C, SPI, etc.).

A communication protocol is defined for each serial interface,

with a compatible command set and sequences.

This document applies to the products listed in Table 1.

They are referred as STM32 throughout the document.

STM32L0 series:

STM32L051xx, STM32L052xx, STM32L053xx, STM32L062xx, STM32L063xx

STM32L1 series.

STM32L4 series:

STM32L476xx, STM32L486xx

STM32F0 series:

STM32F03xxx, STM32F04xxx, STM32F05xxx, STM32F07xxx,STM32F098xx

STM32F1 series.
STM32F2 series.

STM32F3 series:

STM32F301xx, STM32F302xx, STM32F303xx, STM32F318xx,STM32F328xx,
STM32F334xx, STM32F358xx, STM32F373xx, STM32F378xx, STM32F398xx

STM32F4 series:

STM32F401xx, STM32F405xx, STM32F407xx, STM32F411xx,STM32F415xx,
STM32F417xx, STM32F427xx, STM32F429xx,STM32F437xx, STM32F439xx,
STM32F446xx

STM32F7 series:

STM32F74xxx, STM32F75xxx

The main features of the bootloader are the following:
• It uses an embedded serial interface to download the code with a predefined communication protocol
• It transfers and updates the Flash memory code, the data, and the vector table sections

This application note presents the general concept of the bootloader.

It describes the supported peripherals and hardware requirements to be considered when using the bootloader of STM32 devices.

However the specifications of the low-level communication protocol for each supported serial peripheral are documented in separate documents.

For specifications of the USART protocol used in the bootloader, refer to AN3155.

For the specification of the CAN protocol used in the bootloader, refer to AN3154.

For the specification of the DFU (USB device) protocol used in the bootloader, refer to AN3156.

For the specification of the I2C protocol used in the bootloader, refer to AN4221.

For the specification of the SPI protocol used in the bootloader, refer to AN4286.

F0 Series:

STM32F03xxx is used to refer to STM32F030x4, STM32F030x6, STM32F038x6,STM32F030xC, STM32F031x4 and STM32F031x6 devices.
STM32F04xxx is used to refer to STM32F042x4 and STM32F042x6 devices.
STM32F05xxx and STM32F030x8 devices is used to refer to STM32F051x4,STM32F051x6, STM32F051x8, STM32F058x8 and STM32F030x8 devices.
STM32F07xxx is used to refer to STM32F070x6, STM32F070xB, STM32F071xB, STM32F072x8 and STM32F072xB devices.
STM32F09xxx is used to refer to STM32F091xx and STM32F098xx devices.

F1 Series:

STM32F10xxx is used to refer to Low-density, Medium-density, High-density, Lowdensity  value line, Medium-density value line and High-density value line devices:
Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.
Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.
High-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 256 and 512 Kbytes.
Low-density value line devices are STM32F100xx microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.
Medium-density value line devices are STM32F100xx microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.
High-density value line devices are STM32F100xx microcontrollers where the Flash memory density ranges between 256 and 5128 Kbytes.
STM32F105xx/107xx is used to refer to STM32F105xx and STM32F107xx devices.
STM32F10xxx XL-density is used to refer to STM32F101xx and STM32F103xx devices where the Flash memory density ranges between 768 Kbytes and 1 Mbyte.

F2 Series:

STM32F2xxxx is used to refer to STM32F215xx, STM32F205xx, STM32F207xx and SMT32F217xx devices.

F3 Series:
STM32F301xx/302x4(6/8) is used to refer to STM32F301x4, STM32F301x6, STM32F301x8, STM32F302x4, STM32F302x6 and STM32F302x8 devices.
STM32F302xB(C)/303xB(C) is used to refer to STM32F302xB, STM32F302xC, STM32F303xB and STM32F303xC devices.
STM32F302xD(E)/303xD(E) is used to refer to STM32F302xD, STM32F302xE, STM32F303xD and STM32F303xE devices.
STM32F303x4(6/8)/334xx/328xx is used to refer to STM32F303x4, STM32F303x6, STM32F303x8, STM32F334x4, STM32F334x6, STM32F334x8, and STM32F328x8 devices.
STM32F318xx is used to refer to STM32F318x8 devices.
STM32F358xx is used to refer to STM32F358xC devices.
STM32F373xx is used to refer to STM32F373x8, STM32F373xB and STM32F373xC devices.
STM32F378xx is used to refer to STM32F378xC devices.
STM32F398xx is used to refer to STM32F398xE devices.

F4 Series:

STM32F40xxx/41xxx is used to refer to STM32F405xx, STM32F407xx, STM32F415xx and SMT32F417xx devices.
STM32F401xB(C) is used to refer to STM32F401xB and STM32F401xC devices.
STM32F401xD(E) is used to refer to STM32F401xD and STM32F401xE devices.
STM32F411xx is used to refer to STM32F411xD and STM32F411xE devices.
STM32F42xxx/43xxx is used to refer to STM32F427xx, STM32F429xx, STM32F437xx and STM32F439xx devices
STM32F446xx is used to refer to STM32F446xE and STM32F446xC devices

F7 Series:

STM32F74xxx/75xxx is used to refer to STM32F745xx and STM32F746xx and STM32F756xx devices.

L0 Series:

STM32L05xxx/06xxx is used to refer to STM32L051xx, STM32L052xx, STM32L053xx, STM32L062xx and STM32L063xx ultralow power devices.

L1 Series:
STM32L1xxx6(8/B) is used to refer to STM32L1xxV6T6, STM32L1xxV6H6,
STM32L1xxR6T6, STM32L1xxR6H6, STM32L1xxC6T6, STM32L1xxC6H6,
STM32L1xxV8T6, STM32L1xxV8H6, STM32L1xxR8T6, STM32L1xxR8H6,
STM32L1xxC8T6, STM32L1xxC8H6, STM32L1xxVBT6, STM32L1xxVBH6,
STM32L1xxRBT6, STM32L1xxRBH6, STM32L1xxCBT6 and STM32L1xxCBH6 ultralow power devices.

STM32L1xxx6(8/B)A is used to refer to STM32L1xxV6T6-A, STM32L1xxV6H6-A,
STM32L1xxR6T6-A, STM32L1xxR6H6-A, STM32L1xxC6T6-A, STM32L1xxC6H6-A,
STM32L1xxV8T6-A, STM32L1xxV8H6-A, STM32L1xxR8T6-A, STM32L1xxR8H6-A,
STM32L1xxC8T6-A, STM32L1xxC8H6-A, STM32L1xxVBT6-A, STM32L1xxVBH6-A,
STM32L1xxRBT6-A, STM32L1xxRBH6-A, STM32L1xxCBT6-A and STM32L1xxCBH6-A ultralow power devices.

STM32L1xxxC is used to refer to STM32L1xxVCT6, STM32L1xxVCH6 ,STM32L1xxRCT6, STM32L1xxUCY6, STM32L1xxCCT6 and STM32L1xxCCU6 ultralow power devices.
STM32L1xxxD is used to refer to STM32L1xxZDT6, STM32L1xxQDH6,
STM32L1xxVDT6, STM32L1xxRDY6, STM32L1xxRDT6, STM32L1xxZCT6,
STM32L1xxQCH6, STM32L1xxRCY6, STM32L1xxVCT6-A and STM32L1xxRCT6-A ultralow power devices.

STM32L1xxxE is used to refer to STM32L1xxZET6, STM32L1xxQEH6, STM32L1xxVET6, STM32L1xxVEY6, and STM32L1xxRET6 ultralow power devices.

L4 Series:
STM32L476xx/486xx is used to refer to STM32L476xE, STM32L476xG and STM32L486xG devices

Note:

BL_USART_Loop refers to the USART Bootloader execution loop.
BL_CAN_Loop refers to the CAN Bootloader execution loop.
BL_I2C_Loop refers to the I2C Bootloader execution loop.
BL_SPI_Loop refers to the SPI Bootloader execution loop.

时间: 2024-10-04 01:23:36

STM32 microcontroller system memory boot mode的相关文章

There is insufficient system memory to run this query 错误

服务器环境大致情况如下: 操作系统:   Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack 2 数据库  :   Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) . 机器物理内存8G,开启了"使用AWE分配内存选项(U)" 在这台服务器上,创建YourSQLDba后,配置过程中创建函数的时候,报如下错误,重试了几次都是如此,但是其它应用从来没有出过这

PatentTips - Modified buddy system memory allocation

BACKGROUND Memory allocation systems assign blocks of memory on request. A memory allocation system employs an allocator to receive relatively large blocks of memory from an operating system and allocate that memory to satisfy memory requests. Upon r

System memory,AGP memory和video memory【转】

system  memory就是电脑的内存条上的,一般都很大.显卡不能访问 . video memory就是显示卡上的显存,一般是32,64,128M这样,速度最快,显卡可直接访问 .用来描述电脑上一些可写存储区,通常是RAM,用来保存图形卡所需要的用来驱动显示设备的信息.在现代3D图形卡中,video memory也可用来保存3D向量数据,纹理,缓冲区等等,有时候以共享存储结构的形式出现. AGP memory:Accelerated Graphics Port,加速图形接口,AGP是一种接口

BUG搬运工:CSCvp31778-3802 apsw_watchdog: WARNING: System memory is running low

如下bug主要针对Cisco COS AP比如18.28.38... 主要现象: AP上连关联的终端显示的是信号满格,但是无法访问内网,所有的终端都这样,只有重启AP后才可以解决. 频率: 这种现象有时候不定期,有时候好多天都不会发生,频率不高. 具体BUG: 3802 apsw_watchdog: WARNING: System memory is running low CSCvp31778 Description Symptom:Clients on RUN state and with

STM32 DFU(DEVICE FIREWAVE UPDATE) 更新设备程序(BOOTLOAD&IAP)参考文献

文档:AN2557 STM32F10x in-application programming using the USART ...介绍了USART_IAP的使用方法:AN2606 STM32 microcontroller system memory boot mode ...STM32全系列的bootloader的介绍:AN3154 CAN protocol used in the STM32 bootloader ...拥有CAN口bootloader产品的协议全解:AN3155 USAR

STM32F4-Discovery资料汇总 (转载自http://blog.163.com/thinki_cao/blog/static/83944875201362493134992/)

STM32F4的资料大部分都在这里: http://www.stmcu.org/download/index.php?act=ziliao&id=150 根据个人的理解对这些资料作了一些规律,后期可能会增加一些个人的思维导图以增强理解. STM32F4-Discovery开发套件相关资料: 索引:UM1472 User Manual 标题:STM32F4DISCOVERY STM32F4 high-performance discovery board 文档说明:STM32F4-DISCOVER

stm32串口烧录

Bootloader hardware requirement:The hardware required to put the STM32 into System memory boot mode consists of any circuitry, switch or jumper, capable of holding the BOOT0 pin high and the BOOT1 pin low during reset.To connect to the STM32 during S

走进STM32世界之Hex程序烧写

多数51单片机(STC系列单片机)的初学者都知道,在51单片机初上电时,可以通过PC机上位机软件将程序引导至bootloader,从而将新程序的hex文件下载至单片机中,完成程序的升级或是更新.在32位Cortex-M3内核下的STM32单片机也是可以做到的.这个上位机软件叫做"Flash loader demonstrator":短接boot0与VCC后,再次复位即进入到升级模式(System memory boot loader). 我们需要先下载芯片烧录工具软件Flash loa

STM32 DFU -- Device Firmware Upgrade

DFU Class Requests Get Status The Host employs the DFU_GETSTATUS request to facilitate synchronization with the device. This status gives information on the execution of the previous request: in progress/OK/Fail/... The device responds to the DFU_GET