自制CMSIS-DAPLINK调试灵动微电子EVB-L0136开发板

原创 面包板社区 2022-12-20 20:01
目录:
零、想法起源

一、ESP8266版DapLink
二、开发环境使用usbip连接ESP8266 DapLink调试器
三、把ESP8266 DapLink调试器变成板载调试器
四、ESP-IDF版本的DapLink

零、想法起源
灵动微电子 EVB-L0136 开发板上提供了SWD调试接口,就是下图液晶屏右边的那个接口:


从原理图上,也可以详细了解:


不过,这个只是SWD接口,而不是板载调试器。

如果手头有CMSIS-DAP的同学,可以很方便的连接使用:


BUT,这么好的一块板子,没有自带调试器,让很多新进的同学有点手足无措。

虽然,如果有其他支持该接口协议的板子,可以把线飞过来,但是终究不方便。

经过一番了解,因为CMSIS-DAP是一个开放的协议,所以有超级超级多的第三方制作的调试器,淘宝上有不少。

当然,也有很多大佬,基于此提供了开源的DIY方案,所以有很多基于ESP8266、ESP32、STM32F103、GD32等的调试器。

既然如此,那我们也可以找依照适合自己手头设备的的方案,自己DIY一个。

我手头刚好有ESP8266和ESP32-C3的小板,用来DIY再合适不过了:


左边是ESP8266-01,最最最基础廉价的一款。右边的是DFRobot的ESP32-C3,超级小巧的一款。

基于ESP的开源方案,通常有两种:
直接用Arduino IDE编译的版本:https://github.com/thevoidnn/esp8266-wifi-cmsis-dap
用ESP-IDF编译的版本:https://github.com/windowsair/wireless-esp8266-dap

这这两种方案,都是把ESP8266/ESP32化身为一个WiFI CMSIS-DAPLink,然后在装有Keil或者openocd的开发环境上,通过ip连接过去进行下载和调试。

下面,就ESP8266-01、ESP32-C3两块开发板DIY进行示范。

一、ESP8266版DapLink:

这个版本,是专门针对ESP8266的,头文件调用也写死了

#include 
也许有人可以改造一下支持ESP32的板子,不过我没有试过。

我手头的ESP8266板子具体引脚如下:



基础的调试下载功能,只需要连接上灵动微电子 EVB-L0136 开发板调试接口的SWDIO和SWCLK:


我这个ESP8266-01上,刚好有GPIO0、GPIO2口是空出来的,可以使用。

如果你有其他版本的ESP8266,引脚足够,那么SWD接口的nRST引脚也可以使用起来。

然后,从 https://github.com/thevoidnn/esp8266-wifi-cmsis-dap 下载固件,下载完成后,使用Arduino IDE打开。

源码附件包:(点击阅读原文下载)

如果你的Arduino IDE没有进行过ESP8266的开发,那么需要先添加开发板,否则可以跳过1、2

1. 在设置中添加ESP8266开发板的支持包地址:
https://arduino.esp8266.com/stable/package_esp8266com_index.json


2. 安装ESP8266支持包:


3. 将ESP8266接到电脑:

如果你用的是下面的ESP8266,那么恭喜你,连接很简单,插上USB接口即可:


如果你用的是我那样的ESP8266-01,那么就需要USB2TTL来辅助:



或者直接用一个专用下载器:



我就是使用的专用下载器,很方便的。

4. 选择好串口,编译下载:



如果能够编译下载成功,那么工作就完成了大半了,后面只需要做一下简单设置即可。

5. WiFi连接设置:



将上述文件中的ssid和pass修改为你所在环境对应的,注意仅支持2.4G WiFi,不支持5G WiFi。

默认的代码,在WiFi连接后,没有输出ip,所以我们添加一点点代码,输出IP信息,方便查看:

Serial.print("IP adrress: ");Serial.println(WiFi.localIP());



6. 再次编译下载,并通过Arduino IDE的串口调试器,查看启动情况:



通过上述输出,可以看到ESP8266成功联网,且IP地址为192.168.1.67,并启动了DAP服务。

当然,也可以在WiFi路由器中,查看并绑定起IP地址:



这样就可以避免IP发生了变化。

7. 配置DapLink的地址:



上述Pin接口,通常情况下不用修改,除非你知道自己在干什么。

一般情况下,只需要SWDIO、SWCLK即可,如果有空余的接口,那么nRESET也可以用上,这样下载代码后,就不用按板子上的RST重启。

8. 连接灵动微电子 EVB-L0136 开发板:


