本帖最后由 HonestQiao 于 2022-11-28 15:30 编辑
我手头有PWLink2 Lite,可以很方便的作为MM32的调试烧录工具。
出于学习目的,研究了一下Diy调试工具。
网上有不少开源的方案,可以使用Arduino开发板、ESP8266开发板、ESP32开发板、Pico开发板来制作调试工具。
经过研究测试测试,最终选择了一款方案,使用ESP32-C3,成功制作了一款可以远程调用的调试工具。
一、硬件:
上图中,下面四个小的,分别为:
- DFRobot Beetle-ESP32-C3开发板:超级小巧,好用
- ESP32-C3-DevKitM-1开发板:乐鑫官方开发板,好用
- PWLink2 Lite:专用调试器,好用
- ESP8266-01开发板:超迷你,但功力太浅,没搞定
其他的ESP32没有测试,但ESP32系列的,应该是都可以用的。ESP8266引脚多的,也应该可以用。
二、软件方案部分
软件部分,先后测试过使用Arduino(IDE)的方案,和使用ESP-IDF的方案,最终选择了ESP-IDF的方案。
方案源码仓库:https://github.com/windowsair/wireless-esp8266-dap
该方案,是国内大佬 `windowsair` 开发的,完美适配ESP32,非常好用,深表感谢。
下载该方案后,修改一个地方即可:
文件为:wifi_configuration.h
可以添加一组或者多组wifi连接配置。
具体对应引脚端口的定义在如下文件中:
修改完成后,使用esp-idf进行编译和烧录:
# 设置目标芯片
idf.py set-target esp32-c3
烧录完成后,调试器就做好了,可以投入使用了。
使用`idf.py monitor`指令,可以查看当前状态:
从以上的输出信息中,可以看到获取的IP地址。
可以在路由器局域网管理界面中,使用mac addr绑定功能绑定起ip地址,方便使用。
三、连接和定位:
具体连线如下:
- 调试器D7 --- MM32 SWDIO
- 调试器D6 --- MM32 SWCLK
- 调试器3V3 --- MM32 VDD
- 调试器GND --- MM32 GND
四、使用:
因为这是一个远程调试工具,可以使用常见的usbip来进行连接。
如果实在Windows环境下,还可以使用`windowsair`大佬开发的elaphureLink,专门给Keil提供的工具,相当好用。
elaphureLink官网:https://github.com/windowsair/elaphureLink
从elaphureLink官网下载后,解压后,按照如下步骤运行:
- 根据之前获取的ip地址,填写到这里即可
- 点击Install安装驱动
- 启动调试代理
然后,再打开一个Keil的MM32工程,并到调试器中,进行设置:
先选择elaphureLink Debugger:
再检查是否成功连接上:
如果没有连接上的话,可以将SWDIO和SWCLK先换一下,确保连接正确。
连接成功后,就可以和普通的调试器一样,或下载:
或调试:
测试成功后,调试器就不用再连接到电脑上了,只要用USB供电即可。
|