硬汉嵌入式论坛

 找回密码
 立即注册
查看: 694|回复: 2
收起左侧

[其它] 分享个openocd配合DAPLINK做命令行下载的稳定版本(2025-06-28)

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-6-27 13:36:16 | 显示全部楼层 |阅读模式

1、2025-06-28补充

   经过后续测试,此贴分享的软件包用于CMSIS-DAP V1还可以,而用于CMSIS-DAP V2时,WinUSB模式可以,但HID模式有问题,此贴进行了详细描述和解决办法
   https://forum.anfulai.cn/forum.php?mod=viewthread&tid=128964

2、平时openocd用的少,主要以MDK和IAR主。但用openocd +各家ide也不少,所以就花时间研究下各种命令和openocd的各种版本。

实际测试发现最新的这个版本比较好用,之前的版本配合DAPLINK下载一次后,很容易弹出Error: CMSIS-DAP transfer count mismatch: expected 2, got 0,贼闹心
https://gnutoolchains.com/arm-eabi/openocd/

openocd-20250613.7z (7.72MB)

123.png



这个版本的稳定性不错,测试连续下载10次都成功了,下面以我们H7-TOOL的高速DAPLINK,HID和WinUSB二合一方式为例进行说明,外接STM32F103ZET6板子测试

1、新建个prog.bat文件,名字随意,注意后缀是bat批处理即可,填写如下命令:

E:\openocd\OpenOCD-20250613-0.12.0\bin\openocd.exe -f interface/cmsis-dap.cfg  -c "transport select swd"  -f target/stm32f1x.cfg

前面的路径是大家解压出软件包后,openocd.exe的路径,运行批处理文件后效果如下,说明openocd正常连接DAPLINK了

下载.png

由于我们TOOL是高速HID和WinUSB,如果大家的openocd没有正常连接,加入指定使用HID或者WinUSB即可,完整命令如下(注,切换这个最好重新插拔一次下载器):

指定HID:

E:\openocd\OpenOCD-20250613-0.12.0\bin\openocd.exe -f interface/cmsis-dap.cfg -c "cmsis-dap backend hid" -c "transport select swd"  -f target/stm32f1x.cfg

指定WinUSB,推荐使用WInUSB,在Win10, Win11上比较稳定,而且免驱

E:\openocd\OpenOCD-20250613-0.12.0\bin\openocd.exe -f interface/cmsis-dap.cfg -c "cmsis-dap backend usb_bulk" -c "transport select swd"  -f target/stm32f1x.cfg

2、执行hex文件下载,将hex文件放在批处理一个路径下即可

E:\openocd\OpenOCD-20250613-0.12.0\bin\openocd.exe -f interface/cmsis-dap.cfg  -c "transport select swd" -f target/stm32f1x.cfg -c "init; reset halt; program stm32f103zet6.hex verify; reset"

执行效果,连续多次执行,均正常

123.png


3、使用telnet命令行操作

(1)这个推荐直接打开openocd.exe所在文件夹,然后文件夹空白处,右击文件夹启动终端

下载 (1).png

(2)输入命令:

下载 (2).png

输入后效果:

下载 (3).png

(3)点击powershell标题栏的加号,再启动一个新的终端,输入如下命令,并回车

下载 (4).png

下载 (5).png

(4)执行下载;

下载 (6).png

下载 (7).png


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2025-6-28 09:08:56 | 显示全部楼层
2025-06-28补充

经过后续测试,此贴分享的软件包用于CMSIS-DAP V1还可以,而用于CMSIS-DAP V2时,WinUSB模式可以,但HID模式有问题,此贴进行了详细描述和解决办法
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=128964
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2025-6-30 15:41:58 | 显示全部楼层
不需要登陆到telnet,可以一句话写完:       
openocd -f interface/cmsis-dap.cfg -f target/stm32f4x.cfg -c "init" \
                -c "reset init" \
                -c "flash erase_address $(FW_START_ADDR) $(FW_SIZE)" \
                -c "flash write_image $(BUILD_DIR)/$(TARGET).bin $(FW_START_ADDR)" \
                -c "flash verify_image $(BUILD_DIR)/$(TARGET).bin $(FW_START_ADDR)" \
                -c "reset run" \
                -c "exit"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 02:44 , Processed in 0.040885 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表