ESP32-S3 自带usb/jtag初步尝试体验
创始人
2025-05-31 12:54:05
0

一、背景

最近在做一台小机器,设备初步规划使用几个实体按钮,这样方便用户戴手套操作。但因为设备有一些需要配置的参数,有需要配备屏幕。但是开发时间比较紧。考虑再三,决定先在初步配备一个简单的控制箱。控制箱上不带屏幕。后期配备一个无线连接的屏幕。这样用户在需要设置参数的时候通过无线连接到设备上就可以配置。另一方面,如果用户不想使用无线连接的屏幕,也可以在后期开发一个app,只要设备接入无线局域网也可以控制设备。这时候就想到了使用ESP32。以前用过几次ESP32,但是ESP32-S3还是第一次用。因为ESP32-S3带有更多的IO,同时蓝牙支持BLE5.[ESP32支持双模蓝牙,其实也不错。]这次就决定使用ESP32-S3.

二、发现问题

经过一番电路设计、layout、制板、焊接之后,windows可以完美识别,并在设备管理器上呈现了两个设备。

一个是USB串行设备,一个是 USB/JTAG设备。一切似乎很完美。然后在vscode里面的esp-idf用blink example来测试配置工程。编译正常,但是令人疑惑的是当我用vscode的flash直接下载的时候。“start openocd”之后,就失败了。

提示信息大概如下(因为不想再浮现失败了,就没法截屏):

Warn : Transport "jtag" was already selected

[OpenOCD] Info : Listening on port 6666 for tcl connections Info : Listening on port 4444

[OpenOCD] for telnet connections

[OpenOCD] ❌ Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND

Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED

[OpenOCD] ❌ Error: esp_usb_jtag: could not find or open device!

三、问题解决 

然后去官网浏览解决方案。找到一些openocd相关的教程。

测试发现openocd也正常运行,说明openocd安装本身没有问题。

只看到有一个用命令行烧写程序的教程,测试成功:

idf.py -p PORT flash
# 我这里将PORT改为了我的COM5

这再一次说明了我的设备,应该是驱动成功了。

四、最终解决方案

最终解决方案是在第二天解决的。其实就是按照前一天的思路找esp32-s3的官方usb/jtag驱动。

官网的网页如下:Configure ESP32-S3 built-in JTAG interface

里面提到windows系统可能会遇到LIBUSB_ERROR_NOT_FOUND 的问题。看来提示信息中的关键字就是“LIBUSB_ERROR_NOT_FOUND ”,只是最初没有想到。

解决方法如下:

在Powershell (wt命令)里面输入以下命令

Invoke-WebRequest 'https://dl.espressif.com/dl/idf-env/idf-env.exe' -OutFile .\idf-env.exe; .\idf-env.exe driver install --espressif

windows就会自动从上面提到的网址中下载驱动,并用idf-env去安装驱动。如果路径设置的好,可以将驱动直接下载到你已经存在的.espressif下。如果配置不好也没有关系,在安装好之后,可以手动将驱动安装文件转移到你自己的文件夹下。以保证下次安装的时候可以按照传统的方法更换驱动程序。

因为之前已经配置成功。这里只展示我手动删除设备和驱动之后,初次默认安装的驱动和手动选择指定驱动的地方。

 

 上图说明:

1.  2023/3/20/21:51:02的时候我手动删除了设备和驱动

2.  2023/3/20/21:51:08 我手动刷新,windows默认安装的驱动。并启动了设备。可以看到是随后配置和更新的是WINUSB驱动。

3. 2023/3/20/21:53:01 涉及的两条是配置了oem205,但是winusb并未启动。

如果你深入进去可以看到两个驱动的供应商不一样。一个是microsoft,另一个是libwdi。

总之在经过以上配置之后,就可以使用自带的usb/jtag下载程序了。

 

五、其它注意事项

idf-env的github链接,里面也提到了此命令。

上面命令成功的关键是设备的状态正常。我的设备有时候会在启动的时候进入特殊状态。这时程序没有正常跑,此时是不能正常烧写程序的。

做完这一步下一步就是使用openocd调试了。任重而道远,后会有期。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...