【ESP32】IDF的安装报错,烧录报错解决
·
本文详细记录了笔者在Linux环境下,ESP32 IDF的安装到编译烧录Hello World程序。碰到的所有问题的解决方法。以此记录
1 安装IDF报错发生
ESP32在Linux下安装,只需在VS CODE里安装插件即可。但是会遇到一些报错,如
non zero exit code 1 Creating a new Python environment ...
这实际是提醒你,Python无法创建虚拟环境。可能是你的python不支持。
2 检查python版本,安装包支持
# 输入python3,打开python,查看版本。
fate@-virtual-machine:/usr/bin$ python3 --version
Python 3.10.12
可见,python版本是3.10。安装对应的版本。
apt-get install python3.10-venv
2.2 python 下载报错
现在重新通过vscode的esp idf插件安装,就不会在这里报错了,但是如果你没有配置镜像源,也会报错,下载时间过长。 这里一起提供命令行。
mkdir -p ~/.pip
vim ~/.pip/pip.conf
文件中输入
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
保存后,重新安装即可。就不会报错了。
3 Hello World 编译问题
笔者是在Linux环境下安装的。运行后,发现报错。
检测不到USB口,且OpenOcd未运行。
3.1 USB口检测不到
fate@fate-virtual-machine:~/esp32/es32-s3-n16-learn/hello_world$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 005: ID 303a:1001 Espressif USB JTAG/serial debug unit
Bus 003 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mous
说明检测到了USB,查看/dev,ls /dev 没有找到 /ttyUSB0。转而搜索相关文档。发现是内核没加载usb模块。使用bash sudo modprobe usbserial
加载模块。但是又发现内核版本不够。检查版本,更新内核驱动模块。
## 检查版本
fate@fate-virtual-machine:~/esp32/es32-s3-n16-learn/hello_world$ uname -a
Linux fjp-virtual-machine 5.19.0-41-generic #42~22.04.1-Ubuntu S
# 更新内核模块
sudo apt install linux-modules-extra-5.19.0-41-generic
## 加载usb驱动
sudo modprobe usbserial
3.2 总的命令
sudo apt install linux-modules-extra-5.19.0-41-generic
sudo modprobe usbserial
3.3 OpenOCD服务没开。导致无法烧录/Debug
复制一个文件到etc目录
将文件60-openocd.rules拷贝到如下目录。(60-openocd.rules文件在IDF安装的目录下,find找一下就行)
# 要复制到的目录
\etc\udev\rules.d
参考文章:
https://blog.csdn.net/qq_43222384/article/details/125995501
https://blog.csdn.net/beile759/article/details/144200868
更多推荐
所有评论(0)