ESP8266的RTOS版本ota在线升级基本流程及备忘
Posted dylancao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESP8266的RTOS版本ota在线升级基本流程及备忘相关的知识,希望对你有一定的参考价值。
ESP8266的ota升级由于涉及到不同的flash空间大小,以及新旧版本的不同,所以流程相对比较复杂。笔者这个倒腾的时间还是有一些的,不过,总归把事情解决了。下面记录一下基本的流程和遇到的问题。
还有一个问题,就是RTOS版本上面的ota升级和以前的很多是不同的,这也是让我倒腾那么长时间的原因之一。
基本流程:
User APP1 和 User APP2 是同?份软件的两个备份,后?分别简称为 user1 和 user2。
System param 区存了?个 flag,标识启动时应当运? user1 还是 user2。 启动时先运? Boot,Boot 读取 System param 区中的 flag,判断运? user1 还是 user2,然后到 SPI Flash 的对应位置去取。
例如, (1) 初始状态:boot.bin + 版本 v1.0.0 的 user1.bin + System param 区 flag 标志为使? user1;
(2) 服务器上传软件更新版本 v1.0.1 的 user1.bin 和 user2.bin;
(3) 服务器推送通知,设备读取 flag 当前正使? user1,则从服务器下载 v1.0.1 的 user2.bin 到 SPI Flash 260KB 之后的空间;
(4) 下载完成后,?户可以选择重启更新,则修改 System param 中的 flag 标志为使? user2,设备 重启,使? v1.0.1 的 user2 软件。
(5) 再下次升级,则参考步骤 2 及之后流
遇到问题:
1 怎么把user2.bin中的内容拷贝到user1.bin?
配置编译宏:CONFIG_ESP8266_BOOT_COPY_APP=y
2 怎么确定使用哪种ota升级方法?
一般的原则是要根据flash大小来确定,其次根据实际项目需要,实际上,不同的项目是有不少差别的.
3 怎么获取源码呢?
全部的源码我这边有,需要的请回复,我发给你,假如是商业用途,需要你发个红包即可。
4 怎么知道flash大小?
安信可的可以参考这个目录:https://wiki.ai-thinker.com/esp8266
以上是关于ESP8266的RTOS版本ota在线升级基本流程及备忘的主要内容,如果未能解决你的问题,请参考以下文章
STM32+ESP8266(ESP-12F)实现在线OTA升级(腾讯云物联网)
STM32+ESP8266(ESP-12F)实现在线OTA升级(腾讯云物联网)
解决esp8266 Mircopython OTA 远程升级方案