文档章节

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

e
 espush
发布于 2016/06/28 11:16
字数 1187
阅读 342
收藏 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在Alios-Things上的入门开发指南 (一)开发环境搭建及HelloWorld固件

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

行者武松
06/12
0
0
Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。

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

xh870189248
2017/09/14
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

没有更多内容

加载失败,请刷新页面

加载更多

RESTful架构详解

1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主...

kitty1116
29分钟前
1
0
精通Spring Boot——第十篇:Quartz动态配置定时任务

定时任务简述 定时任务,在企业开发中尤其重要,很多业务都是需要定时任务去做的。比如说10点开售某件东西,凌晨0点统计注册人数,统计其他各种等等。这个时候不可能说让人为的去开启某个开关...

developlee的潇洒人生
31分钟前
1
0
将一些内容输出到文件中

看到一个面试题,如下: 第八题: 一个字符串将其输入到一个文件中,代码如下: <?php$a = '[{"teamId": "43", "serial": "1"},{"teamId": "1", "serial": "2"},{"teamId": "14", "serial":...

vinci321
40分钟前
1
0
nginx的简单使用:负载均衡

nginx:反向代理的服务器;用户发送请求到nginx,nginx把请求发送给真正的服务器,等待服务器处理完数据并返回,再把数据发送给用户。 nginx作为一个反向代理服务器,能缓存我们项目的静态文...

osliang
今天
2
0
网站title标题被改并被百度网址安全中心提醒的解决办法

国庆假日期间我们Sine安全接到众多网站站长求助网站标题被改导致在百度搜索中百度安全中心提醒被拦截,导致网站正常用户无法浏览网站被跳转到一些菠菜du博网站,而且很明显的一个特征就是在百...

网站安全
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部