SDK(软件开发工具包)为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。SDK 为用户提供了整套数据接收、发送的函数接口,用户不必关心底层代码,如 Wi-Fi、TCP/IP 等的具体实现,只需要专注于上层应用的开发,利用相应接口完成数据的收发即可。
SDK 就是一个文件夹,它存放SDK 编程所需要的文件,比如外设驱动库,WiFi 配置库链接文件等。SDK 编程就是在特定的编译环境下,使用SDK 软件开发包进行ESP8266 的编程开发。在文件夹中有API 函数文件夹,API 就是应用程序编程接口,是一些预先定义好的函数,用户在无须访问函数的源码或者函数内部的细节的情况下,就可以直接调用该函数,可以实现该函数的功能。API 函数库就是SDK 编程里面用得最多的功能。
ESP8266 的SDK 开发包在哪能找到呢?乐鑫官网给我们提供了一整套的开发环境,如图1-2-3 所示。

图1-2-3 乐鑫官网
在资源中我们找到了SDK 开发包,官网提供了两种,一种是带操作系统的SDK,另一种是不带操作系统的SDK,这里选择带操作系统的SDK,如图1-2-4 所示。

图1-2-4 SDK 资源
直接下载、解压,可以得到SDK 开发包。NON-OS SDK 软件包中的内容如图1-2-5 所示。

图1-2-5 NON-OS SDK 内容(https://www.xing528.com)
bin:编译生成的 BIN 文件,可直接下载到 Flash 中。用户之后用SDK 编程所产生的编译文件,将会存放到这个文件夹当中,然后直接烧录到Flash 内。
documents:SDK 相关的文档或链接,目前没有什么用。
driver_lib:外设驱动的库文件,如UART、I2C 和GPIO 等。当我们需要使用ESP8266的外设时,只需要调用其中的外设驱动的库文件就可以了。
examples:可供用户二次开发的示例代码,如IOTDemo 等。
include:SDK 自带头文件,包含了用户可使用的相关API 函数及其他宏定义,用户无须修改。
ld:链接时所需的脚本文件,若无特殊需求,用户无须修改。
lib:SDK 提供的库文件。
tools:编译BIN 所需要的工具,用户也无须修改。
总之,SDK 编程有它自己的优势,AT 指令所有能完成的功能,SDK 编程都可以实现。所以在接下来的ESP8266 学习过程中,我们将使用SDK 编程进行8266 的开发。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
