陈敏之整容成功移植的DAP-LINK(附带源码与原理图),⽐ST-LINKJ-TAG还好⽤
⽐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 的配置选项已经完成了,编写好代码就可以进⾏调试烧录了。如下图所⽰,左边的为下载按钮,右边的为调式按钮。
源码路径及原理图路径如下(在我上传的资源中进⾏更新):