简介
Arm Mbed DAPLink是一个开源软件项目,可以对运行在Arm Cortex CPU上的应用软件进行编程和调试。DAPLink连接到MCU的SWD或JTAG端口;辅助开发MCU。并且几乎所有的MCU开发板上都有这种接口。DAPLink作为一个USB设备,在开发MCU过程中,在计算机和MCU调试访问端口之间建立了一座桥梁。
- MSC - 拖放式编程闪存
- CDC - 用于日志、跟踪和终端仿真的虚拟COM端口。
- HID - CMSIS-DAP兼容调试通道
WEBUSB HID - 兼容CMSIS-DAP的调试通道。
更多的功能正在计划开发中,并将随着时间的推移逐渐显现出来。Arm公司、其合作伙伴、众多硬件厂商和世界各地的开源社区都在不断地大力开发这个项目。DAPLink已经取代了mbed CMSIS-DAP接口固件项目。您可以自由使用和贡献。
0. 准备工作
提示:
1). 该教程仅记录个人的制作过程,没有记录清楚的不做回答;
2). 不提供编译好的固件和相关资料,开源项目,请自学。本文仅供参考;
需要准备的软件:
a. Keil MDK
b. python3.xx
c. git,(可以没有)
1. 下载DAPLink开源固件
这里只提供一直下载方式,即官方网站下载:
点此下载
2. 固件编译
a.环境配置
需要安装生成keil工程的python模块,模块列表见“requirements.txt”
安装命令:(这里使用清华源进行安装,速度比较快)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
注意: 这个安装的python模块有版本要求的,如果还有其他python项目或者会使用虚拟环境的,可以创建专门的python虚拟环境安装该列表的模块,虚拟环境的使用请自行解决
b. keil工程生成
生成命令:
#生成全部支持的MCU
progen generate -t uvision
#生成某个MCU的工程
# i:生成基于STM32F103的DAPlink的bootloader
progen generate -p stm32f103xb_bl -t uvision
# ii:生成基于STM32F103的DAPlink的目标MCU为stm32F103的固件
progen generate -p stm32f103xb_stm32f103rb_if -t uvision
运行上述命令后在DAPlink的目录下可以新增加的projectfiles文件夹,里面存放对应的工程文件
c.keil编译
这里不做编译工程记录,如果编译报错,有两种情况;
- keil没有安装对应MCU的支持库;
- python3环境配置及对应库的安装有问题;
3. 固件下载:
a. DAPlink的bootloader下载
下载DAPlink的bootloader时,需要其他的调试器或者已经制作好的DAPlink进行连接MCU调试口下载,
下载完成后,使用USB连接硬件和电脑,会识别出一个名为“MAINTENANCE”的u盘。
b. DAPlink下载
将stm32f103xb_stm32f103rb_if_crc.bin拷入名为“MAINTENANCE”的u盘,DAPlink即制作成功