在测试正常以前,ESP8266还需要连接在下载器或者USB2TTL上,方便查看是否有问题。

测试正常以后,就可以不用挂下载器或者USB2TTL,直接连在灵动微电子 EVB-L0136 开发板即可,此时可以使用开发板为ESP8266供电,非常方便。

通过上述步骤,我们就已经在ESP8266上面,完成了DapLink的DIY工作了。

二、开发环境使用usbip连接ESP8266 DapLink调试器:

之前说过,是实现了一个WiFI CMSIS-DAPLink,那么就需要工具,将其挂接到开发环境所在的电脑上,使得Keil能够识别。

如果使用openocd之类的进行下载和调试,则直接配置连接到其ip即可。
下面主要说Keil中的使用,这借助usbip工具即可。

这个工具也是开源的,其Windows版本地址为:
https://github.com/cezanne/usbip-win

Linux版本的,可以使用系统自带的包管理面命进行安装,如sudo apt-get install usbip。

因为后续主要说明Keil联调,所以以下的步骤为Windows下面的操作。

1. 首先下载usbip-win的发布版本,附件包:(点击阅读原文下载)


2. 安装证书:

可以在usbip_test.pfx鼠标右键再选择安装,也可以直接点击进行安装:


安装参数,务必严格按照下面的步骤:

(1) 证书安装位置:本地计算机


(2)证书文件:使用默认即可


(3)证书密码:usbip


(4) 证书存储区域:


(5) 完成安装



3. 安装驱动:

(1) 安装驱动之前,先要启动系统的测试证书签名。
用管理员权限打开cmd.exe黑窗口,然后执行命令:
bcdedit.exe /set TESTSIGNING ON


如果不以管理员权限运行,则会出现下面的错误:


4. 重启操作系统:
执行成功后,需要重启操作系统,才能进行后面的步骤。

5. 安装usbip驱动:
再次使用管理员权限打开cmd.exe黑窗口,并执行下面的命令:

usbip list -r 192.168.1.67usbip addtch -r 192.168.1.67 -b 1-1usbip list -l


上述三条命令,作用如下:
查看ESP8266是否能够提供远程服务
将ESP8266的服务挂载到本地设备
查看本地的设备
三条命令都执行成功,1、3中将会出现一致的设备信息。

同时,执行命令时,在Arduino IDE的串口调试器中,也会有对应的信息显示:
(1) 执行usbip list -r 192.168.1.67时:


(2).执行usbip addtch -r 192.168.1.67 -b 1-1时:


上述三条命令成功执行后,就可以前往Keil中,进行配置了。

6. Keil中使用ESP8266提供的DapLink:

(1) 使用keil打开官方提供的gpio_basic例程,然后设置调试器:


初次使用的时候,可能会出现Error信息,这说明调试器连接不正确。
请再次仔细检查连线,确保正确的连接:


最终,Keil调试器中,将出现如下的画面,表示大功告成:


OK!!!
(2) 现在就可以编译,然后烧录试一下:


初次使用的时候,可能会出现上面的错误,此时,把板子上的RST按键按一下即可。

然后再次烧录:


这样就表示成功了。

如果使用的是没有连接nRESET版本的调试器的话,那么下载成功后,需要手动按一下板子上的RST按键,就能正常运行新的固件了:


(3) 在keil中调试:

点击带(d)的图标,进入调试:


如果是不带nRESET连接的调试器,此时需要再按一下RST按键,就会继续运行了:


在适当的位置打上断点,结合途中(1)所在位置的按钮,就能进行调试了。

三、把ESP8266 DapLink调试器变成板载调试器:

方法很简单,具体如下:


也就是用板载的调试器接口上的VDD,给ESP8266 进行供电即可。

然后把ESP8266粘到板子上:


就这样,不用额外的接线,只需要给板子供电,就能进行下载和调试了。
四、ESP-IDF版本的DapLink:

其官方地址为:
https://github.com/windowsair/wireless-esp8266-dap


这个版本的,不仅支持ESP8266,还支持ESP32、ESP32-C3,除了固件的编译方法不同外,其他的使用方法一样,都需要靠usbip来进行挂载连接。

其使用的是乐鑫官方的ESP-IDF环境进行开发编译,建议在Linux、macOS、WSL2环境使用。

如果没有使用过,那么建议用Arduino IDE编译的方式吧。

下面为固件的具体构建步骤:

1. 安装ESP32-C3编译工具链:
因为这个方案,我使用的是ESP32-C3,所以需要安装对应的编译工具链:

cd ~/esp/esp-idf./install.sh esp32c3

2. 设置WiFi连接:


