ESP8266 SDK学习笔记(一):ESP8266 SDK结构

引言

本人自从2015年3月使用ESP8266以来,发现自己在使用ESP8266的过程中学习到了好多有关嵌入式开发的知识,特此写此系列进行整理。

ESP8266虽然同STM32属于微控制器级别,但其从编译到下载,和keil那种「傻瓜式」环境有天壤之别(芯片不同)——其工程构建所使用的环境是Linux交叉编译环境。同时,ESP8266作为一款Wi-FI芯片,必然提供了基本的Socket接口,所以除了可以学习嵌入式Linux交叉编译环境以外,还可以学习一点网络知识。

总而言之,深入了解ESP8266,可以学习到以下知识:

  • 单片机开发:熟悉I/O引脚,IIC、SPI等;
  • 网络通信:了解TCP/IP协议栈基础知识,还有一点点HTTP、JSON等知识;
  • Linux交叉编译环境:gcc、Makefile、静态链接库的基本知识;
  • Wi-Fi协议栈:ESP8266抓取Wi-Fi MAC的方法。
  • Python应用:由于构建bin文件用到了Python,甚至还可以学习一些Python的具体应用实例。

下面以ESP8266_NONOS_SDK_v2.0为例进行资料整理。

github链接:https://github.com/espressif/ESP8266_NONOS_SDK/tree/v2.0.0

本文主要内容

SDK(Software Development Kit,软件开发工具包),广义上是指辅助开发某一类东西的相关文档、范例和工具的集合。

本文先来看看ESP8266 SDK的工作目录结构,以及各个文件夹到底存放了什么东西。

主目录结构

首先我们来看看ESP8266 SDK的目录结构:

│  License
│  Makefile
├─app
├─bin 
├─documents
├─driver_lib  
├─examples
├─lib
├─include    
├─ld
└─tools
  • Makefile:Makefile文件。
  • app:应用程序文件夹,ESP8266开发者主要是在这里编写自己的应用代码。
  • bin:存放编译生成的bin文件,之后可以烧写到芯片。
  • documents:存放开发文档。
  • driver_lib:存放外设驱动的库⽂件。官网写好的ESP8266驱动源码库。
  • examples:存放开发者参考的示例工程。包括AT工程、MQTT工程、smart_config(快速连接)工程等等。
  • lib:存放有关ESP8266的静态链接库。
  • include:SDK自带头⽂件,包含了用户户可使用的相关API函数及其他宏定义。
  • ld:ld文件夹。存放链接时所需的脚本文件。
  • tools:工具文件夹。存放编译bin⽂件所需的⼯具,Python语言实现。

参考资料

  • ESP8266 SDK入门指南:2a-esp8266-sdk_getting_started_guide_cn-v2.8
  • ESP8266官方文档下载地址:http://espressif.com/zh-hans/support/download/documents?keys=&field_type_tid%5B%5D=14

打广告时间~下面是本人做ESP8266项目收集的各种示例工程,已经放在Github:https://github.com/AngelLiang/ESP8266-Demos

你可能感兴趣的:(ESP8266 SDK学习笔记(一):ESP8266 SDK结构)