使用daplink下载任意格式固件

前言

daplink是个好东西,又便宜又好用,还不担心盗版,但是没有stlink和jlink那样的上位机可以直接下载固件,这就很头疼了。怎么办?
还好通过jtag/sw协议下载固件有很多开源的项目

项目介绍

openOCD

大名鼎鼎的openOCD(上手难度太高了,pass)

python写的pyOCD

Open source Python library for programming and debugging Arm Cortex-M microcontrollers

人生苦短,我用python

rust写的probe-rs

A debugging toolset and library for debugging embedded ARM and RISC-V targets on a separate host

考虑下用rust重构项目吗?

pyOCD和probe-rs都可以使用命令行下载,前者有pack包就可以,后者需要用软件将pack包转换成yaml使用。

命令行指令官方有提供,但是用起来还是不够方便,打包成GUI会好很多。

获取GUI

好人当然要做到底,这里奉上对应的GUI项目(或者直接下载附件):

  1. dap-download

    一个简单的GUI,为DAP-LINK提供烧录工具,基于tkinter,pygubu和pyocd。

    早期写的GUI,由于pyocd有bug,只能给daplink用

  2. probe-rs-gui

    a easy gui for probe-rs, use daplink/stlink/jlink download bin/elf/hex file

    probe-rs-GUI

    好处是下载快,支持大部分link

上手使用

两个GUI操作方式相同(毕竟长得也完全一样),只是使用的配置文件不同。

dap_download

使用该上位机,需要以下几个文件:

  1. pack包
  2. 固件,可以是bin/elf/hex
  3. 配置文件

配置文件介绍:

target_override: GD32F310G8 #目标芯片型号
pack:                       #烧录算法所在位置,可以存放多个
  ./GD32F3x0_DFP.3.0.2.pack
frequency: 10000000         #烧录速率

yaml文件主要告诉pyocd要烧录的chip型号和对应的pack包在哪,通常把pack包和yaml放在一起即可。

然后在上位机页面,选择bin文件一项,选择要烧录的固件;

选择配置文件所在文件夹一项,选择yaml文件所在的文件,点击开始下载即可。

probe-rs-GUI

使用该上位机,需要以下几个文件:

  1. pack包
  2. 固件,可以是bin/elf/hex
  3. 配置文件

配置文件介绍:

chip: HC32F4A0PGTB
pack_yaml: ./HC32F4A0-Series.yaml
speed: '16000'
base_address: '0x00000000' #just for bin file, default is 0x08000000. negligible

和dap_download不一样的是,probe-rs需要手动将pack包转成yaml文件,好在官方提供了转换方法 how to use

还有烧录Bin文件时,需要手动指定起始地址

然后在上位机页面,Select Bin一项,选择要烧录的固件;

Select Config一项,选择yaml文件(注意不是pack包转换的yaml文件),点击Download即可。

附件

probe-rs-GUI
dap-download

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用DAPLink给STM32烧录固件的过程如下: 首先,将DAPLink与您的STM32单片机连接起来。通常,DAPLink具有标准的10针JTAG接口或20针SWD接口,并与单片机上的相应引脚进行连接。 接下来,在您的计算机上下载并安装DAPLink驱动程序。这些驱动程序可从DAPLink的官方网站或相关厂商的网站上获得。 然后,使用USB线将DAPLink连接到计算机的USB接口上。确保电源供应充足,并且连接正确无误。 接下来,在计算机上打开命令行界面(例如Windows的CMD或Mac的终端)。 然后,使用命令行导航到保存固件文件的目录。确保您已准备好需要烧录固件文件,并且文件是可执行的。 接下来,使用特定的命令行工具来执行烧录操作。具体的命令行工具取决于您使用的开发环境和DAPLink驱动程序。例如,对于使用OpenOCD的环境,您可以使用类似下面的命令: "openocd -f interface/cmsis-dap.cfg -f target/stm32f1x.cfg -c "program your_firmware.bin reset exit"。 命令执行后,DAPLink会自动将固件文件烧录到STM32单片机中。烧录完成后,程序将会自动重启。 最后,您可以使用开发环境的调试工具(如STM32CubeIDE、Keil MDK等)来验证固件是否成功烧录,并进行相关的调试。 总结来说,使用DAPLink给STM32烧录固件需要连接硬件、安装驱动程序、配置命令行,并执行命令进行烧录。这是一种常见的烧录方法,可以帮助您将固件文件加载到STM32单片机中。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值