1. 背景
最近在进行对ESP32的学习和开发,需要使用到不同版本的ESP-IDF。目前电脑为Win11解决办法为
- Win11 + VSCode + IDF v5.0
- Win11 + WSL + Ubuntu + IDF v4.4
如果在Linux环境下理论可以安装两个版本的IDF,需要自己实践。可以参考 IDF版本python环境冲突问题的解决办法
其他问题可以看是不是我拆过的坑安装过程中的踩坑
2. 安装第一个版本IDF
在Win安装一个IDF比较简单,实现大多3种方法。三种安装方式我都尝试过,我个人喜欢第二种安装方式。
- 直接使用VSCode进行安装IDF (参考乐鑫的VSCode IDE安装)
- 使用乐鑫在线安装工具 + VScode配置 (参考乐鑫的手动安装)
- 使用乐鑫离线安装工具 + VScode配置 (参考乐鑫的手动安装)
我个人推荐使用乐鑫在线安装工具,可以自己更好的控制安装IDF版本。
我看别人推荐使用乐鑫的离线安装工具,但我已进行了尝试好像是不能选择IDF版本,默认安装的为最新版本的IDF,有时间的同学可以自己尝试实验。
直接使用VSCode进行安装IDF过程中,我也踩过不少坑,好像和电脑环境关系有关,有时候安装会顺利,有时候会有各种问题失败退出。
可以参考乐鑫官方安装操作。
https://docs.espressif.com/projects/esp-idf/zh_CN/v5.0/esp32/get-started/index.html#get-started-how-to-get-esp-idf
3. 安装第二个版本IDF
3.1 安装IDF
主要参考的博文 【图文】使用 WSL + VSCode 搭建 ESP32/ESP32-S2 开发环境
https://blog.csdn.net/qq_20515461/article/details/108818485
说明十分详细,有些需要注意的地方,在4. 安装 ESP-IDF 工具链下的 1.1 修改 ubuntu 源到国内镜像时需要自己更新下系统软件源。
在进行一些指令操作前需要使用sudo搭配使用。
不同版本的系统的源也是不同的,这个需要自己注意下。
更新源操作命令。
apt-get update
apt-get upgrade
3.2 IDF版本降级(根据自己需求选择)
在安装IDF后默认拉取的为最新版本的IDF,需要自己进行降级操作。
参考乐鑫官方更新IDF版本。
https://docs.espressif.com/projects/esp-idf/zh_CN/v4.4.4/esp32/versions.html#id15
将你需要使用的版本替换,如我需要V4.4
git checkout release/v4.4
可能出现的问题解决办法
无法连接到git子模块问题的解决办法
4. 安装过程中的踩坑
4.1 WSL安装中出现无法解析域名问题的解决办法
参考博客 WSL: Could not resolve hostname Temporary failure
https://blog.csdn.net/qq_41614928/article/details/117248424
4.2 无法连接到git子模块问题的解决办法
因为上面获取IDF版本是在Gitee拉去的,在更新子模块命令时出现了无法连接到git子模块问题
git submodule update --init --recursive
提示为
Failed to clone 'components/asio/asio'. Retry scheduled
参考文章无法连接到git子模块问题
https://esp32.com/viewtopic.php?t=20011
处理方法为请严格按照https://gitee.com/EspressifSystems/esp-gitee-tools/blob/master/docs/README-submodule-update.md 文档的步骤操作!
不要使用 esp-idf/tools/set-submodules-to-github.sh,这是个 idf 内部开发时使用的脚本。你用了 esp-gitee-tools 中的 sh 后,就不需要用 tools 下的 sh 了。
先git获取这个组件,然后按照说明操作。
submodule-update.sh 脚本支持将待更新 submodules 的工程路径作为参数传入,例如:submodule-update.sh PATH_OF_PROJ。
假如 Step 2 中 clone 的 esp-idf 位于 ~/git/esp32-sdk/esp-idf 目录,可使用以下方式来更新,如果要更新其他工程,可以同样方式。
cd esp-gitee-tools
./submodule-update.sh ~/git/esp32-sdk/esp-idf
4.3 IDF版本python环境冲突问题的解决办法
参考博客如何解决ESP-IDF_V4.1与ESP-IDF_V4.2的python环境冲突问题:“…………,can not create a virtual environment again “
https://blog.csdn.net/LSQ_L/article/details/114656528