ESP32开发环境搭建之——hello_world

一、所需工具

由于项目要用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示例代码。如下图所示:

esp32 程序框架 esp32开发环境搭建_esp32 程序框架

进入msys32的配置文件夹,我的是“D:\ESP32\msys32\etc\profile.d”,创建文件“export_idf_path.sh”,并输入内容“export IDF_PATH=”D:\ESP32\esp\esp-idf””。该步骤是将配置esp-idf工作路径。

打开文件夹“msys32”下的“mingw32.exe”,使用命令cp -r ./esp-idf/examples/get-started/hello_world .,将示例例程“hello_world”复制到当前文件夹。

esp32 程序框架 esp32开发环境搭建_esp32 程序框架_02


进入“hello_world”文件夹,使用命令make menuconfig

esp32 程序框架 esp32开发环境搭建_eclipse_03


等待进入配置界面

esp32 程序框架 esp32开发环境搭建_示例代码_04


配置和ESP32开发版连接的串口

esp32 程序框架 esp32开发环境搭建_示例代码_05


esp32 程序框架 esp32开发环境搭建_eclipse_06


配置好了之后,使用make命令编译hello_world项目,首次编译较慢,需要耐心等待。

esp32 程序框架 esp32开发环境搭建_esp32 程序框架_07


esp32 程序框架 esp32开发环境搭建_示例代码_08

编译好了之后可以直接使用make flash命令进行烧写。之所以进行上面编译和烧写命令,是为了验证所下载的示例没有问题,也可以使用mingw32.exe工具进行开发,但是不美观。下面介绍使用eclipse进行开发。

下载C/C++版的eclipse(https://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr2)

esp32 程序框架 esp32开发环境搭建_ESP32_09

下载完之后解压缩,得到eclipse,打开eclipse,导入hello_world项目。

esp32 程序框架 esp32开发环境搭建_eclipse_10


esp32 程序框架 esp32开发环境搭建_示例代码_11


esp32 程序框架 esp32开发环境搭建_eclipse_12


esp32 程序框架 esp32开发环境搭建_esp32 程序框架_13

配置编译环境

esp32 程序框架 esp32开发环境搭建_示例代码_14


重复上述步骤,添加变量V,值为1

esp32 程序框架 esp32开发环境搭建_ESP32_15


编辑PATH变量,添加“D:\ESP32\msys32\usr\bin”,“D:\ESP32\msys32\mingw32\bin”和“D:\ESP32\msys32\opt\xtensa-esp32-elf\bin”

esp32 程序框架 esp32开发环境搭建_eclipse_16


指定编译命令:bash ${IDF_PATH}/tools/windows/eclipse_make.sh

esp32 程序框架 esp32开发环境搭建_eclipse_17

配置编译工具

esp32 程序框架 esp32开发环境搭建_交叉编译_18


esp32 程序框架 esp32开发环境搭建_eclipse_19


到此,交叉编译工具已经配置好了,但是还不能编译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

esp32 程序框架 esp32开发环境搭建_eclipse_20


此时在eclipse中的配置已经好了,但是编译可能还会出错,需要关闭eclipse,打开“mingw32.exe”并进入到hello_world项目文件夹,使用命令make menuconfig进行配置。

esp32 程序框架 esp32开发环境搭建_示例代码_21


配置好了之后,再次打开eclipse编译hello_world项目,发现此时可以编译了。

esp32 程序框架 esp32开发环境搭建_示例代码_22

编译好了之后可以烧写了

esp32 程序框架 esp32开发环境搭建_交叉编译_23


esp32 程序框架 esp32开发环境搭建_示例代码_24


esp32 程序框架 esp32开发环境搭建_eclipse_25


esp32 程序框架 esp32开发环境搭建_ESP32_26


至此完成!