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 接口的使用规则进行软件开发。
• 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 实现。
• 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 20150511Please follow below steps(1-5) to generate specific bin(s):
2. 如图所示,按系统提示根据实际情况选择相应选项。
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 文件。
3.2.2 为固件填写下载地址
Non-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 开发板(或模组)切换烧写模式
• 由 Leung 写于 2018 年 9 月 14 日
• 参考:《ESP8266 SDK 入门指南》[fp0w]
ESP8266学习笔记(1)——搭建环境、编译烧写(NONOS SDK)相关推荐
- go-pitaya学习笔记(1)-搭建环境测试demo-windows
学习笔记: 我家别墅靠大海/pitaya-learn 尝试集成功能:我家别墅靠大海/pitaya-game Pitaya 是一个简单.快速和轻量级的游戏服务器框架,通过C SDK为 iOS.Andro ...
- 【Robotium学习笔记】搭建环境篇(2016.3.1)
环境搭建: 1.eclipse 2.sdk 3.robotium-solo-4.2.jar(我下载的5.2.1,用最新的比较好,因为有些功能需要jar包的支持) 4.re-sign.jar 5.jdk ...
- lm3s811 学习笔记(一)/【安装驱动/烧写程序】
很是激动地拿到了板子,公司现在资源有限,老大还给了我个板子,那个心情啊~~ 在工作之前,我玩过mini2440,对于ARM的理解只是一个新手的阶段.对于手上这个压根没听过的东东,我头还真大. 于是乎, ...
- 韦东山嵌入式第一期学习笔记DAY_2——6_2_使用eop烧写裸板程序
作者:GWD 时间:2019.7.3 一.课程内容 1.安装JTAG驱动: 1).复制驱动所在路径: 2).安装驱动时候,选择浏览计算机以查找(注意对于EOP需要安装几次驱动,路径都是一样的) 2.安 ...
- ESP32学习笔记(1)——搭建环境、编译烧写(Windows+VS Code)
Espressif-IDE 环境搭建参看 ESP32学习笔记(50)--搭建环境.编译烧写(Windows+Espressif-IDE) 一.搭建环境 1.1 官方资料 ESP-IDF 编程指南 1. ...
- ESP32学习笔记(51)——搭建环境、编译烧写(Windows+Espressif-IDE)
VS Code 环境搭建参看 ESP32学习笔记(1)--搭建环境.编译烧写(Windows+VS Code) 一.搭建环境 1.1 官方资料 ESP-IDF 编程指南 1.2 下载Espressif ...
- C51单片机学习笔记(一)——搭建开发环境及烧写工具
C51单片机学习笔记(一)--搭建开发环境及烧写工具 文章目录 C51单片机学习笔记(一)--搭建开发环境及烧写工具 1.搭建软件开发环境及使用(Keil uVision) 2.将程序下载到单片机(烧 ...
- Ionic 学习笔记之-痛彻心扉的环境搭建
Ionic 学习笔记之-痛彻心扉的环境搭建 最近在学习Ionic 做多平台的应用.跨平台应用.就是用html写的界面.js实现逻辑. 在学ionic之前选了各种跨平台APP开发框架.最后选择了ioni ...
- OpenGL学习笔记(一):环境搭建、三维空间坐标系理解以及OpenGL的基本使用
原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7866 ...
最新文章
- 【NLP】Pytorch中文语言模型bert预训练代码
- 干货|SRC漏洞挖掘经验
- 询问HTG:白噪声屏幕保护程序,有效的文件命名以及从密码泄露中恢复
- wince linux 性能,wince remote call profiler(性能分析)
- Oracle 常用命令举例
- Java 简单五子棋程序的实现
- Docker的一些理解(二)
- criterions的选择
- MySQL数据库安装超级详细教程
- java如何调用webservice_Java如何调用WebService接口
- 5G移动通信 笔记 - 5G接入网架构
- ARM7(LPC2xxx)芯片的小总结
- 会议记录转文字 - 语音识别
- “插座”,“充电宝”,“数据线”用英语怎么说?
- matlab提取图像特征程序,图像特征提取matlab程序
- qt在window实现调取本机摄像头或者外设摄像头二维码识别升级版
- Symbian程序安装不成功的解决方法
- 2021-11-04 历年提高组真题刷题统计表zyz
- iPhone X 响应式网页设计
- Go 实现短链接服务
热门文章
- 合泰 HT66F2390 uart0与uart1 串口代码相互通信
- 我的世界java能开光追吗_五彩斑斓的马赛克!我的世界开光追是怎样一种体验...
- 基于(springmvc+tomcat+JavaScript)实现化妆品商城系统
- 【学习笔记】集合幂级数
- icpc 北京赛区总结
- 使用乐鑫官方资源搭建基于Arduino的ESP32的开发环境
- 图片压缩利器Image Optimizer,一键压缩图像体积和尺寸清晰无损
- 前端图片压缩 pngquanty
- 温暖人心的地图 腾讯地图SDK全面支持无障碍及适老化
- Windows 12 UI界面抢先看