您的位置:首页 > 其它

Esp8266进阶之路14 esp8266的 FreeRtos系统学习的正确姿势,环境配置环境、烧录。(附带demo)

2018-01-19 10:02 363 查看
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

1、 Esp8266之 搭建开发环境,开始一个“hellow world”串口打印。

2、 Esp8266之 利用GPIO开始使用按钮点亮你的“第一盏灯”。

3、 Esp8266之 利用 “软件定时器 ” 定时0.5秒闪烁点亮一盏LED。

4 、Esp8266之 了解PWM,更为深入地用PWM控制一盏LED的亮度变化。

5 、Esp8266之 原生乐鑫SDK高级使用之封装Post与Get请求云端,拿到“天气预报信息”。

6 、Esp8266之 了解 SmartConfig与Airkiss一键配网,给8266配网上云端。无需把wifi名字密码写在固件里。

7 、Esp8266之 了解 softAP热点配网模式原理,仿“机智云”定义自己的热点配网模式协议。

8、 Esp8266之 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。

9、 Esp8266进阶之路第一篇: [小实战上篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。

10、 Esp8266进阶之路第二篇: [小实战下篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。

11、 Esp8266进阶之路第三篇: 8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!

12、 Esp8266进阶之路第四篇: 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制一盏LED。

13、 Esp8266进阶之路第五篇: 动手做个8266毕设小案例,smartConfig + MQTT协议轻松实现远程控制一盏LED。

14、 Esp8266进阶之路第六篇: esp8266的 FreeRtos系统学习的正确姿势 —— 环境搭建、烧录。

15、 Esp8266进阶之路第七篇: esp8266的 物联网又一股清流,8266接入阿里云平台非阿里智能的SDS服务,点亮一盏LED灯。

一、前言。

我们上面的博文都是基于NONOS开发的,那么我们本篇呢?是基于FreeRtos系统开发的,基于什么是FreeRtos系统 , 我就一句话:它是开源的,意味着绝大部分的传感器驱动开源,而且比Nonos开发好用。

下面罗列下我学习8266的FreeRtos系统的资料:

乐鑫基于8266做出FreeRtos系统的SDK工程示范:https://github.com/espressif/ESP8266_RTOS_SDK

FreeRtos系统的开源驱动代码汇总:https://github.com/SuperHouse/esp-open-rtos

正点原子FreeRTOS系统讲解一期视频教程 - http://open.21ic.com/open/lesson/460

正点原子FreeRTOS系统讲解二期视频教程 - http://open.21ic.com/open/lesson/560

二、搭建开发环境。

1、这里我借用机智云的教程搭建Linux虚拟机:点我查看

2、下载好对应的软件之后,记得要设置共享文件夹,其作用就是在Windows平台和我们虚拟的Linux平台下,可以共享。

作用在于,我们后面在Linux系统生成的bin文件可以在Windows平台下取出来。

下面是电脑设置共享的文件夹路径,记得权限分配要 完全 !



3、如果您安装好了,请记得一定要以管理员身份运行,这样可以避免很多问题,比如无法启动,无法生成bin文件…. ….这是我遇到的最多的问题了。

4、如果您已经成功设置了共享文件夹,那么必须从乐鑫提供rtos系统的工程下载的压缩包拷贝到该文件夹下并解压。

5、 如果您已经成功运行了8266虚拟机,那么你必须要进去挂载模式,方可看到您设置的共享文件夹哦!在虚拟机命令符操作,输入
./mount.sh
, 提示输入密码
espressif
,成功之后cd到工程目录下,复制控制台如下:

esp8266@esp8266-VirtualBox:~$ ./mount.sh
[sudo] password for esp8266:
esp8266@esp8266-VirtualBox:~$ cd /home/esp8266/Share/ESP8266_RTOS_SDK-master
esp8266@esp8266-VirtualBox:~/Share/ESP8266_RTOS_SDK-master$




三、设置工程环境变量。

1、首先把安信可提供工程范例的子文件夹
examples
任意一个工程,比如我剪切的是
project_template
这个文件夹到主目录下,如下:



2、指定的环境SDK变量路径,用编辑器打开我们刚刚剪切的文件夹
project_template
下面的
gen_misc.sh
文件,修改如下:

export SDK_PATH=/home/esp8266/Share/ESP8266_RTOS_SDK-master
export BIN_PATH=/home/esp8266/Share/ESP8266_RTOS_SDK-master/bin


3、为了演示方便,我们在程序入口的
user_main.c
文件的
user_init()
方法加入打印“hello world” :

void user_init(void){
printf("hello world ! xuhong !! SDK version:%s\n", system_get_sdk_version());
}


四、编译工程并烧录。

1、编译工程和安信可的一体化编译工程有所不一样,我们只需执行命令我们的
project_template
文件夹下的
gen_misc.sh
文件即可,所以我们必须命令台切换到该目录。并且写上
./gen_misc.sh
表示编译工程:



2、下面开始有控制地选择输出固件,我这里除了步骤五选择6,其他选择默认:



3、最后,我们会看到以下输出信息,恭喜,编译成功:

!!!
SDK_PATH: /home/esp8266/Share/ESP8266_RTOS_SDK-master
BIN_PATH: /home/esp8266/Share/ESP8266_RTOS_SDK-master/bin

No boot needed.
Generate eagle.flash.bin and eagle.irom0text.bin successully in BIN_PATH
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x20000
!!!


4、根据上面的输出,一样滴,找到子文件
bin
,分别烧录固件即可:



5、重新上电,看输出信息,注意波特率设置
74880




工程已提交到GitHub:https://github.com/xuhongv/StudyInEsp8266
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