ESP32-S3 自带usb/jtag初步尝试体验
创始人
2025-05-31 12:03:58
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调试了。任重而道远,后会有期。

相关内容

热门资讯

Java多线程之Executo... 文章目录1 ExecutorCompletionService1.1 简介1.2 原理1.3 Dem...
首个上美影IP主题乐园登陆上海... 国内首个以上美影经典动画IP为核心的沉浸式儿童益智乐园,在六一国际儿童节到来之际正式开园。乐园占地面...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
基于 Zynq+AD+DA 的... 4 振动台控制算法的 FPGA 实现 4.1 PID 控制算法 4.1.1 增量式 PID 控制...
陕西发布26条夏季乡村休闲旅游... 5月29日,陕西省农业农村厅以“夏纳凉 享田园惬意时光”为主题,向社会推介发布26条夏季乡村休闲旅游...
超详细-安装vCenterv ... 目录 介绍: 第一阶段安装: 第二阶段安装: 最近在玩虚拟...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
将 ChatGPT 与 实时聊... 人工智能技术是聊天营销人员的福音,而ChatGPT是这场革命的突破性新成员。人工智能工...
原创 4... “人到中年不得已,保温杯里泡枸杞!”可光泡枸杞哪够啊?您瞅瞅身边那些45岁往上的朋友——有人胃胀得像...
琴岛观澜丨山海之城的长红之道 ... 齐鲁晚报·齐鲁壹点 杨雪当华晨宇演唱会的音浪撞上小麦岛的海风,当《送你一朵小红花》的镜头扫过 “孤独...
根据经纬度判断点是否位于多边形... 最近,在业务中遇到一个场景,需要根据经纬度,判断一个点是否...
四川九寨沟乐山大佛旅游攻略跟团... 标题:【四川九寨沟乐山大佛旅游攻略跟团游6日游报价咨询,驴友亲测!】—— 跟着本地导游乐乐畅享川蜀之...
5年近10家4A级及以上景区破... 景区内1元一根的冰棍、2.5元一根的黄瓜让国内首家破产的5A级景区——龙潭大峡谷出了圈。与此同时,一...
零售数据分析之操作篇5:近期计... 各位数据的朋友,大家好,我是老周道数据,和你一起ÿ...
半导体器件基础05:肖特基二极... 说在开头:关于原子模型(2) 马上有物理学家就出来说了&#...
Linux系统调用之wait,... 前言 如果,想要深入的学习Linux系统调用中的wait,waitpid...
最少砝码(思维+找规律) 最少砝码 前n个可以表示0~k; 第n+1个为x(x>k);...
去四川旅游攻略当地团6日游一个... 深入四川的奇幻之旅 四川旅游推荐!当地导游-乐乐:185 8335 5758(加他微信-立减200)...
四川九寨沟峨眉山旅游参团6日游... 亲临仙境,探索四川的奇妙之旅 四川旅游推荐!当地导游-乐乐:185 8335 5758(加他微信-立...