来了!DAPLink命令行工具!还在用pyocd?试试这个吧!

发布时间:2025-10-17 来源: 公众号:觉皇嵌入式
分享到:
DAPLink上位机DAPLinkUtility分支软件,daplink命令行工具,用于替代pyocd。

纯C/C++实现,静态编译,无任何依赖,即开即用。

介绍

交流QQ群:832486982,可在群文件中下载,也可在这里:

https://gitee.com/jhembed/daplink_cli

DAPLink上位机DAPLinkUtility分支软件,daplink命令行工具,用于替代pyocd。

纯C/C++实现,静态编译,无任何依赖,即开即用。

免安装pack包,与具体芯片无关使用,只需在命令行中指定目标芯片的设备信息如:内存地址、内存大小等。

注:当前版本仅支持BIN格式文件烧录。


支持命令

  • • help:帮助信息
  • • list:列举出当前接入的DAPLink调试器
  • • flash:烧录固件
  • • erase:擦除目标FLASH
  • • read:读取目标FLASH
  • • cmd:启动SWD控制台

任意一个子命令都可以通过-h或--help参数查看使用帮助,例如:

daplink.exe flash -h

使用示例

公共参数说明

  • • --connect:连接方式,默认正常连接
  • • --speed:时钟速度,默认1MHz
  • • --reset:复位方式,默认软件复位
  • • --AP:Debug Access Port,AP端口,默认为0,绝大多数芯片都为0
  • • --flm:指定芯片.FLM格式的烧录算法文件名称
  • • --rambase:内存地址,目标芯片的内存起始地址
  • • --ramsize:内存大小,可以比实际芯片的内存小,主要是用来生成烧录算法所需的内存
  • • --stacksize:指定烧录算法所用的栈大小,默认会自动根据ramsize适应,最大适应为1024。(烧录外部FLASH时堆栈空间使用较大,此时需要手动指定栈大小)

擦除FLASH

参数说明

  • • --mode:指定擦除方式
  • • --addr:擦除地址
  • • --size:擦除大小

扇区擦除

daplink.exe erase --mode sector --addr 08000000 --size 1000 --flm STM32F10x_128.FLM --rambase 20000000 --ramsize 5000

全片擦除

daplink.exe erase --mode chip --flm STM32F10x_128.FLM --rambase 20000000 --ramsize 5000

烧录固件

注意!!!当前仅支持BIN格式固件烧录!

参数说明

  • • --verify:不带此参数,编程完成后不进行校验
  • • --fullerase:带此参数后,芯片将全片擦除,否则按照固件大小自动执行扇区擦除
  • • --addr:指定烧录地址

扇区擦除+编程+校验

daplink.exe flash --rambase 20000000 --ramsize 5000 --flm STM32F10x_128.FLM  --verify --file led_test.bin --addr 08000000

全片擦除+编程+校验

daplink.exe flash --rambase 20000000 --ramsize 5000 --flm STM32F10x_128.FLM  --verify --file led_test.bin --addr 08000000 --fullerase

读取固件

参数说明

  • • --addr:读取地址
  • • --size:读取大小
  • • --file:保存文件名

读取08000000开始的64K并保存至文件read.bin

daplink.exe read --addr 08000000 --size 10000 --file read.bin

如果芯片具有XIP总线并支持将外部FLASH通过XIP总线映射到内部地址,读取前必须要初始化FLASH才可以正常读到。

例如STM32H7系列支持将外部QSPI类型FLASH直接映射到0x90000000地址处,映射完毕后,直接在程序内访问该地址就可以,无需在通过QSPI驱动函数。

此时,需要通过 --flm 参数指定外部FLASH烧录算法文件,命令行在读取前自动将烧录算法文件下载进目标芯片内存中,并调用Init函数对FLASH初始化。

读取STM32H7芯片XIP总线外部FLASH(90000000开始的64K并保存至文件read.bin)

daplink.exe read --addr 90000000 --size 10000 --file read.bin --flm STM32H7xx_W25QXX.FLM --rambase 24000000 --ramsize 8000 --stacksize 1800

运行效果


脱机烧录器

有需要的小伙伴在淘宝店铺:

  • • 行一工作室
  • • 禾文智能科技企业店

进行购买~~~


ends...