比JLink 与STlink还好用的在线调试工具源码,附带源码与原理图,可以自行制作。
DAPLink 是ARM 官方开源的一款调试烧录器,以前叫CMSIS DAP,现在改名叫DAPLink,同时在功能上也大大提高了。DAPLINK 可以调试arm cortex 全系列mcu,所以相比STLINK 和jlink 这方面更有优势。官方的维护一直在更新,未来也会扩充更多功能进来。

DAPLINK 主要功能:
 Arm-cortex 芯片的调试和烧录(HID)
 自带虚拟串口,省去usb 转串口(CDC)
 拖拽式编程,模拟出u 盘,hex 或者bin 拷贝进行完成烧录(MSC)
 WEBUSB 功能(固件要升级到2050)
 超简易拖拽式更换固件

关于烧录功能:
DAPLink 使用标准的CMSIS-DAP 协议,这就使得所有常用的单片机开发IDE 都可以
完美的支持,目前支持的开发环境如下:
 KEIL MDK
 IAR
 PyOCD
 其他支持CMSIS-DAP 协议的软件

关于u 盘拖拽式编程:
通过USB 把DAPLink 插上电脑以后会识别出来一个U 盘(u 盘名称不同版本可能会有区别,但是使用是一样的)。把hex 或者bin 文件拷贝进u 盘中,就可以把代码烧录进目标芯片的flash 中。这是通过把烧录flash 算法嵌入daplink 固件中来实现的,所以目前每个DAPLINK 固件只能支持一种特定目标芯片进行烧录。如果想实现其他芯片的拖拽功能,可以更换固件。更换固件方法我们会在后面详述。

目标mcu 和固件
DAPLINK 使用u 盘拖拽下载的方式,目前只能以种固件对应一种MCU,比如我这个固件是用来给stm32f103c8 进行拖拽下载的,我想给stm32f072c8 进行拖拽方式烧录的时候就需要更换固件。(stm32f103c8 和stm32f103cb 同一系列的可能可以共用,不同厂商mcu 的系列之间兼容性不一样,需要用户自己做测试)目前ARM 官方已经提供了一系列支持的目标芯片固件,如果没有提供也没关系,可以参考我们的《DAPLINK 固件编译说明》文档自己编译定制固件。官方默认支持的目标MCU固件我们会打包提供给大家,请到资料包-》固件文件夹下查找。

MDK 配置调试下载指南:
MDK 也就是keil 的arm 开发版本,在arm 单片机开发中是最常用的一个集成开发环境。集编写调试烧录与一体,因为keil 本身就是arm 公司旗下的。所以和arm 的DAPLINK工具自然是可以无缝的完美使用了。下面介绍下具体在MDK 中的配置步骤:
打开MDK 工程,点击如下图所示的魔术棒打开配置窗口:
在这里插入图片描述

然后打开debug 标签页,通过下拉框选择CMSIS-DAP Debugger,然后在点setting进入调试器的详细设置:
在这里插入图片描述
下一步在CMSIS-DAP ADapter 下拉框选择CMSIS-DAP(测试any 实际上也可以),选择下时钟频率,最大10m,如果烧录不稳定请更换连接线或者降低频率。如果你已经有一个单片机和DAPLINK 正确通过SWD 连接起来,右侧在SW Device 下会看到有识别出来。如果读不到设备请查看和目标MCU 的连接。
在这里插入图片描述
在这里插入图片描述
至此,我们MDK 使用DAPLINK 的配置选项已经完成了,编写好代码就可以进行调试烧录了。如下图所示,左边的为下载按钮,右边的为调式按钮。

在这里插入图片描述

源码路径及原理图路径如下(在我上传的资源中进行更新):

https://download.csdn.net/download/qq_35968965/13195289

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