首页 > 其他分享 >daplink烧录上位机

daplink烧录上位机

时间:2024-03-19 21:46:40浏览次数:28  
标签:烧录 daplink yaml GUI probe rs 上位 pack

前言

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

    好处是下载快,支持大部分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即可。


__EOF__

  • 本文作者: USTHzhanglu
  • 本文链接: https://www.cnblogs.com/USTHzhanglu/p/17960327
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 标签:烧录,daplink,yaml,GUI,probe,rs,上位,pack
    From: https://www.cnblogs.com/Motor-Control/p/18084005

    相关文章

    • arduino固件烧录
      NodeMCU入坑指南-烧写固件并连接WIFI-0pen1-博客园(cnblogs.com)在这里要说一下,我们现在要烧写不带DEBUG的固件,如果烧写了带DEBUG的固件可能会出现这个问题:nodeMCU无限打印wifieventmonitorhandleeventcbiscalled烧录不开启debug的烧录开启Debug的固件就正常......
    • STM32工具使用--J-Flash烧录程序
              最近客户那边需要给他们烧程序,他们需要把板子给寄给我,我烧写好之后又发回去,这样一来一回就浪费不少时间,而且也比较麻烦,所以最近给它们出了一个如何烧写.hex程序文件的步骤,这样以后就不用再麻烦自己给他们烧写了,他们根据教程就能完成。    我使用的是P......
    • C#上位机登录界面设计-界面跳转(二)
          C#上位机登录界面设计(一)是讲述的如何设计自己的登录界面,下一步是设计如何登入主界面,通过程序,判断用户的账号和密码是否正确,正确,则进入主界面,错误,弹出错误信息。C#上位机登录界面设计-界面设计(一)一、登录按键    具体需要实现的功能:登陆时,密码账号正确显......
    • 上位机图像处理和嵌入式模块部署(qmacvisual脚本编辑)
      【 声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:[email protected]】    个人认为qmacvisual软件中,另外一个鲜明的特色,就是它本身支持javascript脚本编写,虽然是利用qtscriptengine完成的。这个脚本编写,让fae或者说现场部署的同学一下子有了配置插件、调整......
    • DSP笔记[1]-烧录.out文件测试数码管
      摘要使用CCS连接XDS110调试器烧录.out文件到TMS320F28335DSP芯片测试开发板数码管.关键信息系统:macOS13.5(AppleSiliconM2)开发环境:CodeComposerStudio(CCS)12.4.0.00007TMS320F28335核心:C2000(C28x)开发板:普中PZ-DSP28335-L原理简介CodeComposerStudio(CC......
    • 【实战技能】简单易实现的SWD接口烧录目标板挂载的EEPROM,支持AT24C02/04/08/16/32/64/
      之前针对外部SPIFlash的SWD接口烧写,制作过一期专题视频教程。产品生产时,不仅SPIFlash,有时候希望烧录目标板程序后,将EERPOM里面的参数也通过SWD接口存储进去,这样就不再需要大家单独再接上EEPROM的I2C接口烧录了,产品生产比较省事。针对这个问题就花了些时间,制作了下EEPROM的烧写......
    • Linux使用命令行编译并用st-link烧录STM32
      创建工程在STM32CubeMX中配置,选择Makefile并生成。环境安装编译工程需要用到arm-none-eabi,去官网下载对应系统版本,下载后解压到任意位置。添加环境变量添加环境变量到.bashrc文件:echo'exportPATH="/toolchain/arm-none-eabi/bin:$PATH"'>>~/.bashrc我解压的位置为/too......
    • QT 串口上位机
      CMakeLists.txtcmake_minimum_required(VERSION3.5)project(SerialPortVERSION0.1LANGUAGESCXX)set(CMAKE_AUTOUICON)set(CMAKE_AUTOMOCON)set(CMAKE_AUTORCCON)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_STANDARD_REQUIREDON)find_package(QTNAMESQt......
    • 树莓派烧录系统以及SSH连接、远程桌面连接
      趁这段时间树莓派似乎便宜了,搞了一个rasberrypi4b,说不定还能用到毕业设计上。虽然不知道这玩意到底能干啥,不过跟云服务器的用法倒也差不多,就算不搞什么嵌入式之类乱七八糟的东西......哪怕拿来当minecraft的本地服务器主机也挺爽的,玩法似乎不少,记录一下这个使用步骤吧。一块......
    • PC上位机通过TCP传输视频至FPGA小结
      笔记:TCP/IPLWIPFPGA笔记-CSDN博客上位机建立TCP/IP连接:Matlab实现-CSDN博客小结:1.通过Matlab建立的上位机非常稳定,可以轻松实现图片的发送;clc;clearall;closeall;warningoff;%ConfigPacketFramePacketConfigPacket_Length=14;%配置包单帧长ConfigPack......