一、前言
本教程适用以下两类人群:
- 无Linux环境搭建经验或搭建Linux开发环境不成功;
- 安信可windows一体化环境IDE V1.5开发环境搭建不成功
本教程提供了windows下搭建 ESP-IDF 开发环境的方法。
适用系统:Windows 10 64 位版本、Windows 7 SP2 级以上 x64 版本
安装版本:ESP-IDF 4.0 及以上版本
构建系统:CMake
二、安装依赖工具
2.1 安装 Python 3.7
- 下载链接:点击下载: python3.7.9;
注意,在安装时先勾选 Add Python 3.7 to PATH,或手动添加环境变量
- 修改 Python pip 源:
为了加快后续 Python 包的下载速度,可将 pip 源切换到国内,例如切换为国内阿里的源
管理员模式打开命令提示符窗口( CMD) ,执行以下指令:
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
pip config set global.trusted-host mirrors.aliyun.com
2.2 安装 Git:
Git 用于拉取 ESP-IDF 源代码,代码版本控制等;下载链接:点击下载: git 2.30
安装默认一路点击下一步即可。
注意,以上步骤完成以后,请重启电脑使配置生效
三、下载SDK
1.创建一个目录存放SDK,在目录空白处右击,选择Git Bash Hare
2.下载重定向脚本 esp-gitee-tools,运行以下指令:
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
3. 下载SDK:
git clone https://gitee.com/EspressifSystems/esp-idf.git
4.使用 esp-gitee-tools 拉取子模块
cd esp-gitee-tools
export EGT_PATH=$(pwd)
cd ..
cd esp-idf
$EGT_PATH/submodule-update.sh
后续如果切换了 git 分支,子仓库列表可能会有变化,需要重复执行步骤 4的指令
四、安装编译工具链
为了生成最终能在 ESP 芯片上运行的 bin 文件,这里还需要安装芯片对应的编译工具链和构建系统,工具链相关的下载信息一般在 ESP-IDF 中附带,我们这里使用 esp-gitee-tools 进行下载,步骤如下:
1.进入我们第三步创建的目录
2.同第三步类似,打开一个终端窗口;
3.使用 esp-gitee-tools 安装编译工具链,执行以下指令:
cd esp-gitee-tools
export EGT_PATH=$(pwd)
cd ..
cd esp-idf
$EGT_PATH/install.sh
至此环境安装的过程已经完成
五、小试牛刀,使用cmd编译运行Hello World
1.进入刚才我们下载的SDK目录,在地址行输入cmd,然后回车打开cmd.exe
在esp-idf目录下运行export.bat
添加环境变量到当前终端
注意,每次打开cmd都要运行此脚本添加环境变量到当前终端才能编译esp-idf
2.配置menuconfig
cd examples\get-started\hello_world
idf.py menuconfig
进入menuconfig界面
在这里我们配置好我们需要的宏,波特率,flash模式、flash大小速率等信息。
注意:
#if (运行idf.py menuconfig 出现 No module named '_curses'错误)
首先这个问题产生的是因为 curses 库不支持 windows。要解决这个问题,我们就需要使用一个 unofficial curses(非官方curses库)来代替 python 自带的curses库。也就是 whl 包。
安装包下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#curses
我们找到curses的库,有一堆版本,我们要怎么选择呢?
- cp 后面跟着的是python版本,我们这里的python版本是python3.7,所以我们要选择的是cp37
- 至于选择win32还是win_amd64,得看电脑电脑处理器架构,这里我根据我的电脑选择win_amd64
- 点击适合我的curses‑2.2.1+utf8‑cp37‑cp37m‑win_amd64.whl下载
- 在curses‑2.2.1+utf8‑cp37‑cp37m‑win_amd64.whl的下载目录下打开cmd
- 运行pip install <文件名>,这里我下载的文件名为curses‑2.2.1+utf8‑cp37‑cp37m‑win_amd64.whl
安装成功如上图所示,我们再运行idf.py menuconfig就不会报No module named '_curses’错误了
#endif
3.选择芯片
在需要编译的目录下运行idf.py set-target <芯片型号>
如安信可ESP32-S模组、ESP32-A1S模组、芯片型号应选择esp32;
ESP32-12K模组、ESP32-12H芯片信号选择esp32s2。
这里我们以esp32为例
idf.py set-target esp32
4.编译调试
清除编译(可选步骤)
idf.py clean
编译
idf.py build
擦除固件 (可选步骤)
idf.py -p COM9 erase_flash
下载固件
idf.py -p COM9 flash //COMx为你模组的串口号,需确保对应上。如果你的电脑上只接了一个COM,则只运行idf.py flash亦可
打开串口日志
idf.py monitor
ok,程序已经跑起来了
六、配置VS Code一体化开发环境
用户可以使用任意编辑器编写源代码,我们这里使用 VS Code,下载链接:点击下载 VS Code。编译、下载、运行过程如下:
1.启动 VS Code,打开内置终端窗口,快捷键为 Ctrl + ~
2.将默认终端切换为命令提示符 CMD
3. 重启 VS Code ,这样VS Code的终端就换成了CMD了。我们打开SDK,打开新终端
在esp-idf目录下运行export.bat
脚本
注意,每次打开终端都要运行此脚本添加环境变量到当前终端才能编译esp-idf
剩下的步骤就跟前文第五章一模一样啦,我们只是把cmd集成到VS Code,用法都是一样的。
七、总结
除了以上方法,我们还可以用VS Code插件Espressif IDF搭建esp-idf开发环境,搭建方法:传送门
windows环境跟linux环境相比,编译速度还是慢了不少的,这也是为什么我们在很多博文教程中都建议搭建linux开发环境的原因。
本文参考自https://blog.csdn.net/espressif/article/details/112231658
- 有疑问可留言或联系邮箱:support@aithinker.com
转载:https://blog.csdn.net/Boantong_/article/details/112515456