一、所需工具
由于项目要用ESP32模块进行开发,折腾了下集成开发环境,现将过程记录下来,以便需要的人使用。其中需要的有交叉编译工具,esp-idf示例代码以及C/C++版的eclipse。
- 交叉编译工具MSYS32:https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip
- 示例代码esp-idf:https://github.com/espressif/esp-idf.git
- C/C++版的eclipse:https://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr2
二、搭建步骤
首先下载交叉编译工具MSYS32,我这里下载后的压缩包为“esp32_win32_msys2_environment_and_toolchain-20180110.zip”,解压缩得到文件夹“msy32”,双击打开文件夹里的“msys2.exe”,该工具和可以使用Linux命令,进入到你要放置esp-idf示例的文件夹,
使用命令:git clone --recursive https://github.com/espressif/esp-idf.git
获取esp-idf示例代码。如下图所示:
进入msys32的配置文件夹,
我的是“D:ESP32msys32etcprofile.d”,创建文件“export_idf_path.sh”,并输入内容“export IDF_PATH=”D:ESP32espesp-idf””。
该步骤是将配置esp-idf工作路径。
打开文件夹“msys32”下的“mingw32.exe”,
使用命令cp -r ./esp-idf/examples/get-started/hello_world .
,将示例例程“hello_world”复制到当前文件夹。
进入“hello_world”文件夹,使用命令make menuconfig
等待进入配置界面
配置和ESP32开发版连接的串口
配置好了之后,使用make命令编译hello_world项目,首次编译较慢,需要耐心等待。
编译好了之后可以直接使用make flash命令进行烧写。之所以进行上面编译和烧写命令,是为了验证所下载的示例没有问题,也可以使用mingw32.exe工具进行开发,但是不美观。下面介绍使用eclipse进行开发。
下载C/C++版的eclipse(https://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr2)
下载完之后解压缩,得到eclipse,打开eclipse,导入hello_world项目。
配置编译环境
重复上述步骤,添加变量V,值为1
编辑PATH变量,添加“D:ESP32msys32usrin”,“D:ESP32msys32mingw32in”和“D:ESP32msys32optxtensa-esp32-elfin”
指定编译命令:bash ${IDF_PATH}/tools/windows/eclipse_make.sh
配置编译工具
到此,交叉编译工具已经配置好了,但是还不能编译hello_world项目,还需将必要的头文件加入到项目中。
-
${IDF_PATH}/components/esp32/include
-
${IDF_PATH}/components/newlib/include
-
${IDF_PATH}/components/freertos/include
-
${IDF_PATH}/components/nvs_flash/include
-
${IDF_PATH}/components/driver/include
-
${IDF_PATH}/components/log/include
-
${IDF_PATH}/components/spi_flash/include
此时在eclipse中的配置已经好了,但是编译可能还会出错,需要关闭eclipse,打开“mingw32.exe”并进入到hello_world项目文件夹,使用命令make menuconfig进行配置。
配置好了之后,再次打开eclipse编译hello_world项目,发现此时可以编译了。
编译好了之后可以烧写了
至此完成!