ESP-IDF 版本无缝切换实战指南
1,相关连接:
eim_gui下载链接:https://dl.espressif.com/github_assets/espressif/idf-im-ui/releases/download/v0.18.0/eim-gui-windows-x64.exe
IDF旧版本下载:https://dl.espressif.cn/dl/esp-idf/
Windows下ESP-IDF切换对于新版本的IDF是很友好的,只要采用eim_gui就可以轻松实现。对于eim_gui不兼容的IDF版本就比较麻烦,还会出现无法兼容的问题。
以V4.4.2和V5.3.1的切换来说明
2,下载相关文件

3,安装好对应的IDF版本
3.1注意安装在不同的文件夹,如下图所示

3.2,桌面新加了4个新图标

4,编写切换版本的bat文件
把代码保存为 “VerSel.bat”
@echo off
:loop
cls
echo ================ select your version ===============
echo 0: exit function
echo 1: V4.4.2
echo 2: V5.3.1
set /p userinput=Enter your choise please:
if "%userinput%"=="0" exit /b
if "%userinput%"=="1" goto sel1
if "%userinput%"=="2" goto sel2
:sel1
::此命令只会将变量添加到用户环境变量中。需要 管理员权限
::经多次测试,把以下行改成 setx IDF_TOOLS_PATH “” 更理想
setx IDF_TOOLS_PATH D:\esp\v4.4.2\esp-idf
::此命令只对当前窗口有效,批处理或cmd窗口一关闭,变量就恢复原来的值了。
set IDF_TOOLS_PATH=D:\esp\v4.4.2\esp-idf
::timeout /t 10
start cmd /k ""D:\esp\v4.4.2\esp-idf\idf_cmd_init.bat" esp-idf-4c364ef09855bad2d02f8bd67910971f"
start powershell -ExecutionPolicy Bypass -NoExit -File "D:\esp\v4.4.2\esp-idf/Initialize-Idf.ps1" -IdfId esp-idf-4c364ef09855bad2d02f8bd67910971f
goto loop
:sel2
::此命令只会将变量添加到用户环境变量中。需要 管理员权限
::经多次测试,把以下行改成 setx IDF_TOOLS_PATH “” 更理想
setx IDF_TOOLS_PATH D:\esp\v5.3.1\esp-idf
::此命令只对当前窗口有效,批处理或cmd窗口一关闭,变量就恢复原来的值了。
set IDF_TOOLS_PATH=D:\esp\v5.3.1\esp-idf
::timeout /t 10
start cmd /k ""D:\esp\v5.3.1\esp-idf\idf_cmd_init.bat" esp-idf-98981fb53a6608f9b67fb5b6071d91bf"
start powershell -ExecutionPolicy Bypass -NoExit -File "D:\esp\v5.3.1\esp-idf/Initialize-Idf.ps1" -IdfId esp-idf-98981fb53a6608f9b67fb5b6071d91bf
goto loop
5,bat文件说明
5.1 把对应的IDF路径进行修改,如下图箭头所示

5.2 修改对应版本的cmd代码和shell代码
------以下只说明V4.4.2的修改,V5.3.1方法相同
如下图所示,红色框代码来自 “ESP-IDF 4.4 CMD.lnk” 的目标,内容如下:C:\Windows\system32\cmd.exe /k ““D:\esp\v4.4.2\esp-idf\idf_cmd_init.bat” esp-idf-4c364ef09855bad2d02f8bd67910971f”
把它改成如下,弹出新的CMD,运行代码
start cmd /k ““D:\esp\v4.4.2\esp-idf\idf_cmd_init.bat” esp-idf-4c364ef09855bad2d02f8bd67910971f”
蓝色框代码来自 “ESP-IDF 4.4 PowerShell.lnk” 的目标,内容如下:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoExit -File “D:\esp\v4.4.2\esp-idf/Initialize-Idf.ps1” -IdfId esp-idf-4c364ef09855bad2d02f8bd67910971f
把它改成如下,弹出新的shell,运行代码
start powershell -ExecutionPolicy Bypass -NoExit -File “D:\esp\v4.4.2\esp-idf/Initialize-Idf.ps1” -IdfId esp-idf-4c364ef09855bad2d02f8bd67910971f

6,运行bat
注意,这样修改,一般只能在idf cmd进行编译工程

7,编译工程
经过步6切换后,可以直接打开桌面的ESP-IDF CMD进行编译

如下图所示,采用 cd 指令进入工程文件夹,并用 idf.py build 进行构建工程


8,其它常用指令
idf.py set-target esp32
idf.py menuconfig
更多指令资料可参考 https://docs.espressif.com/projects/esp-idf/zh_CN/release-v6.0/esp32/get-started/windows-start-project.html
更多推荐



所有评论(0)