ESP8266基于Linux的SDK软件开发②软件环境搭建
来源:互联网 发布:学java还是.net 编辑:程序博客网 时间:2024/06/05 10:44
这里不介绍Linux虚拟机的安装和使用方法,专注ESP8266的SDK的编译和使用。SDK和程序下载工具的官方链接:http://www.espressif.com/zh-hans/support/download/sdks-demos
我使用的是ESP8266 RTOS SDK V1.5.0,Flash下载工具是V3.4.9.2,其他版本的SDK和下载应该都工具大同小异。由于SDK是Linux下的,Flash下载工具是Windows下的,编译出来的bin文件在SDK路劲的bin文件夹中,为了下载方便将SDK放在虚拟机共享目录下进行编译。 SDK的目录结构体如下:
root@ubuntu:/mnt/hgfs/VMShare/ESP8266/ESP8266_RTOS_SDK-master# lsbin driver_lib extra_include ld LICENSE README.md toolsdocuments examples include lib Makefile third_party VERSION
example文件夹里面存放的是示例代码,我们就是用这些示例代码为模板进行开发。软件中使用的所有库都是以静态链接库的形式提供的,库存放在lib文件夹中:
root@ubuntu:/mnt/hgfs/VMShare/ESP8266/ESP8266_RTOS_SDK-master# ls liblibairkiss.a libespnow.a libmain.a libnet80211.a libpwm.a libwpa.alibcirom.a libfreertos.a libmbedtls.a libnopoll.a libsmartconfig.a libwps.alibcrypto.a libgcc.a libmesh.a libopenssl.a libspiffs.alibdriver.a libjson.a libminic.a libphy.a libssc.alibespconn.a liblwip.a libmirom.a libpp.a libssl.a
有些库的源码没有提供。开放源码的库饿的源码在third_party和driver_lib文件夹中,libdriver.a库的源码在driver_lib文件夹里面,主要是芯片外设的驱动程序:
gpio.c hw_timer.c i2c_master.c Makefile spi_interface.c uart.c
其他的库文件的源码放在了third_party文件夹中包括lwip和 freertos的源码,在源码路径中单独编译可以生成相应的静态库文件。
使用库编程需要在编译的时候链接库文件,以example文件中的wifi_station_machine_demo工程为例,其Makefile中的LINKFLAGS_eagle.app.v6就链接了很多库,可以使用这些库中提供的函数,但是没有链接libdriver库,那我们就自己添加“-ldriver”上去:
LINKFLAGS_eagle.app.v6 = \ -L$(SDK_PATH)/lib \ -Wl,--gc-sections \ -nostdlib \ -T$(LD_FILE) \ -Wl,--no-check-sections \ -u call_user_start \ -Wl,-static \ -Wl,--start-group \ -lcirom \ -lcrypto \ -lespconn \ -ldriver \ -lespnow \ -lfreertos \ -lgcc \ -lhal \ -ljson \ -llwip \ -lmain \ -lmesh \ -lmirom \ -lnet80211 \ -lnopoll \ -lphy \ -lpp \ -lpwm \ -lmbedtls \ -lopenssl \ -lsmartconfig \ -lspiffs \ -lwpa \ -lwps \ $(DEP_LIBS_eagle.app.v6) \ -Wl,--end-group
添加了-ldriver之后才能使用libdriver中的函数。
官方提供了SDK中所有库函数的说明,文档下载官方链接:http://www.espressif.com/zh-hans/support/download/documents,或者在SDK路径下的documents文件夹中有SDK API Reference。
- ESP8266基于Linux的SDK软件开发②软件环境搭建
- ESP8266基于Linux的SDK软件开发①硬件环境搭建
- ESP8266 Linux开发环境搭建
- 【云隐课堂】【软件安装】基于Eclipse的ESP8266的工程软件编译开发环境(ESP-IDE)【windows】
- ESP8266学习之搭建Linux开发环境
- 软件开发环境搭建
- 搭建esp8266+ardunio-IDE的开发环境
- PHP软件开发环境的搭建(XAMPP)
- Java软件开发环境的搭建
- 【软件开发实践】基于 Jenkins 快速搭建持续集成环境
- 基于ANT+通讯协议软件开发环境搭建
- Android软件开发环境搭建
- Android软件开发环境搭建
- C#开发基于wince SDK的PWM控制软件
- C#开发基于wince SDK的PWM控制软件
- <WIFI>搭建ESP8266开发环境
- Linux安卓开发环境搭建及常见软件问题
- esp8266开发板WeMos的arduino开发环境搭建
- leetcode之candy
- 2017.8.13
- feedforward neural networks 和 recurrent neural networks的概念
- (12)2017.8.11-数组
- js中const,var,let的区别
- ESP8266基于Linux的SDK软件开发②软件环境搭建
- java 基础加强(myeclipse,debug,junit,JDK5新特性,反射)
- HPUOJ 1414: Kick Ass [字符串]
- 灰度模型与灰色预测
- OI中犯过的2B错误
- Spring 技术核心 IOC AOP <一> IOC详解
- 网页顶部加载进度条
- 8.13
- Java实现指定数据表导出生成Excel