stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)

# 烧录方法

下面介绍三种方法

1.USB转TTL串口的烧录方法(烧录工具)

2.SWD的烧录方法(STLink和JLink)

3.USB转TTL串口的烧录方法(Arduion)

hex文件的生成可以用keil或Arduion

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(1)

# USB串口

首先购买的开发板要支持USB串口下载功能

## stm32-FlyMcu

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(2)

直接用STM32-FlyMcu软件工具进行烧录

通过usb连接开发板,无需短接

选择串口,选择文件,开始编程

STM32F103C6T6 依赖于芯片在出厂时预先烧写的bootloader程序

未知问题:读FLASH失败 一共32KB 可能已经读完了

已读出31KB,进度24%,耗时43547毫秒

读FLASH失败!!!

## STMFlashLoader Demo

硬件 boot0(在SWD那里)接3.3v boot1(PB2)接GND

usb连接

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(3)

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(4)

一直下一步

Download to device选择要下载的文件 选文件的时候记得选格式 否则不显示

下载成功后拔掉短接 按复位键

每次都要拔插不方便

# STM32 ST-LINKUtility

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(5)

## 连接

需要STLink

sw模式下 STLink

1管脚 VCC

7管脚 SWIO

9管脚 SWCLK

20管脚 GND

STLink貌似供电不足 需要usb额外供电

而且只连接了SWIO和SWCLK

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(6)

## 烧录

硬件正确连接后

点击左上角插头表示连接stlink

下面可以查看指定位置的数据

右边可以看见芯片信息

点击文档按钮

选择hex文件烧录

起始位置为0x08000000

出现“Verification...OK”,说明下载成功

# Keil

下载芯片支持包

Pack Installer

查找 STM32F103C6等待下载

## STLink

硬件连接

sw模式下 STLink

1管脚 VCC

7管脚 SWIO

9管脚 SWCLK

20管脚 GND

配置STLink

https://blog.csdn.net/kebidaixu/article/details/125172873

几个注意的地方

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(7)

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(8)

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(9)

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(10)

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(11)

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(12)

若是在Add中没有

下面文件夹下的.FLM文件

`C:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Flash`

复制到

`C:\Keil_v5\ARM\Flash`

文件夹中如果也没有

官网下载对应芯片的flash文件

https://www.keil.com/dd2/pack/#!#eula-container

## JLink

硬件连接

sw模式下 STLink

1管脚 VCC

7管脚 SWIO

9管脚 SWCLK

20管脚 GND

一定要接VCC和GND否则无法烧录成功

在上面配置的基础需要修改和注意的地方

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(13)

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(14)

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(15)

## JLink用J-Flash Lite工具烧录程序

硬件连接

sw模式下 STLink

1管脚 VCC

7管脚 SWIO

9管脚 SWCLK

20管脚 GND

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(16)

# Arduino

下载程序时需要短接引脚

boot0(在SWD那里)接3.3v boot1(PB2)接GND

连接USB

## 第一

首先要增加对stm32开发板的支持

启动aduinoide 在 工具>开发板>开发板管理器的界面中搜索 Arduino SAM Boards

选择 Arduino SAM Boards(32-bits ARM Cortex-M3)开发板的项目安装

(安装完成后没有变化)

## 第二

打开 https://github.com/rogerclarkmelbourne/Arduino_STM32

下载库包并解压到ARDUINO IDE安装目录的hardware文件夹下

## 第三

重启ide

工具>开发板 按照自己板子芯片型号选择开发板系列,本文是Generic STM32F103C series

工具>Upload method :"Serial" 上传方式选择串口

工具>端口 选择好自己对应的串口号

## 其他连接硬件

usbttl的rx和tx分别接到开发板的 Tx Rx上

boot0接3.3

boot1接GND

## 测试程序

示例>A_STM32_Examples>Digital>Blink

PB1连接一个LED灯

其他板子查看自己板子的管脚定义

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(17)

# 总结

上面种种烧录方法

总结只有两个

1.USB转TTL串口烧录

2.SWD烧录

USB转TTL串口烧录,单片机内有一段预先内置的bootloader程序可以与电脑UART串口通信(芯片引脚tx rx),通过短接的方式触发进入bootloader,电脑将程序传给单片机,单片机bootloader程序将接收到的程序放在指定运行位置。(为什么STM32-FlyMcu不需要短接,可能是通过信号触发的,与DTR、RTS有关)

SWD烧录,芯片硬件上支持(寄存器边界扫描技术),SWD用于调试芯片程序调试的接口。

断点调试

stm32程序批量烧录(STM32F103C6T6开发板多种烧录方法)(18)

最终建议使用JLink可下载可调试,而且还支持JTAG调试模式

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页