文档章节

ESP8266开发课堂 - 开发环境搭建

e
 espush
发布于 2016/06/28 11:16
字数 1187
阅读 419
收藏 2

#下载IDE集成开发环境

与通常做嵌入式如51、stm8s、stm32所使用的Keil MDK不同的是,Espressif提供的Open SDK基于gcc工具链,所以蘑菇云ESP8266开发课堂所使用的集成开发环境是Eclipse与其CDT插件,有过Java或Linux C开发经验的童鞋们应该会非常熟悉。同时IDE集成了Cygwin作为辅助编译系统,喜欢Linux Shell的朋友可以使用Cygwin作为编译开发环境。

如下地址下载: http://pan.baidu.com/s/1b2fAsI

下载后解压得到如下图所示的文件,双击IDE.bat(初始化环境变量所用,无毒,直接启动eclipse文件夹下的eclipse.exe会导致无法编译)启动。

ESP8266 蘑菇云 IDE编程环境

首先配置工作目录,此处使用 D:\Documents\Workspace,使用你自己机器的文件夹替代,并选中 默认配置项 后,点击OK。

ESP8266 蘑菇云 IDE编程环境

关闭Welcome欢迎对话框,打开Project Explorer浏览子窗口。

ESP8266 蘑菇云 IDE编程环境 Eclipse 欢迎窗口

最后,下图就是我们的日常开发区了,Eclipse是开源社区(可能是)最好的开发工具了,不熟悉的童鞋们可以多花点时间了解下你手头的工具,磨刀不误砍柴工嘛。

ESP8266 蘑菇云 IDE编程环境 Eclipse 系统界面

#导入示例项目

每个嵌入式开发教程的Hello world都是点亮LED,但由于蘑菇云开发板的彩灯默认情况下太亮,所以我们第一课的内容将是霸气的“熄灭LED”。

按下图所示,在Project explorer内单击右键,选择Import,如下图:

ESP8266 蘑菇云 IDE编程环境 Eclipse 导入项目

在接下来弹出的Import 对话框中,选择C/C++ => Existing Code as Makefile Project,点击Next,如下图:

ESP8266 蘑菇云 IDE编程环境 Eclipse 导入项目

依序选择示例工程文件夹,填入对应项目名称,此处以PROJ01_LED为例,下面的工具链选择区域,选中 Cygwin GCC,点击完成。项目就导入完成了,具体代码含义的讲解将在下一篇阐述,这里主要完成开发环境搭建、项目管理等,接下来让我们编译项目,并运行之。

ESP8266 蘑菇云 IDE编程环境 Eclipse 导入项目

#固件清理与编译

在项目上右键,选择Clean Project清理项目之前编译过的临时文件,然后再次右键,选择Build Project即可。

ESP8266 蘑菇云 IDE编程环境 Eclipse 项目编译方法

Clean 项目,屏幕下方,切换到Console终端窗口,可以看到终端窗口输出的清理日志,最终显示Build Finished。

ESP8266 蘑菇云 IDE编程环境 Eclipse Build Finished

同样,Build 项目时,会弹出Build Project对话框,可点击Run in Background,对应Console控制台窗口会输出编译日志。

ESP8266 蘑菇云 IDE编程环境 Eclipse 项目编译

编译完成,成功输出Build Finished。留意其最终输出的文本中,提示最终文件已生成于bin目录,并指出最终编译文件烧录对应的偏移地址,我们将其记录下来,后面刷写固件时会用上。

ESP8266 蘑菇云 IDE编程环境 Eclipse 项目编译

成功编译出的固件文件:

ESP8266 蘑菇云 IDE编程环境 Eclipse 项目编译

#固件刷写及运行

将开发板接入你的机器,在安装好驱动后,系统设备管理区将能看到可用的串口号,蘑菇云开发板使用了CH340为串口芯片,如下图所示,如果你有多个串口,需要选择正确的串口号烧录。

ESP8266 ESPUSH 蘑菇云 IDE编程环境 固件烧录与运行

将开发板的烧录拨码开关打到GND位置,如下图所示,并按下左侧的按钮,板载的圆形彩灯将会亮起至最大亮度,表明已进入固件烧录下载模式。

ESP8266 ESPUSH 蘑菇云 IDE编程环境 固件烧录与运行

打开乐鑫原厂烧录工具,按下图所选择的设置进行(选择正确的固件文件,并在右侧填入对应的固件偏移地址,以编译后提示的为准),选择正确的串口号,此处为COM3,点击Start开始烧录,会最终提示烧录完成。

ESP8266 ESPUSH 蘑菇云 IDE编程环境 固件烧录与运行

