码迷,mamicode.com
首页 > 其他好文 > 详细

ESP8266的RTOS版本ota在线升级基本流程及备忘

时间:2019-11-28 18:58:22      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:bin   com   think   get   备忘   获取   源码   原因   相对   

   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在线升级基本流程及备忘

标签:bin   com   think   get   备忘   获取   源码   原因   相对   

原文地址:https://www.cnblogs.com/dylancao/p/11952845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!