打印
[其他ST产品]

STM32芯片烧录的三种方式介绍

[复制链接]
5956|97
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
STM32芯片烧录的三种方式介绍,串口、STM32 ST-LINK Utility以及STM32CubeProgrammer
概述1.1资源概述

开发板:正点原子STM32F103 Nano开发板
STM32 ST-LINK Utility版本:V4.5.0.0
STM32CubeProgrammer版本:V2.4.0
MDK版本:V5.23
主控芯片型号:STM32F103RBT6




使用特权

评论回复
沙发
9dome猫|  楼主 | 2024-1-31 23:25 | 只看该作者
.2 STM32串口烧录方式(ISP)-FLYMCU
启动模式说明说明,我们选择系统存储器启动。

使用特权

评论回复
板凳
9dome猫|  楼主 | 2024-1-31 23:25 | 只看该作者
内嵌的自举程序存放在系统存储区,由ST在生产线上写入,用于通过可用的串行接口对闪存存储器进行重新编程: ● 对于小容量、中容量和大容量的产品而言,可以通过USART1接口启用自举程序。串口烧录的原理就是利用这个自举程序读取串口的数据,对内部Flash进行擦写,实现程序的烧录。

使用特权

评论回复
地板
9dome猫|  楼主 | 2024-1-31 23:25 | 只看该作者
使用串口进行烧录,上位机可采用FLYMCU,然后通过USB转串口线(或者板)给目标设备进行烧录。需要注意的是,如果是M3内核非互联网型的板子这里的串口必须是串口1,对应为GPIO9和GPIO10。如果是M4内核,可以是下述端口。
● USART1(PA9/PA10)
● USART3(PB10/11 和 PC10/11)
● CAN2(PB5/13)
● USB OTG FS(PA11/12) 从设备模式(DFU:器件固件升级)。

使用特权

评论回复
5
9dome猫|  楼主 | 2024-1-31 23:25 | 只看该作者
BOOT1设为0,BOOT0设为1,按复位键即可进入串口下载模式,打开FLYMCU软件,选择正确的串口,点击读器件信息,显示连接成功。

使用特权

评论回复
6
9dome猫|  楼主 | 2024-1-31 23:26 | 只看该作者
打开所需要下载的HEX文件,这里由于电路上没有自动复位进BOOT区的电路(正点原子部分高级一点的板子有),我们选择不使用RTS和DTR。点击开始编程。直至下载成功。

使用特权

评论回复
7
9dome猫|  楼主 | 2024-1-31 23:26 | 只看该作者
下载完成后,将BOOT0跳线跳到0,按一下Reset键,程序即可正常运行。
使用这种串口方式烧录时,若选择STLINK进行烧录,将会报错。未检测到STLINK错误提示。需要使用另外的工具进行烧录。

使用特权

评论回复
8
9dome猫|  楼主 | 2024-1-31 23:26 | 只看该作者

使用特权

评论回复
9
9dome猫|  楼主 | 2024-1-31 23:26 | 只看该作者
2.KEIL软件下载介绍(内部集成STLINK)
可以使用KEIL内部集成的STLINK组件进行烧录,使用此种方式进行烧录时,将STLINK连接到电脑,在KEIL中可以检测到STLINK。

使用特权

评论回复
10
9dome猫|  楼主 | 2024-1-31 23:27 | 只看该作者
建立工程并编译通过后,可以实现内部集成的烧录工具实现对目标开发板(芯片)的烧录工作。

使用特权

评论回复
11
9dome猫|  楼主 | 2024-1-31 23:27 | 只看该作者
缺点是显而易见的,当我们工程文件缺失,只有烧录目标程序.bin或者.hex文件时,我们就不能通过这种方式进行烧录操作。接下来我给大家介绍两个ST官方的烧录软件,可以在ST官方网站上下载到。分别是STM32 ST-LINK Utility和STM32CubeProgrammer。

使用特权

评论回复
12
9dome猫|  楼主 | 2024-1-31 23:27 | 只看该作者
3 STM32 ST-LINK Utility介绍
3.1 windows操作系统
3.1.1 软件烧录
上位机可采用ST官方的STLINK软件,然后通过STLINK模块给目标设备进行烧录。

使用特权

评论回复
13
9dome猫|  楼主 | 2024-1-31 23:27 | 只看该作者
此软件需要使用STLINK仿真烧录器,支持.bin/.src/.hex/.src/.s19五种格式的烧录文件下载。烧录文件在MDK软件编译工程时会自动生成。正点原子的例程烧录文件位于OBJ文件夹中(.hex)。如果是使用STM32CUBEIDE生成的工程,编译后烧录文件位于Debug文件夹中(.bin)。

使用特权

评论回复
14
9dome猫|  楼主 | 2024-1-31 23:27 | 只看该作者

使用特权

评论回复
15
9dome猫|  楼主 | 2024-1-31 23:27 | 只看该作者
这个软件支持开发板板载的STLINK V2.1进行烧录操作,不会提示需要固件升级等任何错误。具备烧录软件和芯片已烧软件比对灯功能。软件体积小巧,非常好用。

使用特权

评论回复
16
9dome猫|  楼主 | 2024-1-31 23:28 | 只看该作者
3.1.2 stlink对芯片的部分Sector进行擦除
在使用Bootloader+App的使用方式时,我们烧录App时,如果每次都对全片进行擦除,那么每次的Bootloard将会被我们擦除掉,导致程序需要下载两遍。我们可以选择对部分的Sector进行擦除,而不是全部。
案例:某个Bootloader对应开始地址为0x8000000,结束地址为0x80042B0

使用特权

评论回复
17
9dome猫|  楼主 | 2024-1-31 23:28 | 只看该作者

使用特权

评论回复
18
9dome猫|  楼主 | 2024-1-31 23:28 | 只看该作者

APP应用对应的首地址为0x8010000

使用特权

评论回复
19
9dome猫|  楼主 | 2024-1-31 23:28 | 只看该作者


结束地址为0x8015BD0

使用特权

评论回复
20
9dome猫|  楼主 | 2024-1-31 23:28 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

1407

帖子

2

粉丝