完成时的工具截图:

ESP8266 ESPUSH 蘑菇云 IDE编程环境 固件烧录与运行

烧录成功结束后,将拨码开关重新打回运行状态对应的位置,并按下左侧的RESET复位按钮,你会看到下图,不会再有亮瞎眼的灯了。

ESP8266 ESPUSH 蘑菇云 IDE编程环境 固件烧录与运行

#使用Cygwin编译项目

如果你对命令行钟爱有加,可以使用IDE环境所附带的Cygwin来进行编译开发,双击Cygwin目录的对应bat文件,启动CLI环境。另外,这里的Cygwin环境直接使用了深圳安信可公司的IDE v2.0中的Xtensa编译工具链。

ESP8266 ESPUSH 蘑菇云 IDE编程环境 使用Cygwin编译项目

启动后即如下图所示,提示你处于~目录下,如果需要编译,请使用df命令查知你对应机器的各盘根目录,并cd到对应位置。

ESP8266 ESPUSH 蘑菇云 IDE编程环境 使用Cygwin编译项目

执行make clean && make 即可一次性完成清理与编译工作,并输出与Eclipse控制台同样的内容,事实上Eclipse也只是调用了此处的Make命令而已。

ESP8266 ESPUSH 蘑菇云 IDE编程环境 使用Cygwin编译项目

更多教程,请加Q群:480288089

© 著作权归作者所有

共有 人打赏支持
e
粉丝 1
博文 1
码字总数 1187
作品 0
顺德
私信 提问
加载中

评论(1)

e
espush
不得不说,这Markdown 编辑器真爽!
Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。

欢迎来到物联网智能家居顶量级别wifi模块Esp8266学习之旅。 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时...

xh870189248
2017/09/14
0
0
ESP8266在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

一、 开发环境搭建 目前国内大多数开发者使用的都是WinXP/Win7/Windows XX做MCU的开发。习惯Windows环境开发的朋友,如果一旦一接触到MCU需要是Linux环境来进行开发编译,第一反应理所应当是“...

行者武松
2018/06/12
0
0
ESP8266笔记汇总

一、前言 2015年开始,随着ESP8266的横空出现,WiFi SoC大幅降价,市场模组价格一下被拉到了10元档。WiFi由于可直接入网的,在智能家居等行业中成为了应用最广泛的物联网技术。本尊贵为物联网...

iotisan
2017/02/03
0
0
玩转 ESP8266 Arduino 笔记01 开发环境搭建

前言 废话不多说,环境先搞起来。 更多笔记信息,请查看由IoT小能手编写的手把手玩转ESP8266 Aruidno 一、总体思路 开发环境的搭建总体是参考ESP8266的官方说明,具体见这里:https://githu...

iotisan
2017/12/10
0
0
Esp8266学习之旅③ 利用 " 软件定时器 " 定时0.5秒闪烁点亮一盏LED。(附带demo)

欢迎来到物联网智能家居顶量级别wifi模块Esp8266学习之旅。 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时...

xh870189248
2017/10/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

词法分析器flex教程

词法分析器flex教程 flex是基于正则表达式,用于对字符串进行提取和分析的工具。一般情况下,flex常用语编译器前端的词法分析阶段。flex程序读取用户输入的词法单元描述文件,生成lex.yy.c文...

陶小陶
13分钟前
1
0
IntelliJ IDEA 社区版没有 Spring Initializr

RT 解决办法 打开文件 - 设置 - 插件 输入 Spring 找到插件 Spring Assistant 并安装 下载可能会需要一点点时间 . 重启 IDEA 后,新建项目就可以看见 Spring Assistant 选项了...

taadis
15分钟前
0
0
MySQL执行计划 type类型

MySql提供了EXPLAIN语法用来进行查询分析,在SQL语句前加一个"EXPLAIN"即可。 explain select * from t_settlement_settle_order_detail where id = 2; 下面来介绍各个字段: type:连接类型......

ChyiHuang
19分钟前
1
0
mysql遇到的坑

sql_mode=NO_ENGINE_SUBSTITUTION 今天在测试库上发现使用GROUP BY 报错,我使用的mysql5.7 ONLY_FULL_GROUP_BY 对于GROUP BY聚合操作,如果在SELECT中的列、HAVING或者ORDER BY子句的列,没...

事儿爹
30分钟前
1
0
聊聊flink的InternalTimeServiceManager

序 本文主要研究一下flink的InternalTimeServiceManager InternalTimeServiceManager flink-streaming-java_2.11-1.7.0-sources.jar!/org/apache/flink/streaming/api/operators/InternalTim......

go4it
42分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部