关于STM32自举程序原理和使用详细解析

发布者:CaptivatingEyes最新更新时间:2024-04-19 来源: elecfans关键字:STM32  自举程序  串口下载 手机看文章 扫描二维码
随时随地手机看文章

很很多单片机都有自举程序,像支持STC单片机使用串口下载,这种其实也是单片机内部集成了一段自举程序。


那你,你了解自举程序吗?下面结合STM32给大家分享一下关于自举程序的知识。


1关于自举程序

STM32中内嵌了一段自举程序,可能很多人不知道。

那段自举程序存放在System memory(系统存储器)中,我们通过配置启动,选择启动系统存储器就可以运行这段程序。

2STM32启动配置

STM32有三种启动模式:

Main Flash memory:主FLASH

System memory:系统存储器

Embedded SRAM:内置SRAM

三种模式是通过不同配置来实现,一般通过BOOT引脚和BOOT位来配置启动模式。

不同的芯片配置有差异,有些芯片没有BOOT1引脚,会结合BOOT位来实现。

F1启动配置:

d330b4da-a2d2-11eb-aece-12bb97331649.jpg?imageView2/2/w/1000

F0启动配置:

d341ce28-a2d2-11eb-aece-12bb97331649.jpg?imageView2/2/w/1000

复位后,在 SYSCLK 的第四个上升沿锁存 BOOT 引脚的值。复位后,用户可以通过设置BOOT1 和 BOOT0 引脚来选择需要的启动模式。

3内嵌的自举程序

STM32内嵌的自举程序存放在系统存储区,由ST在生产线上写入,用户不能修改。

我们选择System memory(系统存储器)启动模式,就会进入系统存储区执行自举程序。

内嵌的自举程序主要用于通过串行接口重新编程 Flash。

有哪些串行接口呢?

UART、 I2C、 SPI、 CAN、 USB等。

F103只支持的UART:

d3840446-a2d2-11eb-aece-12bb97331649.jpg?imageView2/2/w/1000

F4支持多种串行接口:

d3904936-a2d2-11eb-aece-12bb97331649.jpg?imageView2/2/w/1000

不同型号MCU支持的串行接口不一样,具体请参看应用笔记 AN2606。

4自举程序中 USART 协议

通信就会牵涉到协议,这里也说一下自举程序中 USART 协议。

1.协议序列

d39b3dfa-a2d2-11eb-aece-12bb97331649.jpg?imageView2/2/w/1000

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

2.USART 自举程序命令集

d409547a-a2d2-11eb-aece-12bb97331649.jpg?imageView2/2/w/1000

3.命令流程

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

d450e6f0-a2d2-11eb-aece-12bb97331649.jpg?imageView2/2/w/1000

其他命令流程这里就不一一讲述,请参看官方文档AN3155。

5自举程序上位机

自举程序主要是针对STM32进行编程,说白了,自举程序上位机就是FLASH编程工具。

自举程序上位机工具大家都比较熟悉,这里简单说一下。

1.STMFlashLoader

这个工具是相对叫老的工具,好像现在没有维护更新了。

d460a694-a2d2-11eb-aece-12bb97331649.png?imageView2/2/w/1000

d47e016c-a2d2-11eb-aece-12bb97331649.png?imageView2/2/w/1000

主要就是使用UART对STM32FLASH读写擦除等操作。

2.STM32CubeProgrammer

这个工具在2月底更新到了V2.0.0,新增OTA功能。

d4879bfa-a2d2-11eb-aece-12bb97331649.jpg?imageView2/2/w/1000

写到这里,相信大家都更加明白这个工具的用途了吧?


关键字:STM32  自举程序  串口下载 引用地址:关于STM32自举程序原理和使用详细解析

上一篇:STM32最小系统硬件是怎么组成的?
下一篇:STM32F4的时钟系统的实现方法

推荐阅读最新更新时间:2026-03-18 00:53

