如何做一个开源的DAP-Link

电子说

1.3w人已加入

描述

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

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

程序

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

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

 

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

CMSIS-DAP / DAP-LinkARM 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-HDKGithub

其软件开源地址为:

https://github.com/ARMmbed/DAPLink

Github

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

DIPDAP(主芯片:LCP11U35FHI33/501)

STDAP(主芯片:STM32F103CBT6)

SWDAP(主芯片:LCP11U35FHI33/501)

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

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

程序

在keil环境下的Debug场景如下:

程序

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

程序

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

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

程序

程序

我已经实现了这个项目,在缺芯的大背景之下,我依然坚持做了100片,需要的伙伴可以点击如下小程序。  

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

全部0条评论

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

×
20
完善资料,
赚取积分