DAPLink:修订间差异

来自资料库(何亚红)
跳转到导航 跳转到搜索
 
第63行: 第63行:
== 官方资料 ==
== 官方资料 ==
网址:https://daplink.io/
网址:https://daplink.io/
== 相关资料 ==
* [[Blackmagic-debug]]:内置GDB server(通过串口访问)的即插即用 JTAG/SWD 微控制器调试器。

2024年6月5日 (三) 10:57的最新版本

固件源代码

主要

https://github.com/ARMmbed/DAPLink.git

厂商移植

通常各个采用ARM架构的MCU芯片厂商会移植属于他们自己的DAPLink以实现嵌入式硬件开发的自举(即仅使用该厂商的芯片即可完成嵌入式软件的开发),或者创建他们自己的的硬件调试工具。

合宙

上位机工具

  • OpenOCD:OpenOCD是一个开源的可提供片上编程与调试支持的硬件调试工具软件。

说明

DAPLink是一个运行于Arm Cortex CPUs的开源烧录与调试应用软件的软件项目。

DAPLink通常也指使用该软件固件制作的调试工具硬件。

固件

一般情况下,DAPLink的固件一般分为两个部分,分别是Bootloader固件与Interface固件。

对于一个正常的DAPLink需要同时烧写两个部分的固件。

Bootloader固件

用于烧写Bootloader固件,一般只有一个拖拽烧写Interface固件的功能。

当DAPLink没有烧录Interface固件或者nReset(输出)引脚被拉低时,进入Bootloader模式,此时上位机连接的DAPLink仅仅提供一个U盘(盘符为MAINTENANCE),用于提供烧录Interface固件功能。

Interface固件

Interface固件与调试的目标芯片有关,其内部通常集成目标芯片的Flash编程算法,因此需要根据目标芯片更换Interface固件。

Interface固件某些功能可以是通用的,如SWD调试、USB转串口功能,某些功能可能不通用,如拖拽烧录目标芯片程序(需要加载编程算法)。

固件编译

环境

DAPLink的源代码采用python脚本管理,并未采用通用的构建系统。

需要的软件包如下:

  • Python3(带pip):用于运行python脚本。
  • Git:用于获取git仓库信息(如版本)。
  • 编译工具:用于编译源代码,可使用gccAC6AC5(keil mdk)。
  • 构建工具:一般是make,也可采用cmake+ninja
  • virtualenv:python软件包,因为编译过程中需要安装大量的python软件包依赖,因此需要使用virtualenv隔离复杂的系统环境。

所有的软件包在安装之后均需添加至PATH变量。

步骤

  1. 准备编译环境,按照要求准备编译环境。
  2. 准备源代码(使用git下载),进入源代码目录。
  3. 创建并进入virtualenv环境。
  4. 安装python软件包依赖(pip install -r requirements.txt)
  5. 编译Bootloader固件(以编译基于STM32F103XB芯片的DAPLink为例:python3 tools/progen_compile.py stm32f103xb_bl)
  6. 编译Interface固件(以目标为STM32F103RB芯片基于STM32F103XB的DAPLink为例:python3 tools/progen_compile.py stm32f103xb_stm32f103rb_if

编译完成后,所有的中间文件及最终结果均可在projectfiles目录中找到。

官方资料

网址:https://daplink.io/

相关资料

  • Blackmagic-debug:内置GDB server(通过串口访问)的即插即用 JTAG/SWD 微控制器调试器。