单esp8266的调试器
这是别人的项目,暂时支持SWD/JTAG,但没有串口
原项目地址为https://github.com/windowsair/wireless-esp8266-dap
对应的SDK下载:https://github.com/espressif/ESP8266_RTOS_SDK/releases/tag/v3.3-rc1。3.3版本用不了,会提示ram超出。
安装cmake,并将bin文件夹添加到环境变量,软件安装时有这个选项,可能需要自己去选择。
让esp的工具链的msys2继承windows的环境变量,方法是在环境变量中添加一个变量,变量名:MSYS2_PATH_TYPE,值:inherit。
需要python支持,python2.7.17可用。
在源码下的main/wifi_configuration.h文件里更改esp8266所要连接的网络的信息。再添加打印ip地址的代码,方便操作。
使用idf工具链里的mingw32.exe或mingw32模式的msys2,进入源码目录下,执行make menuconfig,对项目的参数重新设置。然后执行python ./idf.py build或python ./idf.py -p COM3 flash,后者会在编译结束后直接下载程序。这里假设COM3是esp8266的串口号。
电脑端:
usbip下载并解压,https://github.com/barbalion/usbip-win-client。包含了软件和驱动。
使用命令行的管理员模式执行bcdedit -set TESTSIGNING ON命令,然后重启电脑,会进关闭驱动的数字签名,退出就把ON改成OFF再执行一次。
打开 设备管理器,左击上面的 操作,在弹出的选项里左击 添加过时硬件,在弹出的界面里自行操作,如果出现界面里有两个选项,选择其中的 安装我手动从列表选择的硬件,当中间出现一个占据大部分位置的空白框时,左击该框的右下的 从磁盘安装,然后点击 浏览,找到usbip-win-client文件夹,会自动选择ini文件,继续操作即可。在 设备管理器 的 系统设备 里看到 USP/IP... 说明就好了。
看esp8266连接网络后的ip地址,如果没有打印可以进入路由器的管理界的DHCP里看名称为LWIP的IP。这里假设ip为192.168.1.111。
然后用windows的命令行执行进入usbip-win-client下,执行usbip.exe -D -a 192.168.1.111 1-1,只要没有自动结束且最下面有一个数字不停的增加就说明成功了,这时电脑会弹出 设置设备... 的提示。这个命令行窗口放着就行,退出了就用不了。退出一定要用ctrl + c的方式,如果直接在cmd里运行的,点窗口的叉会卡在那。