目录:
转载,原地址如下:
https://blog.csdn.net/xh870189248/article/details/77985541
- 目录:
- 一、认识其本质与搭建开发环境。
- 二、开始我们的第一个“Hello World”。
- 第一步:打开我们最新的NONOS的SDK下载地址:https://github.com/espressif/ESP8266_NONOS_SDK ,解压后请注意以下操作:
- 第二步:导入项目 选择 File→Import ,下面步骤:
- 第三步:点开C/C++分支,并选中Existing Code as Makefile Project:
- 第四步:去除C++支持,选中 Cygwin GCC,点击Browser,选中我们解压后所在的目录。点击finish。
- 第五步:此刻,成功进入到我们的主界面。
- 第六步:开始编译工程前,我们装装逼,在其的 app ->user –> user_main.c 下的init_done_cb()方法下面的修改如下,让输出为 hellow world。
- 第七步:开始编译前,按照官方的说法,我们看控制台时候,直接把 Problems 栏目关掉,解释说,这个Problems 栏目报的错误不准确,只有Console 栏目下的输出为准,所以建议大家把 Problems 栏目关闭。
- 第八步:我们编译之后,看看控制台下的信息打印,说明已经成功做好固件啦。:
- 三、让我们烧固件走起。
一、认识其本质与搭建开发环境。
1.1 、 市面上无线模块有哪些。
大家可知道目前的无线通信模块有哪几种? 主要有Wifi无线通讯、BlueTooth蓝牙和ZigBee,目前大多都是前二者,ZigBee现在用的很少了。据我所推断的,未来是属于物联网世界、智能家居领域,而蓝牙和zigbe局限于范围,蓝牙4.0仅仅最大支持100米,zigbee就不说了。
1.2 、wifi模块Esp8266发展。
2015年物联网处于爆发的一年,乐鑫的ESP8266WIFI 芯片成为强烈的催化剂。成功的将2014年前的40以上的WIFI成本压缩到现在的10元左右。内置WIFI前端和高性能的32位MCU,基本引爆物联网市场,几乎牵扯到电子的行业,都可以用上,比如WIFI开关 灯具 WIFI定位 电饭锅 空气净化器 等消费类小家电与大家电,都面临这一场技术革新,与新的用户体验!比如你仅仅增加10元的成本就可以把自己的产品被手机控制了。
1.3 、Esp8266特点。
-
要知道,在物联网世界里面的牛人,没有谁不认识 8266 。既然如此出色,那肯定有他存在的必然理由:
扫描二维码关注公众号,回复: 9128200 查看本文章-
低功耗、高集成度的 Wi-Fi 芯片。
-
最小系统仅需 7 个元器件
-
超宽工作温度范围:-40°C 至 +125°C
-
ESP8285 : ESP8266 内封 8 Mbit Flash。
-
ESP8266EX 有三种运行模式:激活模式、睡眠模式和深度睡眠模式,能够延长电池寿命。
-
1.4 、搭建开发环境。
- 在乐鑫官方里面有一个稍微复杂的开发环境搭建,需要搭建虚拟环境。这里的话,我在安信可官方网站找到一个更为方便轻捷的集成环境开发,原地址: http://wiki.ai-thinker.com/ai_ide_install
- 这里的话,我概括简单的教大家怎么搭建环境步骤:
- 第一步:打开链接,下载以下的文件夹(考虑到还有用xp系统的小伙伴):
- 第二步:分别点击文件下的 Eclipse 和 cygwin 安装程序, 选择记住好安装文件夹。之后点击 ESP_IDE 出现一个弹窗(如果打不开 ESP_IDE ,请安装 dotNetFx40_Full_x86_x64.exe),分别选择刚刚安装的路径,之后点击 OK ,就会启动eclipse啦!
- 第三步:如果出现下面情况,恭喜!搭建成功!
二、开始我们的第一个“Hello World”。
第一步:打开我们最新的NONOS的SDK下载地址:https://github.com/espressif/ESP8266_NONOS_SDK ,解压后请注意以下操作:
- ①、
driver_lib
文件夹下面的Makefile
文件删除!(自己测试要把driver_lib文件夹删掉) - ②、整个
third_party
去掉,这是第三方的demo,我们很少用! - ③、把
example
文件夹下面的smart_config
复制到主目录,可重命名为app
,或者不修改! -
④、以上做好了之后,可以导入IDE了!
这里一个串口实验,打印 hellow world字符到我们通讯串口助手。下载后解压,注意解压后的路径千万别带中文字符,解压请直接复制到一个没有中文字符的路径的文件夹下面。否则会影响到后面的编译结果!
第二步:导入项目 选择 File→Import ,下面步骤:
第三步:点开C/C++分支,并选中Existing Code as Makefile Project:
第四步:去除C++支持,选中 Cygwin GCC,点击Browser,选中我们解压后所在的目录。点击finish。
第五步:此刻,成功进入到我们的主界面。
第六步:开始编译工程前,我们装装逼,在其的 app ->user –> user_main.c 下的init_done_cb()方法下面的修改如下,让输出为 hellow world。
第七步:开始编译前,按照官方的说法,我们看控制台时候,直接把 Problems 栏目关掉,解释说,这个Problems 栏目报的错误不准确,只有Console 栏目下的输出为准,所以建议大家把 Problems 栏目关闭。
-
之后建议大家每次编译项目前先进行 clear project,再 build project ,这样就保证了正确的代码可以完全被编译,如果正确的代码没有clear project就直接build project ,可能会报错。
-
Build Project :编译项目 ; Clean Project:清理项目,可以清理下缓存。
第八步:我们编译之后,看看控制台下的信息打印,说明已经成功做好固件啦。:
三、让我们烧固件走起。
- 如果您的8266是没有最小系统的话(如下),那么需要自己搭建最小系统来烧固件进去。
看我们的最小系统搭建(强调:烧录时候,一定要让GPIO0处于低电平,即接GND):
-
让我们开始烧录:根据上面第八步的生成的bin文件,我们看见了其烧录信息:
- eagle.flash.bin——–>0x00000
- eagle.irom0text.bin—->0x40000
- 于是,我们就打开烧录软件,配置刚刚的路径,选择烧录地址(选择之后就是绿色的),各个参数如下:
- 点击 START ,8266重新上电或者是点击一下复位按键,就可以看到下面的进度条在下载啦。
- 下载完毕之后,我们给设备重新上电,打开串口助手,设置波特率115200:
-
上面的图是不是看见很清晰的 hellow world 呀 。
-
后记:所有自己编译出来的工程,都是有四个文件要烧录的,其中2个是必须烧录的(防止初始化失败),这2个文件分别是 esp_init_data_default.bin 和blank.bin,烧录地址根据您的8266型号区别,我们最平常用的是安信可8266-12系列的,这个是32Mbit,也就是4M flash ,所以他们的地址分别是 0x3FC000 和 0x3FE000 , 最后2个的烧录文件地址看编译之后结果而决定!也即是不一定是0x10000,有可能是0x2000 , 这个根据SDK的版本有关系。所以大家还是留心点!