wireless-esp8266-dap有一点更优秀的是,能够配置多组WiFi连接信息,这样子方便你在不同的WiFi环境中使用。

3. 编译wireless-esp8266-dap并烧录运行:

cd wireless-esp8266-dap. ~/esp/env.shidf.py set-target esp32c3idf.py buildidf.py flashidf.py monitor

idf.py monitor上述命令,表示使用esp-idf 环境,然后设置开发板为esp32-c3,然后编译、烧录、并启用监控。

最终,将出现如下的界面:


说明这个WiFi DapLink成功启动。

wireless-esp8266-dap还有一点更优秀的是,他能提供一个mDNS名称,直接使用dap.local就能访问,不用专门查看ip地址了。

可以用如下方式测试:


这样的话,ip地址再怎么变化,我们都不怕,记住dap.local就成。

4. 连接灵动微电子 EVB-L0136 开发板:

通过查看源码中的配置,可以了解使用的端口:


从上可以看出,其能支持ESP8266、ESP32、ESP32-C3,这是其又要优秀的一点了。

具体连线如下:


5. uspip操作:

(1) 先查看是否提供了服务:

注意下面的命令同样要使用管理员权限运行:
usbip list -r dap.local


操作的时候,esp-idf monitor调试窗口会显示:


这说明能够成功连接。
(2) 加载服务:
usbip attach -r dap.local -b 1-1


操作的时候,esp-idf monitor调试窗口会显示:


6. Keil中设置使用:

(1) 在调试器中选择CMSIS-DAP Debugger:


注意红框的位置,可以选择1MHz、2MHz、5MHz,如果选择10MHz,就会通信失败,具体如下:


(2) 在Keil中烧录和调试

直接进行烧录:


有时可能会出错:


这时按一下板子上的RST,重新烧录即可。

点击调试按钮可以进行调试:


用样的如果调试不正常,先退出调试,按一下RST再来调试即可。

7. 使用图形界面的连接工具:

wireless-esp8266-dap还有一点更优秀的是,能够使用一个图形界面的连接工具,不需要usbip那样在命令行进行操作了。

这个工具,就是elaphureLink,其官网为:
https://github.com/windowsair/elaphureLink

注意:elaphureLink和usbip不能同时使用,否则会出现问题。

(1) 启动:点击图中红框的文件启动


(2) 安装驱动:


点击Install后,会提示找到的Keil地址,如果不对,可以修改:


然后允许安装:


首次启动的时候进行安装,后续就不用再次安装了。

(3) 启动调试连接服务:

点击主界面中Start Proxy后的开关启动:


然后进入日志界面查看连接情况:


(4) 在Keil中设置使用:

安装驱动后,要重启Keil,一定要重启Keil,然后设置调试器:


需要注意,应该选择elaphureLink Debugger。Max Clock也一样可选择1、2、5MHz,不能使用10MHz。

然后就可以进行调试和烧录了。

作者:HonestQiao, 来源:面包板社区

链接:https://mbb.eet-china.com/forum/topic/123571_1_1.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

↓↓ 点击阅读原文,查看全文

