ESP8266 SDK介绍
FreeRTOS工作原理
第一个任务hello word
第二个任务点灯
WiFi-STATION&AP连接
一。ESP8266的SDK介绍
1.SDK目录结构研究
我们需要了解一下的内容来达到我们对SDK目录熟悉的目的
2.对上述目录的解释
(1)Bin目录
1.编译生成的目录,直接下载到wifi中
2.特点:
根目录下为官方提供的bin文件,可以有一个upgrade文件夹,这个文件夹用来远程升级代码,具体升级可以类比打个比方(经常有人走的车道,如何修路)
(2)documents目录
这是参考文档的存放地,我们通过他来了解API的使用方式。
(3)driver_lib目录
驱动目录,例如GPIO,I2C,UART
(4)example目录
这是实例代码存放地,例如mqtt协议使用代码,OpenSSL功能代码,wps的wifi保护设置实例代码等等,需要自己摸索。我使用的是智能联网实例代码(Smart_config)
(5)extra_include目录/include目录
内核接口/freeRtos,LWIP等
使用方法:声明头文件就可以使用
(6)ld目录
编译时链接所需要的脚本,这个makefile时会自动处理他(makefile就是可以连续执行一系列指令,这样人就不需要一步一步编译代码,即代码生成bin一步到位)
(7)lib目录
我们经常见到.a的文件后缀,这是不开源的源码库,我们可以使用,但是却无法看到里面的代码
(8)third_party目录
第三方开源源码
(8)tool目录
编译BIN文件所需目录
2.SDK提供的API接口
经常有人说ESP8266简单,那就是因为我们只需要根据参考文件使用API就可以实现项目。
Documents文件夹中查找参考文件,使用即可
3.实验:
(0)前提准备
1.选择一个SDK到共享文件夹下
2.打开第一节下载的虚拟机
(1)实验步骤
创建--》注意这里会使用快捷键,补全的快捷键Tab(类似于java后端IDEA的Alt+insert)
1.创建APP目录(建立自己的工程文件)
(0)进入上一节创建的共享文件夹下
(发现刚刚复制的文件)
(1)SDK目录下新建app目录
cd进入工程,创建app文件夹
(2)cd到examples目录下
(3)拷贝smart_config下所以文件到app目录下
使用Tab补全键会方便很多
(4)cd到app目录下查看文件是否拷贝成功
进入刚刚创建的app文件夹下查看是否有数据
2.修改gen_misc.sh(修改shell文件)
继续在app文件下运行
补充:为什么修改shell文件?
工程文件与SDK文件是分离的,需要配置路径,下面makefile配置也一样。
(1)vim打开gen_misc.sh进行边编辑
(2)修改SDK_PATH为当前的SDK路径(绝对路径)
(3)修改BIN_PATH为当前BIN路径(绝对路径)
(4)wq保存退出
3.修改makefile(vim Makefile)
(1)编译前指定路径(sdk与工程文件连接)
parent_dir:=$(abspath $(shell pwd)/$(lastword $(MAKEFILE_LIST))) parent_dir:=$(shell dirname $(parent_dir)) parent_dir:=$(shell dirname $(parent_dir)) SDK_PATH= $(parent_dir) BIN_PATH=$(SDK_PATH)/bin
补充:我们也可以直接在文件下修改,不用指令
编译
./gen_misc.sh运行脚本进行编译
最后一个使用4096K
运行结果:
生成bin文件