STM32 ISP 升级体验

摘要

今天玩了一下STM32的ISP升级,记录一下。

前面一段时间工作在调试其他 ARM 芯片的 Bootloader。 就想看看之前了解的 STM32 的 ISP 升级,但是之前一直没试过。

STM32 启动

之前调试 ARM 启动,知道芯片会有一段 BootRom 程序固化在芯片中,这个程序能够加载程序代码到片上 RAM 执行,程序可能来自外部 Flash 或者 串口实时传输。

然后我看了 STM32 F1 的启动,好像BootRom做的内容很简单,只是做了一个地址映射(也可能是我没看全),分3种启动方式。

BOOT1 BOOT0 启动模式 说明
X 0 主闪存存储器 主闪存存储器被选为启动区域
0 1 系统存储器 系统存储器被选为启动区域
1 1 内置SRAM 内置SRAM被选为启动区域

我们平时使用,都是使用的主闪存存储器。就是用Jlink啥的烧写代码,都是烧在主闪存存储器,至于他怎么用JLink烧进去的,我后面再看看呢。

从主闪存存储器启动:主闪存存储器被映射到启动空间(0x00000000),但仍然能够在它原有的地址(0x08000000)访问它。

从系统存储器启动:系统存储器被映射到启动空间(0x00000000),但仍然能够在它原有的地址(互联型产品原有地址为0x1FFF B000,其它产品原有地址为0x1FFF F000)访问它。

从内置SRAM启动:只能在0x2000 0000开始的地址区访问SRAM。

摘录自(STM32中文参考手册)

先不讨论从内置SRAM启动,也就是说,在芯片的地址 0x08000000 开始存放着用户自己烧写的代码,0x1FFFF000 开始存放着ST官方烧写的一段代码。

我们通过控制BOOT引脚,就能控制哪一段代码被映射到0x00000000去执行。

我测试的是系统存储器启动,所以我将BOOT0置1,BOOT1置0。

系统存储器代码下载

系统存储器代码,复位后,使用串口,偶校验,8位数据位,1位停止位,波特率不固定,他会在你第一次发送指令后,计算实际的波特率。

系统存储器代码包含很多功能,读取设备ID,写闪存数据,读闪存数据,这个协议,官方编写了相应的文档《AN2606》和《AN3155》即可知晓他的读写逻辑。

官方的下载器STM32CubeProgrammer,就是使用的这个协议,做的下载和读写。使用串口连接后,就能够下下载和读取了,简易连接前先复位,

记得将BOOT0置1,BOOT1置0。

连接成功后,他会自己去读一下用户主闪存存储器区域的代码,也就是 0x08000000 开始的代码,你也可以点击那个读自己读。

点击那个+号,就可以导入自己的HEX文件,然后下载。

下载完成后,将启动调整成主闪存存储器启动BOOT0置0,BOOT1置0即可,然后复位就可以看到升级内容了。

后续

这个升级一般应该是用在大量出货的时候吧。

好像这个升级还有什么校验的,后面再关注一下。

资料获取

本项目资料完全开源,包含文档和软件安装包。资料包获取方式:

github : https://github.com/snqx-lqh/ProjectReleasePage

gitee(国内镜像) :https://gitee.com/snqx-lqh/ProjectOpenSourceReleasePage

项目属于 32 的编号 B008 ,在发布页中,找到对应项目获取方式。

相关推荐
Jason_zhao_MR1 小时前
米尔电子参展预告_中国工博会2026-外发版
嵌入式硬件·机器人·工业控制
Zw-awa1 小时前
电机家族:有的电机听“目标”,有的电机听“力气”
stm32
FPGA小徐5 小时前
STM32五路气敏传感器阵列电路详解:从HHC1000分压到AD8606跟随器和ADC采样
stm32·单片机·嵌入式硬件
Horn Still Sounds7 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
智感子7 小时前
无人值守称重:地磅系统架构与流程
嵌入式硬件
新晨单片机设计9 小时前
S011C-基于STM32智能灯光控制系统(光强、声音、人体)【Proteus仿真+Keil程序+原理图】
stm32·嵌入式硬件·proteus·智能灯光控制系统
无敌贵点大王9 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
女神下凡11 小时前
芯参谋(26):DDR4_软件设计规范
arm开发·单片机·嵌入式硬件
zd84510150012 小时前
DSLogic逻辑分析仪连接失败
嵌入式硬件
国科安芯12 小时前
星载通信载荷信号处理中抗辐射微控制器的选型与适应性分析
人工智能·嵌入式硬件·mcu·信号处理·risc-v·抗辐射·空间信息