面包板社区 面包板社区——中国第一电子人社交平台 面包板社区是Aspencore旗下媒体,整合了电子工程专辑、电子技术设计、国际电子商情丰富资源。社区包括论坛、博客、问答,拥有超过250万注册用户,加入面包板社区,从菜鸟变大神,打造您的电子人脉社交圈!
评论 (0)
  • 一、gao效冷却与控温机制‌1、‌冷媒流动设计‌采用低压液氮(或液氦)通过毛细管路导入蒸发器,蒸汽喷射至样品腔实现快速冷却,冷却效率高(室温至80K约20分钟,至4.2K约30分钟)。通过控温仪动态调节蒸发器加热功率,结合温度传感器(如PT100铂电阻或Cernox磁场不敏感传感器),实现±0.01K的高精度温度稳定性。2、‌宽温区覆盖与扩展性‌标准温区为80K-325K,通过降压选件可将下限延伸至65K(液氮模式)或4K(液氦模式)。可选配475K高温模块,满足材料在ji端温度下的性能测试需求
    锦正茂科技 2025-04-30 13:08 63浏览
  • 网约车,真的“饱和”了?近日,网约车市场的 “饱和” 话题再度引发热议。多地陆续发布网约车风险预警,提醒从业者谨慎入局,这背后究竟隐藏着怎样的市场现状呢?从数据来看,网约车市场的“过剩”现象已愈发明显。以东莞为例,截至2024年12月底,全市网约车数量超过5.77万辆,考取网约车驾驶员证的人数更是超过13.48万人。随着司机数量的不断攀升,订单量却未能同步增长,导致单车日均接单量和营收双双下降。2024年下半年,东莞网约出租车单车日均订单量约10.5单,而单车日均营收也不容乐
    用户1742991715177 2025-04-29 18:28 103浏览
  • 晶振在使用过程中可能会受到污染,导致性能下降。可是污染物是怎么进入晶振内部的?如何检测晶振内部污染物?我可不可以使用超声波清洗?今天KOAN凯擎小妹将逐一解答。1. 污染物来源a. 制造过程:生产环境不洁净或封装密封不严,可能导致灰尘和杂质进入晶振。b. 使用环境:高湿度、温度变化、化学物质和机械应力可能导致污染物渗入。c. 储存不当:不良的储存环境和不合适的包装材料可能引发化学物质迁移。建议储存湿度维持相对湿度在30%至75%的范围内,有助于避免湿度对晶振的不利影响。避免雨淋或阳光直射。d.
    koan-xtal 2025-04-28 06:11 117浏览
  • 在智能硬件设备趋向微型化的背景下,语音芯片方案厂商针对小体积设备开发了多款超小型语音芯片方案,其中WTV系列和WT2003H系列凭借其QFN封装设计、高性能与高集成度,成为微型设备语音方案的理想选择。以下从封装特性、功能优势及典型应用场景三个方面进行详细介绍。一、超小体积封装:QFN技术的核心优势WTV系列与WT2003H系列均提供QFN封装(如QFN32,尺寸为4×4mm),这种封装形式具有以下特点:体积紧凑:QFN封装通过减少引脚间距和优化内部结构,显著缩小芯片体积,适用于智能门铃、穿戴设备
    广州唯创电子 2025-04-30 09:02 98浏览
  • 一、智能家居的痛点与创新机遇随着城市化进程加速,现代家庭正面临两大核心挑战:情感陪伴缺失:超60%的双职工家庭存在“亲子陪伴真空期”,儿童独自居家场景增加;操作复杂度攀升:智能设备功能迭代导致用户学习成本陡增,超40%用户因操作困难放弃高阶功能。而WTR096-16S录音语音芯片方案,通过“语音交互+智能录音”双核驱动,不仅解决设备易用性问题,更构建起家庭成员间的全天候情感纽带。二、WTR096-16S方案的核心技术突破1. 高保真语音交互系统动态情绪语音库:支持8种语气模板(温柔提醒/紧急告警
    广州唯创电子 2025-04-28 09:24 177浏览
  • 文/郭楚妤编辑/cc孙聪颖‍越来越多的企业开始蚕食动力电池市场,行业“去宁王化”态势逐渐明显。随着这种趋势的加强,打开新的市场对于宁德时代而言至关重要。“我们不希望被定义为电池的制造者,而是希望把自己称作新能源产业的开拓者。”4月21日,在宁德时代举行的“超级科技日”发布会上,宁德时代掌门人曾毓群如是说。随着宁德时代核心新品骁遥双核电池的发布,其搭载的“电电增程”技术也走进业界视野。除此之外,经过近3年试水,宁德时代在换电业务上重资加码。曾毓群认为换电是一个重资产、高投入、长周期的产业,涉及的利
    华尔街科技眼 2025-04-28 21:55 68浏览
  •  探针台的维护直接影响其测试精度与使用寿命,需结合日常清洁、环境控制、定期校准等多维度操作,具体方法如下:一、日常清洁与保养1.‌表面清洁‌l 使用无尘布或软布擦拭探针台表面,避免残留清洁剂或硬物划伤精密部件。l 探针头清洁需用非腐蚀性溶剂(如异丙醇)擦拭,检查是否弯曲或损坏。2.‌光部件维护‌l 镜头、观察窗等光学部件用镜头纸蘸取wu水jiu精从中心向外轻擦,操作时远离火源并保持通风。3.‌内部防尘‌l 使用后及时吹扫灰尘,防止污染物进入机械滑
    锦正茂科技 2025-04-28 11:45 94浏览
  • 在CAN总线分析软件领域,当CANoe不再是唯一选择时,虹科PCAN-Explorer 6软件成为了一个有竞争力的解决方案。在现代工业控制和汽车领域,CAN总线分析软件的重要性不言而喻。随着技术的进步和市场需求的多样化,单一的解决方案已无法满足所有用户的需求。正是在这样的背景下,虹科PCAN-Explorer 6软件以其独特的模块化设计和灵活的功能扩展,为CAN总线分析领域带来了新的选择和可能性。本文将深入探讨虹科PCAN-Explorer 6软件如何以其创新的模块化插件策略,提供定制化的功能选
    虹科汽车智能互联 2025-04-28 16:00 135浏览
  • 浪潮之上:智能时代的觉醒    近日参加了一场课题的答辩,这是医疗人工智能揭榜挂帅的国家项目的地区考场,参与者众多,围绕着医疗健康的主题,八仙过海各显神通,百花齐放。   中国大地正在发生着激动人心的场景:深圳前海深港人工智能算力中心高速运转的液冷服务器,武汉马路上自动驾驶出租车穿行的智慧道路,机器人参与北京的马拉松竞赛。从中央到地方,人工智能相关政策和消息如雨后春笋般不断出台,数字中国的建设图景正在智能浪潮中徐徐展开,战略布局如同围棋
    广州铁金刚 2025-04-30 15:24 54浏览
  • 文/Leon编辑/cc孙聪颖‍2023年,厨电行业在相对平稳的市场环境中迎来温和复苏,看似为行业增长积蓄势能。带着对市场向好的预期,2024 年初,老板电器副董事长兼总经理任富佳为企业定下双位数增长目标。然而现实与预期相悖,过去一年,这家老牌厨电企业不仅未能达成业绩目标,曾提出的“三年再造一个老板电器”愿景,也因市场下行压力面临落空风险。作为“企二代”管理者,任富佳在掌舵企业穿越市场周期的过程中,正面临着前所未有的挑战。4月29日,老板电器(002508.SZ)发布了2024年年度报告及2025
    华尔街科技眼 2025-04-30 12:40 66浏览
  • 你是不是也有在公共场合被偷看手机或笔电的经验呢?科技时代下,不少现代人的各式机密数据都在手机、平板或是笔电等可携式的3C产品上处理,若是经常性地需要在公共场合使用,不管是工作上的机密文件,或是重要的个人信息等,民众都有防窃防盗意识,为了避免他人窥探内容,都会选择使用「防窥保护贴片」,以防止数据外泄。现今市面上「防窥保护贴」、「防窥片」、「屏幕防窥膜」等产品就是这种目的下产物 (以下简称防窥片)!防窥片功能与常见问题解析首先,防窥片最主要的功能就是用来防止他人窥视屏幕上的隐私信息,它是利用百叶窗的
    百佳泰测试实验室 2025-04-30 13:28 62浏览
  • 随着电子元器件的快速发展,导致各种常见的贴片电阻元器件也越来越小,给我们分辨也就变得越来越难,下面就由smt贴片加工厂_安徽英特丽就来告诉大家如何分辨的SMT贴片元器件。先来看看贴片电感和贴片电容的区分:(1)看颜色(黑色)——一般黑色都是贴片电感。贴片电容只有勇于精密设备中的贴片钽电容才是黑色的,其他普通贴片电容基本都不是黑色的。(2)看型号标码——贴片电感以L开头,贴片电容以C开头。从外形是圆形初步判断应为电感,测量两端电阻为零点几欧,则为电感。(3)检测——贴片电感一般阻值小,更没有“充放
    贴片加工小安 2025-04-29 14:59 120浏览
  • 4月22日下午,备受瞩目的飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程师用户,共享嵌入式及边缘AI技术的盛宴!1、精彩纷呈的展区产品及方案展区是本场活动的第一场重头戏,从硬件产品到软件系统,从企业级应用到高校教学应用,都吸引了现场来宾的驻足观看和交流讨论。全产品矩阵展区展示了飞凌嵌入式丰富的产品线,从嵌入式板卡到工控机,从进口芯片平台到全国产平台,无不体现出飞凌嵌入式在嵌入式主控设备研发设计方面的
    飞凌嵌入式 2025-04-28 14:43 123浏览
  • 贞光科技代理品牌紫光国芯的车规级LPDDR4内存正成为智能驾驶舱的核心选择。在汽车电子国产化浪潮中,其产品以宽温域稳定工作能力、优异电磁兼容性和超长使用寿命赢得市场认可。紫光国芯不仅确保供应链安全可控,还提供专业本地技术支持。面向未来,紫光国芯正研发LPDDR5车规级产品,将以更高带宽、更低功耗支持汽车智能化发展。随着智能网联汽车的迅猛发展,智能驾驶舱作为人机交互的核心载体,对处理器和存储器的性能与可靠性提出了更高要求。在汽车电子国产化浪潮中,贞光科技代理品牌紫光国芯的车规级LPDDR4内存凭借
    贞光科技 2025-04-28 16:52 157浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