目录:

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



零、想法起源
灵动微电子 EVB-L0136 开发板上提供了SWD调试接口,就是下图液晶屏右边的那个接口:
image.png
从原理图上,也可以详细了解:
image.png

不过,这个只是SWD接口,而不是板载调试器。
如果手头有CMSIS-DAP的同学,可以很方便的连接使用:
image.png

BUT,这么好的一块板子,没有自带调试器,让很多新进的同学有点手足无措。
虽然,如果有其他支持该接口协议的板子,可以把线飞过来,但是终究不方便。

经过一番了解,因为CMSIS-DAP是一个开放的协议,所以有超级超级多的第三方制作的调试器,淘宝上有不少。
当然,也有很多大佬,基于此提供了开源的DIY方案,所以有很多基于ESP8266、ESP32、STM32F103、GD32等的调试器。
既然如此,那我们也可以找依照适合自己手头设备的的方案,自己DIY一个。
我手头刚好有ESP8266和ESP32-C3的小板,用来DIY再合适不过了:
image.png
左边是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的,头文件调用也写死了
  1. #include <ESP8266WiFi.h>
也许有人可以改造一下支持ESP32的板子,不过我没有试过。
我手头的ESP8266板子具体引脚如下:
image.png
image.png
基础的调试下载功能,只需要连接上灵动微电子 EVB-L0136 开发板调试接口的SWDIO和SWCLK:
image.png

我这个ESP8266-01上,刚好有GPIO0、GPIO2口是空出来的,可以使用。
如果你有其他版本的ESP8266,引脚足够,那么SWD接口的nRST引脚也可以使用起来。

然后,从 https://github.com/thevoidnn/esp8266-wifi-cmsis-dap 下载固件,下载完成后,使用Arduino IDE打开。
源码附件包: esp8266-wifi-cmsis-dap-master.zip (41.03 KB, 下载次数: 2)