stm32之使用串口下载程序

本文详细介绍了STM32的常用程序下载方式,包括串口、SWD和J-Link,以及启动配置如何通过BOOT0和BOOT1设置。重点讲解了如何通过CH340实现串口下载,以及BootLoader在不同启动模式下的作用。
摘要由CSDN通过智能技术生成

1 stm32常用的程序下载方式

将程序下载到stm32芯片通常有以下三种方式:

  • 串口转USB:需要用到一个CH340芯片,网上购买stm32基础套件时一般会有使用该芯片连接USB的模块,连接该芯片时需要占用芯片的USTART_TX和USTART_RX,分别对应芯片的PA9和PA10
  • SWD方式:例如,st-link v2,需要使用stm32的SWDIO和SWCLK引脚,分别对应芯片的PA13和PA14
  • J_LINK方式:需要使用stm32的TCK(时钟)、TMS(模式选择)、TDI(数据输入)、TDO(数据输出)、TRST(复位)引脚

2 stm32的启动配置

启动配置就是指定程序开始执行的位置。由于stm32芯片内部有多种存储设备,可以让程序从不同的地方启动,因此,需要对启动的存储设备进行配置。

stm32可以通过配置BOOT0和BOOT1引脚设置启动配置:

  • BOOT1=x,BOOT0=0:最常用的模式,执行Flash程序存储器中的程序
  • BOOT1=0,BOOT0=1:串口下载模式,执行系统存储器中的程序,该程序是一段BootLoader程序,会将串口发送来的数据写入到Flash程序存储器
  • BOOT1=1,BOOT0=1:内置SRAM模式,一般用于调试,较少使用

按照以上说明,如果要使用串口下载程序,就需要先使用串口下载模式将程序下载到Flash程序存储器,然后使用常规模式执行Flash程序存储器中的程序。

启动配置只在上电复位时有效,也就是说,只有当通电和复位时会根据BOOT0和BOOT1确定启动配置。

3 使用串口下载程序

使用串口下载程序之前需要将CH340的引脚接好,具体连线为:

  • A9 -> RXD
  • A10 -> TXD
  • GND -> GND
  • VCC -> 3.3V

然后将USB TO TTL插入电脑的USB接口,并将电源线接好。

将程序编译为HEX文件后,就可以将程序下载到stm32中。

这里使用FlyMcu软件将HEX文件写入到stm32中,从上述官网下载程序包,直接解压就可以运行:

请添加图片描述

先设置为串口下载模式(BOOT1=0,BOOT0=1),然后按下复位(如果是刚上电,可以不用按复位),再点击“开始编程”,程序就会下载到stm32中开始执行。

  • 当BOOT1=0、BOOT0=1时,如果按复位,此时就会执行BootLoader程序等待串口数据写入,当数据写入Flash程序存储器后,还是会执行Flash程序存储器中的程序
  • 当BOOT1=x、BOOT0=0时,如果按复位,此时还是会执行Flash程序存储器中的程序

因此,如果是开发,可以直接使用串口下载模式,每次编译好HEX文件后,点击复位,然后下载程序,该过程就跟C51单片机下载过程类似了。

4 总结

当从网上购买stm32开发板基础套件时,可能只有USB TO TTL,因此只能使用串口下载方式。使用串口下载方式需要了解stm32的启动配置,也就是BOOT0和BOOT1对应的含义。

下载程序之前需要先将CH340的引脚接好,然后在点击复位时,将程序下载到stm32中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值