在windows 下使用eclipse进行编译和烧写
eclipse IDE是一款开源的前端编程软件,它提供了编写,编译和调试ESP-IDF项目的图形集成开发环境。
首先在https://www.obeo.fr/en/eclipse-download?INSTALLER-WIN64中选择需要的对应位数的eclipse。
然后在http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载eclipse运行所需的java环境。
在安装是选择

点击安装jdk环境和eclipse软件。打开eclipse结果如下
STEP1;
设置Eclipse
一旦新的Eclipse安装启动,请按照下列步骤操作:
进口新工程
- Eclipse使用ESP-IDF中的Makefile支持。这意味着您需要先创建ESP-IDF项目。您可以使用github中的idf-template项目,或者在esp-idf examples子目录中打开一个示例。(这里选择上篇文章的helloworld)
- 一旦Eclipse运行,选择文件 - >导入...

- 在弹出的对话框中,选择“C / C ++” - >“现有代码作为Makefile项目”,然后单击“下一步”。

- 在下一页上,输入“现有代码位置”作为您的IDF项目的目录。不要指定ESP-IDF目录本身的路径(稍后)。您指定的目录应包含名为“Makefile”(项目Makefile)的文件。
- 在同一页面上的“用于索引器设置的工具链”下,取消选中“仅显示支持该平台的可用工具链”。
- 在出现的扩展列表中,选择“Cygwin GCC”。然后单击完成。
此时打开点击
可以看到新项目将显示在项目资源管理器下了。
STEP2;
项目属性
右键单击该项目,然后从上下文菜单中选择“属性”
点击“C / C ++ Build”属性页面(顶级):
- 取消选中“使用默认构建命令”,然后在自定义构建命令中输入
python ${IDF_PATH}/tools/windows/eclipse_make.py
- 取消选中“使用默认构建命令”,然后在自定义构建命令中输入

单击“C / C ++构建”下的“Environment”属性页面:

- 点击“Add...”,输入名称
BATCH_BUILD和值1 
- 再次点击“Add...”,输入名称
IDF_PATH。该值应为安装ESP-PATH的完整路径。应使用非反斜杠(即C:/ Users / MyUser / Development / esp-idf)的转斜斜杠来指定IDF_PATH目录。 
- 编辑PATH环境变量。删除现有值并替换为(3个bin路径)
C:\Users\li\Desktop\ESP32\msys32\usr\bin;C:\Users\li\Desktop\ESP32\msys32\mingw32\bin;C:\Users\li\Desktop\ESP32\msys32\opt\xtensa-esp32-elf\bin

- 点击“Add...”,输入名称
点击“C/C++ General” -> “Preprocessor Include Paths, Macros, etc.” 完成如下操作,替换
${COMMAND}行开头的文本xtensa-esp32-elf-gcc。
点击勾选“CDT GCC Build Output Parser”,并将完整的编译器命令模式改为
xtensa-esp32-elf-(g?cc)|([gc]\+\+)|(clang)
- 选择appply and close,此时看到工程已经不报错了。
- 在Eclipse之外,打开一个命令行提示符。导航到项目目录,并运行以配置项目的esp-idf设置。此步骤目前必须在Eclipse之外运行。
make menuconfig,和上篇文章的编译操作一样。 - 点击build进行编译后,

- 选择创建一个烧写flash的文件

选中project->Build Target->build对flash进行编译,将程序烧写到开发板中。
- 程序烧写完成,之后按照上篇文章的验证方法对整个烧写结果进行验证。

