STM32L476RG利用串口下载程序

本文详细介绍了如何利用STM32L476RG开发板的串口进行程序下载,包括理论知识、所需软件和硬件准备、操作步骤。通过FlyMcu软件,将HEX文件通过串口烧录到单片机,即使没有STLINK或USB口被占用,也能实现程序的下载。
摘要由CSDN通过智能技术生成

前言

实际上,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文件通过串口下载到单片机FLYMCU截图 版本0.188

下载地址:MCUISP官网下载

2. 用于下载的HEX文件

keil工程Output设置
让keil工程编译出HEX文件,在设置中勾选Create HEX File,编译后找到并放在显眼的位置,如桌面

3.硬件准备

STM32L476RG-neucleo开发板
CH340 USB转串口模块 (其他芯片的只要能用都行)
杜邦线四根 (两根用来短接boot0和boot1 两根用于TX和RX)
Mini-USB线用于供电

STM32L476RG管脚图
BOOT0已在图上标出,BOOT1实际上是PB2
官方的BootLoader所用的串口应该是USART1,也就是PA9和PA10

操作流程

1.硬件连线

  1. 板子供电,这里采用的是电脑USB供电,充电宝供电,或者电源模块的VIN都可以。
  2. 板子左侧的BOOT0与上面的VCC短接,板子右侧的BOOT1与下面的GND短接
  3. 根据管脚图将PA9 Tx、PA10 Rx连接到CH340模块上,CH340连接上电脑
    L476连线俯瞰图
    CH340串口模块与电脑连接

2. 软件操作

打开FlyMcu,点搜索串口并选择对应串口,选择HEX文件(我的这个HEX只是一段简单的带RT-Thread操作系统的LED闪烁程序),勾选校验,不使用RTS和DTR
软件设置
然后点击开始编程,并按板子上的Rest按键,之后便有正在下载的提示,等待下载完成

下载完成
下载完成后拔除BOOT0与VCC的连线,并按Reset按键,就可以看到LED开始规律地闪烁。
实验成功

总结

利用ST官方提供的串口下载方式,在USB口或者是STLINK无法派上用场的时候,我们有了一种其他的下载办法。这个方法的通用性强,不论是F1,L4,还是H7系列应该都可以使用。虽然无法调试且下载速度较慢,但还是可以作为一个可能的烧录预案。

Ultra-low-power with FlexPowerControl – 1.71 V to 3.6 V power supply – -40 °C to 85/105/125 °C temperature range – 300 nA in V BAT mode: supply for RTC and 32x32-bit backup registers – 30 nA Shutdown mode (5 wakeup pins) – 120 nA Standby mode (5 wakeup pins) – 420 nA Standby mode with RTC – 1.1 µA Stop 2 mode, 1.4 µA with RTC – 100 µA/MHz run mode (LDO Mode) – 39 μA/MHz run mode (@3.3 V SMPS Mode) – Batch acquisition mode (BAM) – 4 µs wakeup from Stop mode – Brown out reset (BOR) – Interconnect matrix • Core: Arm ® 32-bit Cortex ® -M4 CPU with FPU, Adaptive real-time accelerator (ART Accelerator™) allowing 0-wait-state execution from Flash memory, frequency up to 80 MHz, MPU, 100DMIPS and DSP instructions • Performance benchmark – 1.25 DMIPS/MHz (Drystone 2.1) – 273.55 CoreMark ® (3.42 CoreMark/MHz @ 80 MHz) • Energy benchmark – 294 ULPMark™ CP score – 106 ULPMark™ PP score • Clock Sources – 4 to 48 MHz crystal oscillator – 32 kHz crystal oscillator for RTC (LSE) – Internal 16 MHz factory-trimmed RC (±1%) – Internal low-power 32 kHz RC (±5%) – Internal multispeed 100 kHz to 48 MHz oscillator, auto-trimmed by LSE (better than ±0.25 % accuracy) – 3 PLLs for system clock, USB, audio, ADC • Up to 114 fast I/Os, most 5 V-tolerant, up to 14 I/Os with independent supply down to 1.08 V • RTC with HW calendar, alarms and calibration • LCD 8× 40 or 4× 44 with step-up converter • Up to 24 capacitive sensing channels: support touchkey, linear and rotary touch sensors • 16x timers: 2x 16-bit advanced motor-control, 2x 32-bit and 5x 16-bit general purpose, 2x 16- bit basic, 2x low-power 16-bit timers (available in Stop mode), 2x watchdogs, SysTick timer • Memories – Up to 1 MB Flash, 2 banks read-while- write, proprietary code readout protection – Up to 128 KB of SRAM including 32 KB with hardware parity check – External memory interface for static memories supporting SRAM, PSRAM, NOR and NAND memories – Quad SPI memory interface • 4x digital filters for sigma delta modulator • Rich analog peripherals (independent supply) – 3x 12-bit ADC 5 Msps, up to 16-bit with hardware oversampling, 200 µA/Msps – 2x 12-bit DAC output channels, low-power sample and hold – 2x operational amplifiers with built-in PGA – 2x ultra-low-power comparators • 20x communication interfaces – USB OTG 2.0 full-speed, LPM and BCD – 2x SAIs (serial audio interface) – 3x I2C FM+(1 Mbit/s), SMBus/PMBus – 5x USARTs (ISO 7816, LIN, IrDA, modem)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值