如何做一个开源的DAP-Link

描述

前言

大家好,我是小舒,今天我带来了一个开源项目。学习单片机的小伙伴,对J-link一定不会陌生。J-link可以使用JATA和SWD接口进行在线Debug和程序的烧录,曾经一段时间,某宝上J-Link铺天盖地,各种各样,价格百家争艳一个比一个低,让单片机初学者有了非常多的选择。J-Link的在线Debug也方便了我们的学习,让我们认识到了单片机是如何一步一步执行程序的。J-Link和Keil简直是绝配。

收费的J-Link

但是好景不长,因为J-Link不是开源的,具有版权,正主给某宝发了涵,仿佛一夜之间,J-Link都被下架了,不仅仅如此,在使用Keil调试/烧录程序的时候,会弹出对话框,警告你的J-Link可能是一个盗版。

J-Link

除了后来的AD涵之外,这可能是单片机初学者面对的第一个盗版警告,一个方便的工具,自此变得一点都不简单,正版200元不等,够买一块STM32的单片机开发板了。烧录工具也是有开源的,可以不用担心版权问题。

CMSIS

学习过STM32的小伙伴,对CMSIS一定不陌生,他是ARM Cortex™ 微控制器软件接口标准,可以为MCU和外设实现一致且简单的软件接口,从而简化软件的重用、缩短新MCU的学习过程、缩短新设备的上市时间。

J-Link

顾名思义,只要Cortex™ 系列的内核,就可以使用。

CMSIS-DAP / DAP-Link

ARM Cortex™ 内核的MCU在市场上的产品随处可见,如Cortex M系列内核的有:ST公司的STM32系列MCU产品、NXP公司的LPC系列MCU产品、国产 的MM32系列MCU产品、GD32系列MCU产品等等,目前它们的年出货量是以亿为单位。该内核的单片机在烧录时会用到JTAG或者SWD接口的下载器,而常用的J-Link和ST-Link如前文所说,价格较贵且存在版权问题,而CMSIS-DAP是ARM官方开源的下载器,具备SWD调试接口,同时还带虚拟串口,拖拽式下载等功能。既能实现比肩J-Link的下载速度有没有版权问题,一举多得。

Github开源站点

CMSIS-DAP在Github上开源,其硬件开源地址为:

https://github.com/ARMmbed/mbed-HDK

Github

其软件开源地址为:

https://github.com/ARMmbed/DAPLink

Github

CMSIS-DAP目前源码固件主要使用在LPC11U35以及MK20DX128VFM5的硬件上,成熟的硬件方案有三个:

  • DIPDAP(主芯片:LCP11U35FHI33/501)
  • STDAP(主芯片:STM32F103CBT6)
  • SWDAP(主芯片:LCP11U35FHI33/501)

CMSIS-DAP可以对ARM Cortex内核(如 Cortex M3)进行仿真调试,并且提供源码和硬件,这样可以使用户可以轻松的集成一个仿真调试器到自己的项 目上而无需担心版权问题。

我已经验证开源方案

作为一名电子爱好者,当然不会放过开源的机会,我实现了这个开源方案,并且用在了我的项目开发中,并给他起了一个很萌的名字:小猛龙。

J-Link

CMSIS-DAPDebug场景如下:

J-Link

使用现有的资料实现开源项目,虽有了一丢丢的成就感,但是如果能实现J-Link的下载速度,那才是最有成就感的。

J-Link

在和J-Link的对比测试中,hex的大小为725k(win10环境下占用空间大校),J-Link烧录所用的时间为17秒多;而CMSIS-DAP用时18秒多。

并且在MAC平台上也可以使用CMSIS-DAP

J-Link

J-Link

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分