ESP32 ESP-IDF CMake Windows开发环境搭建

简介

ESP-IDF 是 ESP32 芯片的官方开发框架

GUN Make和CMake的对比

GUN Make在Linux和Mac OS很容易构建一个工程,但Windows使用GUN需要使用MinGW。
CMake是一个跨平台软件编译工具可以在Windows、Linux和Mac OS上使用,CMake接根据IDF_TOOLS_PATH使用这些编译工具,在CMake 中使用的是ninja构建工具。

安装准备

python

通过anaconda安装,python 版本选择python3.7
anaconda下载地址
anaconda安装配置

git

git for windwos下载

获取ESP-IDF

D:
cd software
git clone --recursive https://github.com/espressif/esp-idf.git

ESP-IDF 工具安装器下载

通过install.bat安装

设置工具的安装目录
在环境变量中设置 IDF_TOOLS_PATH=D:\software\espressif

然后重新打开命令行

D:
cd software/esp-idf
install.bat

ESP-IDF安装器安装

ESP-IDF 工具安装器

ESP-IDF 工具安装器包括所需的交叉编译器、OpenOCD、cmake 和 Ninja 编译工具,以及一款 mconf-idf 配置工具。
此外,本安装器还可在有需要时下载、运行 Python 3.7 和 Git For Windows 的安装器(在安装过程中可以看到)

设置工具及环境变量

由于安装的工具尚未添加至 PATH 环境变量,无法通过命令行使用这些工具。因此,必须设置一些环境变量

D:
cd software/esp-idf/ # IDF的下载位置
export.bat

查看idf.py是否安装成功

> idf.py --help

解决每次构建前都需要执行 export.bat

方法一

将以下内容配置到Path中,每次打开命令行就可以使用idf.py命令

D:\software\espressif\.espressif\tools\xtensa-esp32-elf\esp-2020r1-8.2.0\xtensa-esp32-elf\bin
D:\software\espressif\.espressif\tools\xtensa-esp32s2-elf\esp-2020r1-8.2.0\xtensa-esp32s2-elf\bin
D:\software\espressif\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin
D:\software\espressif\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin
D:\software\espressif\.espressif\tools\cmake\3.16.4\bin
D:\software\espressif\.espressif\tools\openocd-esp32\v0.10.0-esp32-20200406\openocd-esp32\bin
D:\software\espressif\.espressif\tools\ninja\1.10.0\
D:\software\espressif\.espressif\tools\idf-exe\1.0.1\
D:\software\espressif\.espressif\tools\ccache\3.7\
D:\software\espressif\.espressif\python_env\idf4.2_py3.7_env\Scripts
D:\software\esp-idf\tools

方法二

在桌面创建一个cmd.exe的快捷图标,在目标中添加C:\Windows\System32\cmd.exe /k “D:\software\esp-idf\export.bat”,在起始位置中添加E:\project\esp

创建一个测试工程

创建一个esp的工程目录E:\project\esp并在命令行中选择到该目录下

 E:
cd project\esp # 选择到该目录下
xcopy /e /i %IDF_PATH%\examples\get-started\hello_world hello_world

编译配置

和linux内核配置界面类似

如果切换成其它芯片可以参考IDF_TARGET

cd  E:\project\esp\hello_world # 选择到要构建的项目下
idf.py set-target esp32 # 默认是esp32
idf.py menuconfig


menuconfig 工具的常见操作

  • 上下箭头:移动
  • 回车:进入子菜单
  • ESC 键:返回上级菜单或退出
  • 英文问号:调出帮助菜单(退出帮助菜单,请按回车键)
  • 空格Y 键:选择 [] 配置选项;N 键:禁用 [] 配置选项
  • 英文问号 (查询配置选项):调出有关该选项的帮助菜单
  • / 键:寻找配置工程

如果界面出现乱码可以在D:\software\esp-idf\tools中的idf.py的main中添加os.system(“chcp 437”),注册python编码的格式的统一

编译工程

执行以下命令可以将工程构建成二进制文件

> idf.py build

出现以下提示说明工程构建成功

编译成功会在hello-world\build的文件夹中生成 hello-world.bin文件

烧录

使用以下命令,将刚刚生成的二进制文件烧录至开发板,如果没有多个开发板可以直接运行idf.py flash

根据对应的开发板类型选择驱动

idf.py -p (PORT) flash

烧录完成后,开发板将会复位,应用程序 “hello_world” 开始运行
查看COM口

idf.py -p COM3 flash

使用监控器查看运行状态

idf.py -p COM3 monitor


您可使用快捷键 Ctrl+],退出 IDF 监视器。

如果日志显示为乱码,很有可能是因为您的开发板采用了 26 MHz 晶振,而 ESP-IDF 默认支持大多数开发板使用的 40 MHz 晶振。

  • 退出监视器。
  • idf.py menuconfig 打开 menuconfig。
  • 进入 Component config –> ESP32-specific –> Main XTAL frequency 进行配置,将 CONFIG_ESP32_XTAL_FREQ_SEL 设置为 26 MHz。
  • 重复以上步骤编译和烧录 应用程序。

接下来可以尝试搭建你的集成开发环境了

如果搭建的是Linux或Mac开发环境,和以上步骤基本上类似,但建议使用make进行开发

参考:
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html#id3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章