LabVIEW实现ST-Link自动烧录单片机

简介: 在讲解LabVIEW实现ST-Link自动烧录之前先聊一聊ST官方提供一款专用的Flash烧录工具:ST-Link utility。

在讲解LabVIEW实现ST-Link自动烧录之前先聊一聊ST官方提供一款专用的Flash烧录工具:ST-Link utility。


a6b32ba1f050475f8de231c94fddd917[0].png


官方下载链接:https://www.st.com/en/development-tools/stsw-link004.html


安装完成后打开界面如下图所示,ST-Link utility具体操作请自行查看帮助文档或网络相关资源。


ea61d5a160a72888ebcc07cf699676df[0].png


ST-Link utility工具提供了CLI(Command Line Interface),帮助文档也详细介绍了相关指令如何使用,这里我就是通过CLI去实现自动下载的,其中的命令有很多,我只介绍几个有关烧录的,其它的自行查阅文档。


d08b461e2ff1495c68d607de3fc9e95a[0].png

31d16f6c0fa98dc41d40ebae012cb65d[0].png



接下来看看具体的实现步骤。


项目资源下载请参见:https://download.csdn.net/download/m0_38106923/87661155


1、添加CLI到系统环境变量中

将ST-Link_CLI.exe所在目录的路径(如D:\Program Files (x86)\STM32 ST-LINK Utility v4.6.0\ST-LINK Utility)添加到系统环境变量中,如下图所示:


ac02c7921eca15f075415ce28334904c[0].png


2、查询ST-Link/V2烧录器信息

先安装烧录器的USB驱动以确保能够正确识别到该烧录器硬件,驱动下载链接:


官方:https://www.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html

一切正常可以在设备管理器中找到它,如下图所示:


537e54036d3ec4cec761c370c521ee67.png


在命令行中输入:ST-LINK_CLI -List ,即可获取烧录器的SN和固件版本,如下图所示:


2c139be2f0e0ec148cb26108e3351b52.png


如果同时连接了多个,这里将展示出多个烧录器信息,SN信息在连接芯片时需要用到。


3、连接待烧录的MCU芯片

烧录前请确保硬件连接正常,使用 -c [ID=<id>/SN=<sn>] [JTAG/SWD] [FREQ=<frequency>] [UR/HOTPLUG] [LPM] 命令进行连接,其中包含了很多参数,简单说明如下:


参数1(ID/SN):提供烧录器的ID或SN信息,ID从[0..9],根据连接的烧录器数量递增,SN信息可以通过-List命令获取;

参数2(JTAG/SWD):选择使用的接口协议类别,是用JTAG还是SWD,默认使用的是JTAG,这里我选用SWD;

参数3(FREQ):设置不同协议的频率,JTAG和SWD支持的各不相同,JTAG默认使用的是9.0MHz, SWD默认使用的是4.0MHz,通常使用默认即可,也可以通过索引去设置 FREQ=x,SWD(x=0~10), JTAG(x=0~6),分别代表了不同的频率,具体请查看文档;

参数4:设置复位模式,UR(Connect to the target under reset), HOTPLUG(Connect to the target without halt or reset),这里我选用UR;

参数5:激活在低功耗模式下调试。

详细内容请阅读帮助文档,如下图所示:


15dee7a3a5b0d6bedeee475322c07da9.png


使用ID连接如下图所示:


537f6d0c444f4ac491f94826bc581e81.png


使用SN连接如下图所示:


87934d2a92ea44ed991b43ea4e3058b6.png


4、下载固件到Flash

使用 -P <File_Path> [<Address>] 命令进行操作,其中地址是可选的,如果没有特定要求可以不指定,STM32的Flash映射地址是从0x08000000开始的,固件文件格式支持3种:.bin, .hex, .srec;如果文件路径中有空格,需要包含在双引号中,演示如下图所示:


861a888afd820f5c86670deddff5e853.png


如果需要验证烧录是否成功,需要使用 -V [while_programming/after_programming] 命令,一种是在烧录中进行验证,另一种是在烧录完后进行,如下图所示:


22591a13c49f45bab2958985c769b8bf.png


到这里烧录功能就已经实现了,接下来说几个可能会用到的命令。


5、可能会使用的命令

5.1、-Rst

复位MCU,如下图所示:


2b11907a940d4e98be03a7b080f3340a.png


5.2、-ME

擦除整个芯片,如下图所示:


e1484e9ffe42e3f4f4050bddd7a1878e.png


5.3、-SE

擦除指定的扇区,-SE <Start_Sector> [<End_Sector>],如果只指定起始扇区号,就只擦除这个扇区,如 -SE 0 (擦除扇区0);如果指定了起始和结束扇区号,那么会擦除指定区间范围内的所有扇区,如 -SE 2 12 (擦除扇区2~扇区12),如下图所示:


a4e4c89abeb84ea49cd93014f5d15309.png


关于指令就介绍这么多,其它的功能需要用到的话请自行查阅帮助文档。


6、封装好的LabVIEW库

以上指令都是在命令行中输入的,用来手动验证还是不错的,为了更方便地使用,我把它们封装好了,如下图所示:


b610d03c796c6427b78c4b3368181413.png

beeb91b0b4e5ed37878700c8b8ae9b64.png


7d7cfcfbc30541c4a030c968d5839055.png

bd23d6d7744646be97b6c1248c8ab6ac.png


ccf73df37e2343be133f735ca89c4201.png


项目资源下载请参见:https://download.csdn.net/download/m0_38106923/87661155


相关文章
|
6月前
|
传感器 数据采集 监控
LabVIEW单片机的废气再循环EGR检测系统
LabVIEW单片机的废气再循环EGR检测系统
47 0
|
6月前
|
编译器 C语言 开发者
单片机原理与应用:探索微型计算机世界
单片机原理与应用:探索微型计算机世界
57 1
|
6月前
|
数据采集 数据处理 C语言
单片机:探索其原理、应用与编程实践
单片机:探索其原理、应用与编程实践
94 1
|
6月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
141 0
|
6月前
|
物联网
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
84 0
|
1月前
|
传感器 存储 物联网
单片机的原理与应用
单片机是一种将计算机的CPU、存储器、输入输出接口等功能集成在一块芯片上的微型计算机,被广泛应用于各类控制系统和智能设备中。
63 5
|
4月前
|
传感器 存储 程序员
《单片机原理与应用及C51编程技术》期末复习笔记
《单片机原理与应用及C51编程技术》期末复习笔记
|
6月前
|
传感器 人工智能 物联网
单片机:编程实践与应用探索
单片机:编程实践与应用探索
69 4
|
6月前
|
存储 芯片
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
|
6月前
|
传感器 安全 物联网
单片机在智能家居系统中的应用研究
单片机在智能家居系统中的应用研究
195 1

热门文章

最新文章