目录
Preface:
(一)为电脑安装USB驱动
(二)Platformio工程
(三)相关文章
(四)总结
esp32-s3有一个built-in的usb-jtag,可以用来下载、调试、打印日志,但是网上关于如何使用它的文章相对较少,所以这里总结了一些我使用的记录~
目前是只弄了platformio版本的(2024/1/10),后面有需要再弄idf版本
本人使用的是Windows10,没用Ubuntu,所以所有环境都是基于Win的。
虽然官方文档有教怎么用,但是说得不是很清楚,反正我是没看懂怎么用。。(可能我比较菜
然后就一直找,搞了好几天终于搞定了~
首先,需要用一个软件:Zadig,来为电脑安装驱动,作用就是烧录时,软件能够识别到。安装完成后双击打开,如下:
然后选择Options->List all devices后,就能检测到计算机上的所有端口了:
注意:其实在设备管理器也能看到端口,但是如果设备管理器一直在刷新(我估计是因为esp32没有进入下载模式导致的),就需要先让ESP32进入Boot模式,确定设备管理器能正常看到USB设备且没有一直刷新。
然后回到Zadig里面,下拉选择USB JTAG/serial debug unit (Interface 0),并且选择新的驱动为USB Serial(CDC)—(Communication Device Class),点击更新/安装驱动,等待结束(我这里已经更新好了):
然后,再选择USB JTAG/serial debug unit (Interface 2),新驱动选择为libusbK,然后点更新,等待结束(我这里已经更新好了):
那么,USB CDC的驱动就已经安装好了;
新建好工程后,在platformio.ini文件里面,这里我首先选择串口monitor的速度为115200(自定);(注意:在ESP32-S3使用Arduino的api时,如果使用的是正常串口打印,也就是TXD&RXD的话,要用Serial0.print才能正常打印;而使用USB CDC时,要使用Serial.print才能打印)
然后,为了使能USB CDC下载,需要在platformio.ini文件里添加编译命令如下:
build_flags = -DARDUINO_USB_CDC_ON_BOOT=1 ; Enable USB CDC
-DCORE_DEBUG_LEVEL=1 ; Set debug level
如下图:
接着在主函数里进行测试:
因为platformio会自动选择COM口号,所以就不用管是哪个COM口了,直接编译上传:
然后打开串口监视器:
可以看到已经成功编译上传,并且能够通过该USB CDC实现串口输出以及LOG;
Thanks for the following articles:
[1] USB Settings for Logging with the ESP32-S3 in PlatformIO
[2] ESP32S3 esp-idf: Platformio serial monitor not working on USB CDC interface
[3] USB CDC and DFU Flashing
esp32s3 built-in usb-jtag debugging(if needed) via platformio:
[3] How to use JTAG built-in debugger of the ESP32-S3 in PLATFORMIO
esp32s3 built-in usb-jtag debugging via platformio---Windows usb driver
[4] Debugging Dice Device
英语真得好好学(实话)
Google真好用
完~
以上均为个人学习心得,如有错误,请不吝赐教~
THE END