技术细节
- xtensa-esp32-elf-gcc交叉编译器不是 Cygwin工具链,尽管我们告诉Eclipse它是一个。这是因为msys2使用Cygwin并支持Cygwin路径(类型
/c/blah而不是c:/blah或c:\\blah)。特别地,xtensa-esp32-elf-gcc报告给Eclipse的“内置编译器设置”功能,其内置的include目录都在/usr/其中,这是Eclipse否则无法解析的Unix / Cygwin样式路径。通过告诉Eclipse编译器是Cygwin,它使用该cygpath实用程序在内部解析这些路径。 - 解析从esp-idf输出时也会出现同样的问题。Eclipse解析此输出以查找头目录,但无法解析表单的include目录,
/c/blah而不使用cygpath。Eclipse Build Output Parser使用一个启发式来确定是否应该调用它cygpath,但是由于目前未知的原因,esp-idf配置不会触发它。因此,eclipse_make.py包装器脚本用于调用make然后用于cygpath处理Eclipse的输出。
- xtensa-esp32-elf-gcc交叉编译器不是 Cygwin工具链,尽管我们告诉Eclipse它是一个。这是因为msys2使用Cygwin并支持Cygwin路径(类型
在windows 下使用eclipse进行编译和烧写的更多相关文章
- [dart学习]第一篇:windows下安装配置dart编译环境,写出helloworld
前言 博主非科班出身,平时多用C语言,最近想了解学习一门第二语言,看上了可用于移动开发的目前还小众一点dart,准备用一段比较长的时间来慢慢学习.理解. 关于dart语言不再详细介绍了,大家可以访问 ...
- Windows下为 Eclipse 配置 C/C++ 编译环境(转)
1.Eclipse及CDT的安装 CDT的全称是C/C++ DevelopmentTools,CDT使得Eclipse能够支持C/C++的开发.直接下载 eclipse CDT 集成版 下载地址:ht ...
- windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境
windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境 http://rongmayisheng.com/post/windows%E4%B8%8B%E7%94%A ...
- 在Windows下用Eclipse+CDT+MinGW搭建C++开发平台
本文提供了在Windows下用Eclipse+CDT+MinGW搭建C / C++开发平台的方法, 测试平台为Windows XP Sp2 CHS. 以下软件均为Windows平台下的版本. 1. ...
- eclipse下使用cygwin的方法(Windows下用eclipse玩gcc/g++和gdb)
明天就回国了,今晚回国前写写如何配置eclipse和CDT.这个配置方法网上讨论不是很多,可能用的人少,毕竟Windows上写C++程序多数喜欢VS,即使写的是Linux程序,很多人仍然会用VS(说只 ...
- 【嵌入式硬件Esp32】ESP32学习之在windows下搭建eclipse开发环境
一.所需工具 由于项目要用ESP32模块进行开发,折腾了下集成开发环境,现将过程记录下来,以便需要的人使用.其中需要的有交叉编译工具,esp-idf示例代码以及C/C++版的eclipse. 交叉编译 ...
- 在windows下用eclipse + pydev插件来配置python的开发环境
在windows下用eclipse + pydev插件来配置python的开发环境 一.安装 python 可以到网上下个Windows版的python,官网为:https://www.python. ...
- [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题) 网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...
- 在Windows下使用MinGW静态编译Assimp
使用MinGW静态编译Assimp 到了5月份了,没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...
随机推荐
- Python 爬虫 Vimeo视频下载链接
python vimeo_d.py https://vimeo.com/228013581 在https://vimeo.com/上看到稀罕的视频 按照上面加上视频的观看地址运行即可获得视频下载链接 ...
- [Oracle,2018-02-07] Oracle 报错:“ORA-02292:违反完整约束条件(XXX.FKXXX)
报错的原因很清楚,就是你要删除的记录是另外某条记录的外键,解决办法: 1.删除子记录,在删除本记录: 2.暂时禁用此外键(适合在测试后清除所有记录的情况,记得最后要恢复此外键) 解决办法有了,现在最主 ...
- 合批只是对CPU的优化,与GPU没有任何关系
如题. 今天细想了下合批这个东西. 合批是节省了CPU的相关准备工作的工作量. 合批后,经过VS,PS,尝试测试,模板测试后,此时已没有了纹理,顶点,索引的概念,只剩下一个个孤立的像素,各像素间没有任 ...
- suse linux安装lrzsz
1.从下面的网站下载 lrzsz-1.12.20.tar.gz http://www.filewatcher.com/m/lrzsz-0.12.20.tar.gz.280938.0.0.html 2. ...
- df命令详解
1.简介: df命令作用是列出文件系统的整体磁盘空间使用情况.可以用来查看磁盘已被使用多少空间和还剩余多少空间. df命令显示系统中包含每个文件名参数的磁盘使用情况,如果没有文件名参数,则显示所有当前 ...
- @RestController 与 @Controller @RequestMapping("/") 区别很大
后者可以通过返回字符串,返回到指定路径的html http://localhost:8080/ 这样显示 ,但是仍以get方式请求的. https://www.cnblogs.com/zgqys19 ...
- 关于extern的使用
学的时候不认真总结,用的时候就一堆bug. 上回也是调extern调了半天,今天又犯老毛病. data 比如说是要用到的的在main函数中不断刷新的量.那么这个unsigned int data 要写 ...
- Block学习总结
最近网上浏览了一些关于Block的文章,自己进行一下消化吸收. Void (^blockName)(parma)-> Block声明 Void (^) (parma){}; ->Bloc ...
- init.d目录下的文件定义
init.d目录下存放的一些脚本一般是linux系统设定的一些服务的启动脚本. 系统在安装时装了好多服务,这里面就有很多对应的脚本. 执行这些脚本可以用来启动,停止,重启这些服务. 1.这些链接文件前 ...
- Tomcat9.0.13 Bug引发的java.io.IOException:(打开的文件过多 Too many open files)导致服务假死
问题背景: 笔者所在的项目组最近把生产环境Tomcat迁移到Linux,算是顺利运行了一段时间,最近一个低概率密度的(too many open files)问题导致服务假死并停止响应客户端客户端请求 ...