DAPLink
跳转到导航
跳转到搜索
固件源代码
主要
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仓库信息(如版本)。
- 编译工具:用于编译源代码,可使用gcc、AC6、AC5(keil mdk)。
- 构建工具:一般是make,也可采用cmake+ninja。
- virtualenv:python软件包,因为编译过程中需要安装大量的python软件包依赖,因此需要使用virtualenv隔离复杂的系统环境。
所有的软件包在安装之后均需添加至PATH变量。
步骤
- 准备编译环境,按照要求准备编译环境。
- 准备源代码(使用git下载),进入源代码目录。
- 创建并进入virtualenv环境。
- 安装python软件包依赖(
pip install -r requirements.txt
) - 编译Bootloader固件(以编译基于STM32F103XB芯片的DAPLink为例:
python3 tools/progen_compile.py stm32f103xb_bl
) - 编译Interface固件(以目标为STM32F103RB芯片基于STM32F103XB的DAPLink为例:
python3 tools/progen_compile.py stm32f103xb_stm32f103rb_if
)
编译完成后,所有的中间文件及最终结果均可在projectfiles
目录中找到。
官方资料
相关资料
- Blackmagic-debug:内置GDB server(通过串口访问)的即插即用 JTAG/SWD 微控制器调试器。