单片机学习小组
登录
直播中
凌流浪
9年用户
1063经验值
擅长:可编程逻辑 电源/新能源
私信
关注
如何利用L476进行串口烧录实验?
开启该帖子的消息推送
嵌入式
如何利用L476进行串口烧录实验?
回帖
(1)
曹皓轩
2022-2-10 09:41:18
前言
实际上,STM32L476RG-neucleo开发板自带STLINKv2,可以直接通过USB连接电脑,完成调试和下载。
但不是所有的开发板都板载了STLINK,而且在实际开发中USB口可能被占用,无法用来连接电脑,所以只能通过其他的方式下载,如串口或PA13、PA14接外置的STLINK。
STLINK的使用方法相对简单,购买硬件,连上4根线(VCC,GND,SWCLK,SWIO),就可以使用SWD调试或是直接下载了。
然而ST官方还给我们留了串口下载这个方法,利用BootLoader和串口模块就可以对单片机进行烧录。本文利用L476进行串口烧录实验。
理论知识
在STM32上电的时候,BOOT0、BOOT1脚的电平状态确定了STM32启动方式:
BOOT0=0 BOOT1=x 从用户闪存启动,这是一般的工作模式。(x为任意)
BOOT0=1 BOOT1=0
从系统存储器启动,这种模式启动的程序功能由厂家设置,一般为一段BootLoader引导程序,可以用于串口下载程序
BOOT0=1 BOOT1=1 从内置SRAM 启动,这种模式可以用于频繁快速调试。(一般用不上)
一些准备
1. FlyMcu软件
国内单片机爱好者开发的软件,可以用来将keil编译生成的hex文件通过串口下载到单片机
下载地址:
MCUISP官网下载
2. 用于下载的HEX文件
让keil工程编译出HEX文件,
在设置中勾选Create HEX File
,编译后找到并放在显眼的位置,如桌面
3.硬件准备
STM32L476RG-neucleo开发板
CH340 USB转串口模块 (其他芯片的只要能用都行)
杜邦线四根 (两根用来短接boot0和boot1 两根用于TX和RX)
Mini-USB线用于供电
BOOT0已在图上标出,BOOT1实际上是PB2
官方的BootLoader所用的串口应该是USART1,也就是PA9和PA10
操作流程
1.硬件连线
板子供电,这里采用的是电脑USB供电,充电宝供电,或者电源模块的VIN都可以。
板子左侧的BOOT0与上面的VCC短接,板子右侧的BOOT1与下面的GND短接
根据管脚图将PA9 Tx、PA10 Rx连接到CH340模块上,CH340连接上电脑
2. 软件操作
打开FlyMcu,点搜索串口并选择对应串口,选择HEX文件(我的这个HEX只是一段简单的带RT-Thread操作系统的LED闪烁程序),勾选校验,不使用RTS和DTR
然后
点击开始编程,并按板子上的Rest按键
,之后便有正在下载的提示,等待下载完成
下载完成后
拔除BOOT0与VCC的连线,并按Reset按键
,就可以看到LED开始规律地闪烁。
总结
利用ST官方提供的串口下载方式,在USB口或者是STLINK无法派上用场的时候,我们有了一种其他的下载办法。这个方法的通用性强,不论是F1,L4,还是H7系列应该都可以使用。虽然无法调试且下载速度较慢,但还是可以作为一个可能的烧录预案。
前言
实际上,STM32L476RG-neucleo开发板自带STLINKv2,可以直接通过USB连接电脑,完成调试和下载。
但不是所有的开发板都板载了STLINK,而且在实际开发中USB口可能被占用,无法用来连接电脑,所以只能通过其他的方式下载,如串口或PA13、PA14接外置的STLINK。
STLINK的使用方法相对简单,购买硬件,连上4根线(VCC,GND,SWCLK,SWIO),就可以使用SWD调试或是直接下载了。
然而ST官方还给我们留了串口下载这个方法,利用BootLoader和串口模块就可以对单片机进行烧录。本文利用L476进行串口烧录实验。
理论知识
在STM32上电的时候,BOOT0、BOOT1脚的电平状态确定了STM32启动方式:
BOOT0=0 BOOT1=x 从用户闪存启动,这是一般的工作模式。(x为任意)
BOOT0=1 BOOT1=0
从系统存储器启动,这种模式启动的程序功能由厂家设置,一般为一段BootLoader引导程序,可以用于串口下载程序
BOOT0=1 BOOT1=1 从内置SRAM 启动,这种模式可以用于频繁快速调试。(一般用不上)
一些准备
1. FlyMcu软件
国内单片机爱好者开发的软件,可以用来将keil编译生成的hex文件通过串口下载到单片机
下载地址:
MCUISP官网下载
2. 用于下载的HEX文件
让keil工程编译出HEX文件,
在设置中勾选Create HEX File
,编译后找到并放在显眼的位置,如桌面
3.硬件准备
STM32L476RG-neucleo开发板
CH340 USB转串口模块 (其他芯片的只要能用都行)
杜邦线四根 (两根用来短接boot0和boot1 两根用于TX和RX)
Mini-USB线用于供电
BOOT0已在图上标出,BOOT1实际上是PB2
官方的BootLoader所用的串口应该是USART1,也就是PA9和PA10
操作流程
1.硬件连线
板子供电,这里采用的是电脑USB供电,充电宝供电,或者电源模块的VIN都可以。
板子左侧的BOOT0与上面的VCC短接,板子右侧的BOOT1与下面的GND短接
根据管脚图将PA9 Tx、PA10 Rx连接到CH340模块上,CH340连接上电脑
2. 软件操作
打开FlyMcu,点搜索串口并选择对应串口,选择HEX文件(我的这个HEX只是一段简单的带RT-Thread操作系统的LED闪烁程序),勾选校验,不使用RTS和DTR
然后
点击开始编程,并按板子上的Rest按键
,之后便有正在下载的提示,等待下载完成
下载完成后
拔除BOOT0与VCC的连线,并按Reset按键
,就可以看到LED开始规律地闪烁。
总结
利用ST官方提供的串口下载方式,在USB口或者是STLINK无法派上用场的时候,我们有了一种其他的下载办法。这个方法的通用性强,不论是F1,L4,还是H7系列应该都可以使用。虽然无法调试且下载速度较慢,但还是可以作为一个可能的烧录预案。
举报
更多回帖
rotate(-90deg);
回复
相关问答
嵌入式
怎样使用STM32 Nucleo
L476
读取或写入寄存器位呢?
2023-01-17
373
如何快速入门STM32
L476
R?
2021-11-29
1023
为STM32
L476
RC编译的FW可以在STM32
L476
RE中
进行
安全闪存吗
2022-12-20
475
DFSDM在playbuff中收集什么样的数据?
2023-02-02
391
STM32
L476
支持高速USB通信吗?
2024-04-12
427
STM32
L476
上Tim15.2的PWM不工作怎么处理?
2022-12-26
344
Nucleo STM32
L476
和Arduino TFT屏蔽引脚映射
2018-09-20
3232
关于51单片机
烧录
程序的问题
2016-11-09
7792
在哪里可以找到STM32
L476
g工具包呢
2022-12-21
362
VL53
L
0X GUI无法识别NUCLEO-
L476
RG板怎么解决?
2023-01-09
514
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分