在Eclipse中开发ESP32项目,编译并上传固件

最近对ESP32的开发产生兴趣,所以做一些记录。

1. 下载交叉编译工具链,将bin目录配置到PATH中

export PATH=$HOME/esp/xtensa-esp32-elf/bin:$PATH


2. 下载ESP-IDF(GitHub)

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


3. 打开Eclipse

File->Import->Existing Code as Makefile Project

 在Eclipse中开发ESP32项目,编译并上传固件


4. Existing Code Location中选择你的项目目录,比如examples中的blink示例

Toolchain for Indexer Settings选择Cross GCC

 在Eclipse中开发ESP32项目,编译并上传固件


5. 点完成后,对项目名点击右键 ->属性(Properties)->C/C++ Build->Environment

点击Add...添加环境变量:

Name: BATCH_BUILD,  Value: 1

Name: IDF_PATH,  Value:${IDF_PATH}

 在Eclipse中开发ESP32项目,编译并上传固件


6. 左面导航栏切换到 C/C++ General->Preprocessor Include Paths

点击窗口中的Providers标签

 在Eclipse中开发ESP32项目,编译并上传固件


 7. 设置CDT Cross GCC Built-in Compiler Settings中的

Command to get compiler specs:

xtensa-esp32-elf-gcc ${FLAGS} -E -P -v -dD "${INPUTS}"

 在Eclipse中开发ESP32项目,编译并上传固件


8. 设置 CDT GCC Build Output Parser中的

Conpiler command pattern:

xtensa-esp32-elf-(g?cc)|([gc]\+\+)|(clang)

 

 在Eclipse中开发ESP32项目,编译并上传固件


9. 点击Apply后,基本就可以编译了。不过会出错,官方文档要求在终端中做一次make menuconfig(如果你编译过linux内核,会感觉好熟悉)

然后编译就不会出错了

 在Eclipse中开发ESP32项目,编译并上传固件

 在Eclipse中开发ESP32项目,编译并上传固件

 在Eclipse中开发ESP32项目,编译并上传固件

 

 

10. 上传固件(bin文件)到esp32开发板,对项目名点击右键 Build Targets->Create...

Target name: flash

然后确定,当你编译的时候就能上传固件了。

 在Eclipse中开发ESP32项目,编译并上传固件

在Eclipse中开发ESP32项目,编译并上传固件

在Eclipse中开发ESP32项目,编译并上传固件

11. 上传固件是也可能会出错。其中之一就是访问/dev/tty*没有权限,官方有说明,可以将用户添加到dialout用户组中

sudo usermod -a -G dialout $USER


系统环境为Ubuntu16.04