ESP8266:SDK

1. SDK


1.1 non-OS 和 RTOS 两种版本SDK

在这里插入图片描述
在这里插入图片描述


1.2 ESP8266 FW

  • 指出我们在不同的模式下,需要下载的文件到FLASH中。

在这里插入图片描述
在这里插入图片描述


1.3 Non-OS SDK

在这里插入图片描述
在这里插入图片描述


1.4 RTOS SDK

在这里插入图片描述
在这里插入图片描述


2. Flash布局

  • 由于提供的SDK对Flash有布局要求(代码中的链接地址根据编译配置,在编译时链接到了不同的地址区域以及分区保存信息),因此我们在烧录代码时,需要烧录到正确的Flash分区,内核才能正常链接到代码区域加载代码运行。根据Flash容量大小和是否支持FOTA(在线升级)来决定烧录的地址和所需的bin文件。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.1 Non-FOTA

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


2.2 FOTA

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 上述中常出现512+512或者1024+1024,比如4096 512+512,4096 1024+1024,其中4096代表的Flash的容量,那么512+512/1024+1024代表的是:在4096KB的Flash中采用 (512KB+512KB) / (1024KB+1024KB) 的布局,当出现这种写法的时候,基本上是指采用FOTA的布局,即可以在线升级的程序,通过备份加载更新程序。
  • 因此在下载代码的时候容易混淆,但是只要记住:先选择Flash的大小,比如我使用的模组为ESP-12F,就选择32Mbit的下载,然后再来看是否想要支持FOTA,如果不支持,那么就选择32Mbit,尽管提示消息还是有512+512,但也无所谓,这是使用FOTA才需要注意的,如果使用FOTA,就要注意先选择32Mbit,然后根据分区512+512还是1024+1024去选择32Mbit或者32Mbit-C1。
  • 同理,在下面的SDK编程中选择SPI_SIZE_MAP,也是按照这样的方法选取。

3. SDK编译环境

3.1 SDK编译环境安装

  • 想要使用SDK开发,就需要搭建SDK的编译环境,通常SDK编程环境有两种,一是乐鑫提供的编译环境,二是安信可提供的window下的一体化编译环境。我们采用安信可的编译环境,容易上手。

  • 编译环境下载地址,这里以IDE1.5版本为例:https://docs.ai-thinker.com/tools,软件安装很简单。
    在这里插入图片描述

  • 安装完成后查看系统环境变量是否自动添加
    在这里插入图片描述


3.2 编译SDK的AT固件

  1. 下载SDK,这里以乐鑫的ESP8266_NONOS_SDK-3.0.5为例,下载地址:https://github.com/espressif/ESP8266_NONOS_SDK/releases
    在这里插入图片描述

  2. 简单分析ESP8266_NONOS_SDK-3.0.5文件夹结构,基本上在本文1.3章节中我们可以知道各个文件夹的内容意义,因此这里我们着重分析顶层的Makefile文件。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 创建一个工程
    先复制一份SDK工程文件,然后将工程里面的driver_lib文件夹下的Makefile文件重命名为Makefile.bak,我们保留该文件夹便于后期添加里面的一些外设驱动,同理将third_party文件夹下的Makefile文件重命名为Makefile.bak。然后将examples下的at文件夹复制到SDK目录下,然后重命名为app
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 根据上述的第2点分析,设置工程。
    在这里插入图片描述

  5. 在第3点我们复制了at文件下的内容,就是为了编译出一个AT固件出来,尽管在SDK/bin/at目录下已经提供了支持FOTA的AT固件,但为了验证我们的工程模板是否能用,我们选择自行编译出AT固件,同样我们编译出一个支持FOTA的AT固件,因此还需要对工程设置一下。

make COMPILE=gcc BOOT=new APP=1 SPI_SPEED=40 SPI_MODE=DOUT SPI_SIZE_MAP=6

在这里插入图片描述

  1. 右键工程8266_NSDK-3.0.5,先执行clean Project ,然后再执行Build Project
    在这里插入图片描述
    在这里插入图片描述
  • 如果要生成user2.bin,设置工程如下即可(就是APP变为2)。
make COMPILE=gcc BOOT=new APP=2 SPI_SPEED=40 SPI_MODE=DOUT SPI_SIZE_MAP=6
  1. 根据第2章节的Flash布局,将该固件下载到ESP-12F。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 从以上过程来看,我们想要创建其他的工程模板也是非常简单的了,比如可以将app目录下的内容替换成选择examples下的IoT_Demo,只是需要注意不要去修改eagle.app.v6.ld,同时注意SDK3.0以上需要自行实现partition_table并注册。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值