0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LabVIEW实现ST-Link自动烧录的方法

jf_xutpKvFS 来源:LabVIEW QT 修炼之路 2023-04-03 10:10 次阅读

还记得刚毕业那会弄过一台测试设备,测试空调主板功能,测试前需要进行固件烧录,其中用到的主控芯片就是STM32Fxxx,具体型号不记得了,当时是哪种方式去实现的也不太记得了,现在又需要解决STM32F4xx的芯片自动烧录问题,索性整理成档便于以后查阅。

用ST官方提供的一个工具即可实现,那就是ST-Link utility,使用简单下载方便。

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

64694bb6-d12e-11ed-bfe3-dac502259ad0.png

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

649bf11a-d12e-11ed-bfe3-dac502259ad0.png

64bea12e-d12e-11ed-bfe3-dac502259ad0.png

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

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

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

64d575e8-d12e-11ed-bfe3-dac502259ad0.png

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

先安装烧录器的USB驱动以确保能够正确识别到该烧录器硬件

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

6515d976-d12e-11ed-bfe3-dac502259ad0.png

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

653c653c-d12e-11ed-bfe3-dac502259ad0.png  

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

------3. 连接待烧录的MCU芯片------

烧录前请确保硬件连接正常,使用 -c [ID=/SN=] [JTAG/SWD] [FREQ=] [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:激活在低功耗模式下调试; 详细内容请阅读帮助文档,如下图所示:

658a81ea-d12e-11ed-bfe3-dac502259ad0.png

使用ID连接如下图所示:

65c3362a-d12e-11ed-bfe3-dac502259ad0.png

使用SN连接如下图所示:

65dbc05a-d12e-11ed-bfe3-dac502259ad0.png

------4. 下载固件到Flash------

使用-P [

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

65fdae9a-d12e-11ed-bfe3-dac502259ad0.png

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

6621a0e8-d12e-11ed-bfe3-dac502259ad0.png

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

------5. 可能会使用的命令------

5.1 -Rst

复位MCU,如下图所示:

664009f2-d12e-11ed-bfe3-dac502259ad0.png  

5.2 -ME

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

665d0598-d12e-11ed-bfe3-dac502259ad0.png  

5.3 -SE

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

667d1ec8-d12e-11ed-bfe3-dac502259ad0.png  

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

------6. 封装好的LabVIEW------

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

66be92e0-d12e-11ed-bfe3-dac502259ad0.png

66d9b20a-d12e-11ed-bfe3-dac502259ad0.png

67004708-d12e-11ed-bfe3-dac502259ad0.png

67216f78-d12e-11ed-bfe3-dac502259ad0.png

68361cf6-d12e-11ed-bfe3-dac502259ad0.png







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1918

    文章

    3619

    浏览量

    316992
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348744
  • CLI
    CLI
    +关注

    关注

    1

    文章

    79

    浏览量

    8404
  • st-link
    +关注

    关注

    1

    文章

    42

    浏览量

    9461

原文标题:LabVIEW实现ST-Link自动烧录

文章出处:【微信号:LabVIEW QT 修炼之路,微信公众号:LabVIEW QT 修炼之路】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ST-Link无法烧录怎么解决

    V5.28.0)后发现无法烧录,查询资料后发现KeilV2.9更新ST-Link到V3.0.x.0。解决问题:直接安装最新的Keil就完美解决问题。(此时我的最新的Keil,Version:v2.9.0...
    发表于 02-18 06:03

    STM32 ST-link Utility_v3.3.0

    STM32 ST-link Utility_v3.3.0,用来给自制ST link烧录固件
    发表于 08-24 17:42 151次下载

    自制 ST-link 固件

    自制 ST-link 固件(使用STM32 ST-link Utility_v3.3.0工具烧录
    发表于 08-24 17:42 21次下载

    微雪电子ST-LINK IIISTM32仿真器简介

    ST-LINK ST 仿真器 下载器 烧录器 在线 支持STM32和STM8 JTAG / SWD/SWIM接口 型号 ST-LINK
    的头像 发表于 12-19 14:57 4690次阅读
    微雪电子<b class='flag-5'>ST-LINK</b> IIISTM32仿真器简介

    微雪电子ST-LINK/V2 STM32仿真器简介

    ST-LINK/V2 (EN) 美版 ST 仿真器 下载器 烧录器 支持STM32和STM8 JTAG / SWD/SWIM接口 型号 ST-LINK/V2 (EN)
    的头像 发表于 12-20 14:32 3749次阅读
    微雪电子<b class='flag-5'>ST-LINK</b>/V2 STM32仿真器简介

    微雪电子ST-LINK/V2 STM32仿真器简介

    ST-LINK/V2 (CN) 国内版 ST 仿真器 下载器 烧录器 支持STM32和STM8 JTAG / SWD/SWIM接口 型号ST-LINK/V2 (CN)
    的头像 发表于 12-20 14:23 4397次阅读
    微雪电子<b class='flag-5'>ST-LINK</b>/V2 STM32仿真器简介

    ST-LINK烧录stm32程序步骤

    此篇文章记录下STM32使用ST-LINK烧录程序的步骤材料ST-LINK驱动安装:点我下载st-link驱动提取码: 4aw1stm32f103c8t6
    发表于 12-22 19:47 40次下载
    <b class='flag-5'>ST-LINK</b><b class='flag-5'>烧录</b>stm32程序步骤

    STM32烧录HEX、BIN文件,使用ST-LINK

    安装ST提供的烧录软件 STM32 ST-LINK Utility。下载将STM32设备的 SWDIO、SWCLK、3V3、GND 与 ST-LINK 相连。(大多数情况下不需要连接R
    发表于 12-22 19:49 23次下载
    STM32<b class='flag-5'>烧录</b>HEX、BIN文件,使用<b class='flag-5'>ST-LINK</b>

    STM32与ST-LINK/V2报错的解决方法(2)

    本文是在上文的基础上实现:STM32与ST-LINK/V2报错的解决方法今天我在用上次提到的STM32 ST-LINK Utility连接上stm32f103c8t6并成功
    发表于 12-23 18:58 4次下载
    STM32与<b class='flag-5'>ST-LINK</b>/V2报错的解决<b class='flag-5'>方法</b>(2)

    利用ST-LINK配合ST-LINK Utility 将bin文件下载到STM32的FLASH中

    文章目录背景1.连接ST-LINK V2与单片机2.配置工程3.配置ST-LINK Utility4.烧录bin文件背景项目需求,要把字模文件导入到32中FLASH的指定地址,使用了ST-LI
    发表于 12-23 18:58 21次下载
    利用<b class='flag-5'>ST-LINK</b>配合<b class='flag-5'>ST-LINK</b> Utility  将bin文件下载到STM32的FLASH中

    ST-Link V2.1 制作使用

    前言ST-Link V2.1简介Mass StorageVirtual COM portDebug PortMCOST-Link V2.1原理图ST-Link Bootloader程序ST-L
    发表于 12-23 19:00 33次下载
    <b class='flag-5'>ST-Link</b> V2.1 制作使用

    ST-Link(too recent)错误无法烧录

    V5.28.0)后发现无法烧录,查询资料后发现KeilV2.9更新ST-Link到V3.0.x.0。解决问题:直接安装最新的Keil就完美解决问题。(此时我的最新的Keil,Version:v2.9.0...
    发表于 12-23 19:01 2次下载
    <b class='flag-5'>ST-Link</b>(too recent)错误无法<b class='flag-5'>烧录</b>

    使用Arduino IDE通过st-link烧录stm32f103c8t6

    STM32单片机.然后,给电脑安装st-link驱动,驱动链接. 提取码:5dpc.下一步,st-link和stm32f103c8t6按如下接线:接好线后按下图所示配置Arduino IDE:完成后,将st-link连接电脑
    发表于 12-23 19:02 9次下载
    使用Arduino IDE通过<b class='flag-5'>st-link</b><b class='flag-5'>烧录</b>stm32f103c8t6

    ST-Link也能当J-Link​使用?​

    之前分享过一篇文章《CMSIS-DAP和J-LinkST-Link是什么关系》,文中提到了 J-LinkST-Link 的 DAP 协议一样。
    的头像 发表于 03-13 11:12 2141次阅读
    <b class='flag-5'>ST-Link</b>也能当J-<b class='flag-5'>Link</b>​使用?​

    解决ST-Link Utility出现Can not connect to target!的问题

    ST-Link Utility需要配套ST-Link烧录器才能使用,是针对ST家单片机的量产烧录工具软件。
    的头像 发表于 05-25 15:26 9606次阅读
    解决<b class='flag-5'>ST-Link</b> Utility出现Can not connect to target!的问题