关于stm32串口下载的问题
今天在用stm32f103rct6调程序的时候,不知道怎么回事j-link不能下载了,好像还不是驱动的问题,是她彻底坏了,没办法只能用串口下载了,以前没弄过,果然碰壁了。 首先、将boot0置1,boot1置0 其次就是串口的选择问题,注意需要选择串口1进行程序的下载
[单片机]
关于<font color='red'>stm32</font><font color='red'>串口</font><font color='red'>下载</font>的问题
STM32串口下载后,不小心写保护和读保护了,如何解锁?
在STM32的开发过程中,有些时候可能会不小心开启了写保护和读保护,这将导致程序无法正常使用。此时,需要解锁芯片以便重新烧写程序。本文将介绍如何在STM32中解锁写保护和读保护,并提供详实的步骤以供参考。 1. 测试板子 在开始解锁之前,需要测试板子是否在保护状态下。首先,连接板子到电脑,并打开开发环境。在开发环境的终端中输入命令: ``` bash stm32flash /dev/tty.usbserialXXXX -Rs ``` 如果板子上的芯片已经被保护,则会显示以下信息: ``` bash Failed to init device. ``` 如果芯片没有被保护,则会显示以下信息(具体数字可能会有所不同): ``` bas
[单片机]
使用FlyMCU对STM32串口下载程序出错的解决方法
1,问题:使用FlyMCU对STM32进行串口下载程序时出现0KB出错,如下图所示: 2,分析:出现上述所示错误是因为勾选 了 编程到FLASH是写选项字节 3,解决方法: (1)安装 STM32 ST-LINK Utility 软件(百度 搜索 “STM32 ST-LINK Utility” 即可获得下载) (2)安装软件 (3)使用管理员身份运行该软件 (4)操作: 步骤如下:Target -- Connect -- Option Bytes... 进入Option Bytes后 直接点击Apply (5)使用STM32 ST-LINK Utility下载自己提供的 xxx.hex 文件 步骤如下:File -
[单片机]
使用FlyMCU对<font color='red'>STM32</font><font color='red'>串口</font><font color='red'>下载</font><font color='red'>程序</font>出错的解决方法
正点原子stm32精英开发板串口一键下载电路原理分析
使用串口芯片CH340中的DTR引脚和RTS引脚来控制单片机复位引脚和BOOT0引脚的电平状态,从而实现一键下载。对于这个一键下载电路,重点是这2个地方没问题就足够理解了:1.得有看懂三极管电路开关状态的能力 2.得明白CH340的DTR RTS引脚电平状态是可以由软件来控制的 1.使用串口下载前,先这样连接:单片机串口1的tx1 rx1分别和ch340的rx tx连接,同时把boot0 boot1引脚都10k****下拉到地(若直接连地则电平状态无法改变了,也就无法切换boot启动配置了) 2.如图2,10k在这里:boot引脚拉一个10k电阻到排针 图2 3.图3为正点原子精英板usb转串口的ch340电路,使用fly
[单片机]
正点原子<font color='red'>stm32</font>精英开发板<font color='red'>串口</font>一键<font color='red'>下载</font>电路原理分析
STM32笔记(一)---串口ISP模式下载原理
-------------------------- –串口ISP模式下载原理– -------------------------- 先放几张火哥的教程截图: 图1 图2 图3 图4 通过图1可以了解到,不同的下载方式中所需要的不同启动模式: 在项目实际应用中的Boot设置: 默认使用程序代码存储在主闪存存储器,配置方式:BOOT0=0,BOOT1=0,但是要预留boot0上拉电阻工位,便于将其电平拉高,实现串口烧录。 如图3所示,只需要通过改变RTS电位使S8550是否导通,导通时实现图2的电路效果将Boot0拉高,否则Boot0为低电位。 一旦完成Boot0与Boot1的10设置后,需要
[单片机]
<font color='red'>STM32</font>笔记(一)---<font color='red'>串口</font>ISP模式<font color='red'>下载</font>原理
STM32串口下载方式简单总结
这里简单说明一下一键下载电路的原理,我们知道, STM32 串口下载的标准方法是 2 个步 骤: 1, 把 B0 接 V3.3(保持 B1 接 GND)。 2, 按一下复位按键。 通过这两个步骤,我们就可以通过串口下载代码了,下载完成之后,如果没有设置从 0X08000000 开始运行,则代码不会立即运行,此时,你还需要把 B0 接回 GND,然后再按一 次复位,才会开始运行你刚刚下载的代码。所以整个过程,你得跳动 2 次跳线帽,还得按 2 次 复位,比较繁琐。而我们的一键下载电路,则利用串口的 DTR 和 RTS 信号,分别控制 STM32 的复位和 B0,配合上位机软件(mcuisp),设置: DTR 的低电平复位, RTS
[单片机]
<font color='red'>STM32</font><font color='red'>串口</font><font color='red'>下载</font>方式简单总结
ARM学习《五》——关于STM32串口下载
经过两天的努力终于把刚做的STM32最小系统版调试好了,做了两件事:一,把串口调通了,可以往PC机上发送数据。二,可以进行串口下载了。今天把串口下载的步骤记录下来 当然要进行串口下载首先要将232电路调通,保证可用,就是无障碍的和PC通讯。然后将写好编译好的HEX文件载入下载即可,这里STM32的识别hex文件的,这点比LM3S系列的ARM 强。首先要到网上下载Flash_Loader_Demonstrator_V2.1.0_Setup这个串口下载的上位机软件,是安装版的,网上到处都是,去ST官方网站去下载也可以。 串口下载程序软件: 官方: http://www.st.co
[单片机]
ARM学习《五》——关于<font color='red'>STM32</font><font color='red'>串口</font><font color='red'>下载</font>
可在线更新应用程序代码的DSP自举模块
针对现有DSP自举模块普遍存在程序代码更新不便的缺陷,提出了一种可便捷高效地在线更新用户应用程序代码的DSP自举模块。该模块由基于LabVIEW的图形用户界面(GUI)软件与C8051F340单片机构成。GUI软件完成DSP应用程序代码的格式转换,并通过驱动USB将转换完成的程序代码传送给C8051F340。C8051F340通过其片上USB外设接收DSP程序代码并存储于片上FLASH中,同时借助标准串行总线控制DSP完成应用程序代码的自举操作。该模块采用在线方式,可一键实现DSP应用程序代码的更新升级与自举操作。 TMS320VC54x系列DSP作为一种低功耗高速处理器在消费电子、通信等领域应用广泛 。通常为实现DSP程序代码
[嵌入式]
可在线更新应用<font color='red'>程序</font>代码的DSP<font color='red'>自举</font>模块
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved