ESP8266学习笔记(1)——搭建环境、编译烧写(NONOS SDK)


RTOS SDK环境搭建参看 ESP8266学习笔记(17)——搭建环境、编译烧写(RTOS SDK)


一、搭建环境

1.1 ESP8266 SDK 入门指南

官网下载:https://www.espressif.com/zh-hans/support/download/overview?keys=%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97

百度网盘:https://pan.baidu.com/s/1oKqSryVAkVG4XD9AcS9e-g 提取码:fp0w

流程概要

1.2 安装安信可ESP8266_IDE(可选)

链接:http://wiki.ai-thinker.com/ai_ide_install

1.3 安装VirtualBox

链接:https://www.virtualbox.org/wiki/Downloads

1.4 安装ESP8266_lubuntu镜像文件

链接:http://downloads.espressif.com/FB/ESP8266_GCC.zip

1.在 VirtualBox 主菜单中选择 File > Import Appliance…

2.选择需要导入的镜像文件,如:C: \ESP8266_lubuntu_20141021.ova,单击 Next

3.单击 Import 确认导入。

Lubuntu 用户:ESP8266    密码:espressif

1.5 设置共享文件夹

1.新建 D:\VM\share 文件夹

2.在主菜单中选择 Machine > Settings > Shared Folders…

3.在 Machine Folders 中选择虚拟机的共享文件夹。如:D:\VM\share

4.执行挂载 shell 脚本 ./mount.sh


二、编译

2.1 下载ESP8266 SDK

ESP8266 Software Development Kit (SDK) 是乐鑫为开发者提供的物联网(IoT) 应用开发平台,包括基础平台以及上层应用开发示例,如智能灯、智能开关等。SDK 的基础平台按照是否基于操作系统可分为: Non-OS RTOS 两种版本。

链接:https://www.espressif.com/zh-hans/support/download/sdks-demos

2.1.1 Non-OS SDK

Non-OS SDK 是不基于操作系统的 SDK,提供 IOT_Demo 和 AT 的编译。Non-OS SDK 主要使用 定时器 回调函数 的方式实现各个功能事件的嵌套,达到特定条件下触发特定功能函数的目的。Non-OS SDK 使用 espconn 接口实现网络操作,用户需要按照 espconn 接口的使用规则进行软件开发。

Non-OS SDK 内容

bin:编译生成的 BIN 文件,可直接下载到 Flash 中。

documents: SDK 相关的文档或链接。

driver_lib:外设驱动的库文件,如: UART、 I2C 和 GPIO 等。

examples:可供用户二次开发的示例代码,如 IoT Demo 等。

include: SDK 自带头文件,包含了用户可使用的相关 API 函数及其他宏定义,用户无需修改。

ld:链接时所需的脚本文件,若无特殊需求,用户无需修改。

lib: SDK 提供的库文件。

tools:编译 BIN 文件所需的工具,用户无需修改。

2.1.2 RTOS SDK

RTOS SDK 基于 FreeRTOS,在 Github 上开源。

• RTOS 版本 SDK 使用 FreeRTOS 系统,引入 OS 多任务处理 的机制,用户可以使用 FreeRTOS 的标准接口实现资源管理、循环操作、任务内延时、任务间信息传递和同步等面向任务流程的设计方式。具体接口使用方法参考 FreeRTOS 官方网站的使用说明或者 USING THE FreeRTOS REAL TIME KERNEL—A Practical Guide 介绍。

• RTOS 版本 SDK 的网络操作接口是标准 lwIP API,同时提供了 BSD Socket API 接口的封装实现,用户可以直接按照 Socket API 的使用方式来开发软件应用,也可以直接编译运行其他平台的标准 Socket 应用,有效降低平台切换的学习成本。

• RTOS 版本 SDK 引入了 cJSON 库,使用该库函数可以更加方便的实现对 JSON 数据包的解析。

• RTOS 版本兼容 Non-OS SDK 中的 Wi-Fi 接口、SmartConfig 接口、Sniffer 相关接口、系统接口、定时器接口、 FOTA 接口和外围驱动接口,不支持 AT 实现。

RTOS SDK 内容

bin:编译生成的 BIN文件,可直接下载到 Flash 中。

documents: SDK 相关的文档或链接。

driver_lib:乐鑫官方提供的驱动示例代码。

examples:可供用户二次开发的示例代码。

    - openssl_demo:乐鑫官方提供的 OpenSSL 接口功能示例代码。

    - project_template:乐鑫官方提供的工程模板示例代码。

    - smart_config:乐鑫官方提供的 SmartConfig 功能示例代码。

    - spiffs_test:乐鑫官方提供的 SPIFFS 文件系统功能示例代码。

    - websocket_demo:乐鑫官方提供的 WebSocket 功能示例代码。

include: SDK 自带头文件,包含了用户可使用的相关 API 函数及其他宏定义,用户无需修改。

ld:链接时所需的脚本文件,如无特殊需求,用户无需修改。

lib: SDK 提供的库文件。

third_party:乐鑫开放源代码的第三方库,当前包含 freeRTOS、JSON、lwIP、mbedTLS、 noPoll、OpenSSL、SPIFFS 和 SSL。

tools:编译 BIN 文件所需的工具,用户无需修改。

2.2 编译SDK

1. 在终端切换到 /Share/ESP8266_NONOS_SDK/IoT_Demo 目录。


cd /home/esp8266/Share/ESP8266_NONOS_SDK/IoT_Demo

./gen_misc.sh


系统显示如下提示信息。


gen_misc.sh version 20150511

Please follow below steps(1-5) to generate specific bin(s):


2. 如图所示,按系统提示根据实际情况选择相应选项。

编译 SDK

    1) 第一个是选择 boot 版本,一般选择 “1”,boot_v1.2+就是1.2版本以上

    2) 第二个是选择生成的 bin 文件,一般选择 “1”,user1.bin

    3) 第三个是选择 SPI 的读写速度,一般选择 “2”,40MHz

    4) 第四个是选择 SPI 的模式,一般选择 “0”,QIO

    5) 第五个是选择 SPI 的内存大小,根据芯片选择。

3. 编译成功后系统显示生成的 BIN 文件及其下载到 Flash 中的地址,如下图所示。

说明: 用户可以进入 /home/esp8266/Share/ESP8266_NONOS_SDK/bin 目录检查生成的 BIN 文件。


三、烧写

3.1 下载烧写工具

ESPFlashDownloadTool_v3.6.4.exe

链接:https://www.espressif.com/zh-hans/support/download/other-tools

3.2 烧写步骤

3.2.1 根据需求选择固件

ESP8266 Firmware (FW) 是一些可直接下载到 ESP8266 HDK 中的 BIN 文件,用户可以选择下载 Firmware Over-The-Air(FOTA,支持云端升级)和 Non-FOTA(不支持云端升级) 的 BIN 文件。


Flash 布局

3.2.2 为固件填写下载地址

Non-FOTA 固件的下载地址,如下图所示

Non-FOTA 的下载地址

FOTA 固件的下载地址,如下图所示

FOTA 的下载地址

注意:建议按照烧录地址从低到高按顺序排列烧录。

           如需烧录 8 MB 或者 16 MB 的大容量 Flash,请使用工具 esptool。

           链接:https://github.com/espressif/esptool

           支持 FOTA 的固件无需下载 user2.bin,用户可以从云端服务器升级固件。

3.2.3 选择FLASH SIZE

烧写时,右边的 DETECTED INFO 会显示芯片实际的信息。

根据芯片实际的内存大小来选择上面的 FLASH SIZE

说明:32Mbit 等于 4M

3.2.4 开发板(或模组)切换烧写模式

ESP-LAUNCHER


ESP-WROOM-02



• 由 Leung 写于 2018 年 9 月 14 日

• 参考:《ESP8266 SDK 入门指南》[fp0w]


RTOS SDK环境搭建参看ESP8266学习笔记(17)——搭建环境、编译烧写(RTOS SDK)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容