注意:Eclipse 只是一个代码编写工具,它并不能读取 makefile 里面的一些配置,甚至它会读取到 cygwin 下同名称的头文件。
针对该现象引起的报错,我们建议用户在使用该 IDE 时,直接将 Problems 栏目关掉,因为该提示并不准确,我们主要关注的信息应该为 Console 栏目下的输出。(第一条 Console 报错最重要!)
我们以ESP8266_NONOS_SDK-v3.0.0为例 (使用乐鑫原厂固件,需要将 examples/IoT_Demo 下的文件拷贝到工程目录的顶层文件。)
下载后解压到合适的目录下,我们以 ESP8266_NONOS_SDK-3.0.0 为例:
ESP8266_NONOS_SDK 采用了 SDK 和工程文件夹分离的方式,所以我们需要复制一个 DEMO 到 SDK 的顶层目录。
- 复制 IOT_Demo 到 SDK 顶层目录
- 将 ESP8266_NONOS_SDK/third_party/makefile 重命名为 makefile.bak ,以防止编译时报错,虽然不影响编译但是强迫症患者不能忍啊。。。
接下来,我们启动 ESP_IDE,将项目导入 Eclipse
- 选择 File→Import
- 点开 C/C++ 分支,并选中Existing Code as Makefile Project
- 去除 C++ 支持,选中 Gross GCC
点击Browser,选中 ESP8266_NONOS_SDK-3.0.0 所在的目录
- 点击 Finish 完成 ESP8266_NONOS_SDK-3.0.0 的导入
如下图:
- 鼠标选中项目名称,点击右键菜单中的 Properties
选择 C/C++ Build → Build command 中添加编译规则,用户可以根据实际情况来更改规则 (
make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=2)在 C/C++ Build → Build directory 选择编译的工程路径
- 点击 Apply ,ok, 完成 ESP8266_NONOS_SDK-3.0.0 的属性设置
鼠标选中项目名称,点击右键出现菜单:
Build Project :编译项目
Clean Project:清理项目
选中编译项目,控制台输出如下图即编译成功
注意:Build Project 前最好先 Clean Project,以防止出错
下载后解压到合适的目录下,我们以 ESP8266_RTOS_SDK-3.0.0 为例:
接下来,我们启动 ESP_IDE,将项目导入 Eclipse
- 选择 File→Import
- 点开 C/C++ 分支,并选中Existing Code as Makefile Project
- 去除 C++ 支持,选中 Gross GCC
点击Browser,选中 ESP8266_RTOS_SDK
- 点击 Finish 完成 ESP8266_RTOS_SDK-3.0.0 的导入
完成后如下图:
- 鼠标选中项目名称,点击右键出现菜单选择 Properties 2. 选择 C/C++ Build → Build directory 选择工程路径
示例:ESP8266_RTOS\examples\get-started/project_template
- 添加 IDF PATH 到工程中,C/C++ Build → Environment 对话框中新添一个环境变量 name 命名为 IDF_PATH, value 中填入 ESP8266_RTOS_SDK 的路径
点击Apply, ok, 完成 ESP8266_RTOS_SDK 的属性设置
- 点击项目名称,右键菜单中选择Make Targets → Create
- 在弹出的对话框中取消勾选 Same as the target name 与 User builder settings,在 Target name 输入规则名字 (menuconfig), Build command 中输入mintty.exe -e make menuconfig
- 执行上面刚刚创建的 Make Targets,在右键菜单 Make Targets → Build, 在弹出的对话框,选择 menuconfig, 点击 Build
一切配置正确后,可以看到系统跳出一个 menuconfig 窗口,我们可以在这里构建 menuconfig
鼠标选中 ESP8266_RTOS_SDK-3.0.0,点击右键出现菜单:
Build Project :编译项目
Clean Project:清理项目
选中编译项目,控制台输出如下图即编译成功
注意:Build Project 前最好先 Clean Project,以防止出错
下载解压 esp-idf 到合适的目录下,我们以esp_idf-V3.2为例
接下来,我们启动 ESP_IDE,将项目导入 Eclipse
- 选择 File→Import
点开 C/C++ 分支,并选中Existing Code as Makefile Project
去除 C++ 支持,选中 Gross GCC
点击Browser,选中 ESP8266_RTOS_SDK
- 点击 Finish 完成 esp-idf 的导入
完成后如下图:
项目属性配置,鼠标选中 esp-idf,右键菜单选择 Properties → C/C++ Build 在 Build directory 选择需要编译的工程路径 示例:esp-idf/examples/get-started/hello_world
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图29](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_013.png#alt=)
添加 IDF 路径,在 C/C++ Build → Environment 中点击 Add
弹出的对话框 name 输入 IDF_PATH,Value 输入 esp-idf 的路径
配置好之后点击Apply,Ok
我们下载esp-adf,解压到合适路径
接下来我们将 esp-adf 导入到 eclipse
- 选择 File→Import
- 点开 C/C++ 分支,并选中Existing Code as Makefile Project
- 去除 C++ 支持,选中 Gross GCC
点击Browser,选中 esp-idf 所在的目录
- 点击 Finish 完成 esp-adf 的导入
如下图:
右键项目→Properties , 单击 C/C++ Build,修改如下图
添加 ADF PATH 到 eclipse 中,右键项目→Properties → C/C++ Build → Environment 对话框中新添一个环境变量 name 命名为 ADF_PATH, value 中填入 esp-adf 的路径
此时,已经具备了编译的基础,下面我们配置 make menuconfig 这条指令
首先新建 target,右键项目名称→Make targets , 选择 Creat
给该 Target 新建一个名称
在弹出的页面中取消勾选 Use builder setting ,
取消勾选 Same as the target name 并清空 Make target 的内容
在下面 command 中输入 mintty.exe -e make menuconfig
点击 OK 保存
选中项目,按下快捷键 Shift + F9,弹出刚才新建的一个 Target
鼠标选中需要编译的 Target, 点击 Build 即可实现在 Eclipse 中下载和配置 esp_adf
首次使用请先执行 make menuconfig
鼠标选中项目名称,点击右键出现菜单:
Build Project :编译项目
Clean Project:清理项目
选中编译项目,控制台输出如下图即编译成功
注意:Build Project 前最好先 Clean Project,以防止出错
http://wiki.ai-thinker.com/ai_ide_use
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图1](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_esp_eclipse_error.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图2](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-nonos-menu-001.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图3](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-nonos-menu-002.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图4](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_esp_eclipse_import0.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图5](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_esp_eclipse_import1.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图6](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_install.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图7](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-nonos-menu-003.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图8](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_000.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图9](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_001.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图10](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_esp_eclipse_import10.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图11](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-nonos-menu-004.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图12](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-rtos-menu-001.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图15](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_002.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图16](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-rtos-menu-002.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图17](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_004.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图18](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_005.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图19](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_006.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图20](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_007.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图21](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_008.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图22](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_009.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图23](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_010.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图24](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_011.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图26](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-rtos-menu-003.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图28](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_012.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图30](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_014.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图31](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ide_set_015.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图32](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_ude_set_016.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图33](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-adf-001.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图36](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-adf-002.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图37](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-adf-007.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图38](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-adf-003.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图39](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-adf-004.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图40](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-adf-005.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图41](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-adf-006.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图42](http://wiki.ai-thinker.com/_media/ai_ide_use/ai_esp_eclipse_edit_target_menu.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图43](http://wiki.ai-thinker.com/_media/ai-eclipse-adf-008.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图44](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-adf-009.png#alt=)
![如何使用安信可 ESP 系列一体化开发环境 [安信可科技] - 图46](http://wiki.ai-thinker.com/_media/ai_ide_use/ai-eclipse-adf-0010.png#alt=)
