esp32的开发有两种环境,分别是 Arduino 和 esp32-idf。 Arduino 是在 esp32-idf 基础上进行封装的,虽然使用起来比较方便,但是能自由更改的就变少了,适合新手使用。 esp32-idf 开发难度会大一些,但是可操作空间也会大一些。
一、准备材料
硬件: 一款 ESP32-S3 开发板 USB 数据线 (A 转 Micro-B) 电脑(Windows、Linux 或 Mac OS)
软件: 环境:esp-idf 编译工具:CMake + Ninja 或 CMake + idf.py 代码编辑器:VSCode、esp-ide、Notepad++等
网站资源 乐鑫官网:https://www.espressif.com.cn/zh-hans/products/sdks/esp-idf Cmake官网:https://cmake.org/ Ninja官网:https://ninja-build.org/
二、esp-idf安装
esp-idf安装有两种方式,分别是手动安装和 esp-idf 安装工具安装。 以前还没有 esp-idf 安装工具时,在Windows环境下安装就会异常困难,但是现在推荐使用 esp-idf 安装工具安装,将会异常简单。
2.1 esp-idf工具安装器
根据需要选择安装包,因为我不使用乐鑫的idf编辑器,所以我下载了最新的idf
双击安装包
选择语言
同意协议
检查安装环境
设置工具的安装路径
选择需要安装的组件
安装
安装完成
2.2 esp-idf 手动安装
获取 esp-idf GitHub:https://github.com/espressif/esp-idf
git clone -b v4.4.2 --recursive https://github.com/espressif/esp-idf.git
注意: git clone 命令的 -b v4.4.2 克隆版本对应的分支。
--recursive
是循环克隆git子项目,如果克隆时没有使用 --recursive 进行循环克隆,可以使用git submodule update --init
命令获取所有子模块cd esp-idf git submodule update --init
Cmake 安装 详细安装见:https://www.cnblogs.com/jzcn/p/16733956.html
Ninja/idf.py 安装 详细安装见:Ninja安装:https://www.jianshu.com/p/2f93fd6a64c9 注意:Ninja目前只支持64位的系统,如果是32位的系统只能使用idf.py
Python 安装 详细安装见:https://www.cnblogs.com/jzcn/p/16733969.html Python 安装完成后,从 Windows 中打开“命令提示符”窗口,并运行以下命令:
pip install --user pyserial
工具链下载 下载地址:https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip
完成 到此环境需要的工具基本就安装完成了,对于不熟悉这些工具的朋友来说还是比较麻烦的,在esp-idf也写了自动安装的脚本,详细见2.3
2.3 esp-idf 脚本安装
下载 esp-idf
git clone -b v4.4.2 --recursive https://github.com/espressif/esp-idf.git
esp-idf 从GitHub中下载完成后,可以看到其中有 install 和 export 两个文件,如下图所示:
执行脚本安装 进入 esp-idf 路径下执行命令
install.bat esp32s3 # CMD中执行 ./install.ps1 esp32s3 # Windows PowerShell
注意: 可以一次安装多个目标,如
./install.sh esp32,esp32c3,esp32s3
安装的工具默认路径是%USERPROFILE%\.espressif
, 想要更改安装位置,请在执行命令前将自己需要安装的路径设置环境,变量名为IDF_TOOLS_PATH
。配置环境变量 在 esp-idf 路径下执行命令
export.bat # CMD中执行 ./export.ps1 # Windows PowerShell
注意:手动安装时,下载的工具多数时GitHub中下载的,所以还是建议采用离线安装的方式比较快
三、创建项目
案例程序在esp-idf/examples的路径下,可以直接将 examples 目录下的 get-started/hello_world 工程拷贝找指定目录进行测试,也可以使用命令进行拷贝,
xcopy /e /i %IDF_PATH%\examples\get-started\hello_world hello_world
注意: ESP-IDF 编译系统不支持带有空格的路径。
四、测试
打开 ESP-IDF 4.4 CMD
或 ESP-IDF 4.4 PowerShell
进入项目目录,执行下面命令
配置开发板信息
idf.py set-target esp32s3
编译工程 在项目主路径下执行下面命令
idf.py build
下载
idf.py -p PORT [-b BAUD] flash
如
idf.py -p PORT COM7 flash
打开串口显示窗口
idf.py -p PORT monitor
注意:运行
idf.py -p PORT flash monitor
命令,可以一次性执行构建、烧录和监视过程。
五、使用技巧
配置 esp32 信息 配置 esp32 相关信息可以直接打开项目中的sdkconfig文件直接配置,如下图所示:
当然也可以通过图形界面进行配置
idf.py menuconfig
**注意这个图形配置界面在CMD中可能不能正常运行,换用 PowerShell 即可
在 CMD 或 PowerShell 中使用 idf.py 命令 当打开 CMD 或 PowerShell 时,窗口会自动添加一些路径,如下图所示:
从图中可以看出,只需要将这些路径添加到环境变量中即可。
六、问题
- 执行策略问题
解决办法:
以管理员身份打开 PowerShell 执行下面命令
get-executionpolicy set-executionpolicy remotesigned
参考文献
Ninja安装:https://www.jianshu.com/p/2f93fd6a64c9
标签:
留言评论