STM32工作的自举程序 你了解多少?

本文主要讲述stm32启动模式中system memory的内容,以及围绕的相关内容。
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命令流程为例:
其他命令流程这里就不一一讲述
5自举程序上位机
自举程序主要是针对stm32进行编程,说白了,自举程序上位机就是flash编程工具。
自举程序上位机工具大家都比较熟悉,这里简单说一下。
1.stmflashloader
这个工具是相对叫老的工具,好像现在没有维护更新了。
主要就是使用uart对stm32flash读写擦除等操作。
2.stm32cubeprogrammer
这个工具在2月底更新到了v2.0.0,新增ota功能。
写到这里,相信大家都更加明白这个工具的用途了吧?

中国联通提高标准 加大云数据中心建设力度
支持供电协议的Salcomp USB Type-C充电器采用莱迪思灵活的端口控制器
关于5种常用运维监控工具的详细介绍与特点分析
百度文心一言背后的大模型实力如何? 文心一言背后的它全面领先
如何带动机器人的市场发展?
STM32工作的自举程序 你了解多少?
三星宣布将在今年上半年推出5G智能手机
HOLTEK新推出BS45F6052触控24-Bit A/D MCU
医疗设备3D图形挑战系统硬件开发
精密技术怎么样保证汽车安全
FPGA从Xilinx的7系列学起(15)
激光甲烷/乙烷泄漏检测车的特点
电机轴承发热的要素及处理办法
如何利用SpringBoot+Redis BitMap实现签到与统计功能?
在PCBA加工中贴片机的重要特性
比亚迪插混专用1.5L高效发动机刷新全球纪录,获能效之星称号
锤子坚果R1再次降价6GB+128GB组合版1999元起
2022年中国物联网产业大会暨品牌盛会召开 达实品牌荣获2项大奖
什么是5G直放站的带外杂散指标?
UCA认证和DGT V16成品整套认证服务方案