自举程序存储在STM32器件的内部自举ROM(系统存储器)中,由ST在生产期间进行编程。其主要任务是通过一种可用的串行外设(如USART、CAN、USB、I 2C)将应用程序下载到内部Flash中。每种串行接口都定义了相应的通信协议,其中包含兼容的命令集和序列。本文档适用于表 1 中列出的产品,这些产品在文档中统称为STM32。该文档描述了使用STM32器件的自举程序时支持的外设以及需要考虑的硬件要求。
自举程序标识
根据所用STM32器件的不同,自举程序可支持一个或多个嵌入式串行外设,用来将代码下载到内部Flash中。自举程序标识符(ID)可提供有关支持的串行外设的信息。
对于给定的STM32器件,自举程序通过以下各项标识:
- 自举程序(协议)版本:自举程序中使用的串行外设(例如USART、CAN、USB)通信协议的版本。可使用自举程序Get Version命令检索此版本。
- 自举程序标识符(ID):STM32器件自举程序的版本,以0xXY形式的单字节代码表示,其中:
–X指定器件自举程序所用的嵌入式串行外设:
X = 1:使用一个USART
X = 2:使用两个USART
X = 3:使用USART、CAN和DFU
X = 4:使用USART和DFU
X = 5:使用USART和I 2C
X = 6:使用I 2C
X = 7:使用USART、CAN、DFU和I 2C
X = 8:使用I 2C和SPI
X = 9:使用USART、CAN(或FDCAN)、DFU、I 2C和SPI
X = 10:使用USART、DFU和I 2C
X = 11:使用USART、I 2C和SPI
X = 12:使用USART和SPI
X = 13:使用USART、DFU、I 2C和SPI
–Y指定器件的自举程序版本
下面以自举程序ID 0x10为例。这表示仅使用一个USART的器件自举程序的第一个版本。
自举程序ID编程在器件系统存储器最后一个字节地址减1所对应的空间中,可通过自举程序“Read memory”命令来读取,或者通过使用JTAG/SWD直接访问系统存储器来读取。