很很多单片机都有自举程序,像支持STC单片机使用串口下载,这种其实也是单片机内部集成了一段自举程序。
那你,你了解自举程序吗?下面结合STM32给大家分享一下关于自举程序的知识。
1关于自举程序
STM32中内嵌了一段自举程序,可能很多人不知道。
那段自举程序存放在System memory(系统存储器)中,我们通过配置启动,选择启动系统存储器就可以运行这段程序。
2STM32启动配置
STM32有三种启动模式:
Main Flash memory:主FLASH
System memory:系统存储器
Embedded SRAM:内置SRAM
三种模式是通过不同配置来实现,一般通过BOOT引脚和BOOT位来配置启动模式。
不同的芯片配置有差异,有些芯片没有BOOT1引脚,会结合BOOT位来实现。
F1启动配置:

F0启动配置:

复位后,在 SYSCLK 的第四个上升沿锁存 BOOT 引脚的值。复位后,用户可以通过设置BOOT1 和 BOOT0 引脚来选择需要的启动模式。
3内嵌的自举程序
STM32内嵌的自举程序存放在系统存储区,由ST在生产线上写入,用户不能修改。
我们选择System memory(系统存储器)启动模式,就会进入系统存储区执行自举程序。
内嵌的自举程序主要用于通过串行接口重新编程 Flash。
有哪些串行接口呢?
UART、 I2C、 SPI、 CAN、 USB等。
F103只支持的UART:

F4支持多种串行接口:

不同型号MCU支持的串行接口不一样,具体请参看应用笔记 AN2606。
4自举程序中 USART 协议
通信就会牵涉到协议,这里也说一下自举程序中 USART 协议。
1.协议序列

当配置 STM32 微控制器为自举启动,系统将进入自举程序模式。
2.USART 自举程序命令集

3.命令流程
有命令就有相应命令执行流程,这里拿Get 命令流程为例:

其他命令流程这里就不一一讲述,请参看官方文档AN3155。
5自举程序上位机
自举程序主要是针对STM32进行编程,说白了,自举程序上位机就是FLASH编程工具。
自举程序上位机工具大家都比较熟悉,这里简单说一下。
1.STMFlashLoader
这个工具是相对叫老的工具,好像现在没有维护更新了。


主要就是使用UART对STM32FLASH读写擦除等操作。
2.STM32CubeProgrammer
这个工具在2月底更新到了V2.0.0,新增OTA功能。

写到这里,相信大家都更加明白这个工具的用途了吧?
上一篇:STM32最小系统硬件是怎么组成的?
下一篇:STM32F4的时钟系统的实现方法
推荐阅读最新更新时间:2026-03-18 00:53
- 用于 LED 照明的 DC 到 DC 单路输出电源
- EVAL-CN0399-SDPZ,评估套件基于 ADL5904 DC 至 6 GHz、45 dB TruPwr 检测器,具有包络阈值检测功能
- DMDB2101,基于 DGD2101 BLDC 功率级的评估板
- 基于数字信号处理器 (DSP) 的 ADDS-21992-EZLITE、ADSP-21992 EZ-KIT LITE 评估系统
- LT6656AIS6-3.3、3.3V 电压基准作为微功率稳压器的典型应用
- LT4276CIUFD 90W LTPoE++ 电源在正向模式下的典型应用电路,具有 12V、7A 输出
- LTC2917、3.3V、-10% 容限电源监视器
- LT3973EDD-5 1.21V 降压转换器的典型应用
- MAXREFDES1103:采用MAX17690的效率为91.7%的小型,24V / 250mA,无光耦反激式DC-DC转换器
- 用于便携式的 2 通道 AB 类音频功率放大器
- windows xp ddk driver studio 开发摄像机驱动程序,大家给点意见
- 【基于瑞萨R7F0C8的多功能测量表之4、利用CG配置定时器,实现频率测量。兼捉bug】
- Linux设备驱动开发详解:基于最新的Linux4.0内核
- 安装ADS1.2后载入网上的licence还是出现valid licence key not found错误,如何解决?
- 嵌入式开发电子技术经典资料12G
- 【已解决】如何在大焊盘周边叠加小焊盘并使其相互连接?
- linux下xinetd的问题
- 8招活学活用职场充电
- SUSE Linux 10.1 KDE 能构建嵌入式开发环境吗?
- 电感线圈的用途:扼流,滤波,震荡

stm32驱动屏IC rm68042
STM32 PMSM FOC 简介
基于STM32G031的测试测量训练平台完成虚拟仪器实现
现代雷达系统的信号设计
BFR340T






京公网安备 11010802033920号