第七讲 ESP8266 RTOS SDK实现OTA.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七讲 ESP8266 RTOS SDK实现OTA

第七讲 ESP8266 RTOS SDK实 现OTA 在局域网内运行WebServer ,将固件放到WebServer 的目录下,使用网络助手触 发ESP8266从WebServer上下载新固件,然后ESP8266重启,运行新固件。 笔名:火柴棍。 技术交流QQ群:476685983 。 概述 • ESP8266能通过网络远程更新固件,需要将编译生成的user1.bin和user2.bin放到服务器上,可以使用用户自己的服 务器,也可以使用乐鑫官方提供的免费服务器。 • 一.使用用户自己的服务器,这方式比较简单,将新的固件放到服务器的路径下,ESP8266使用http get的方式下载新 的固件写到FLASH里面,然后重启运行新的固件。 • 二.使用乐鑫官方提供的免费服务器,这种方式要复杂一些,毕竟使用别人的东西,需要遵循别人定的规则,首先要从 乐鑫官网申请一个key(密匙),将这个密匙写到程序中,再将新的固件放到乐鑫的服务器上,然后填写一些和固件相关的 信息,程序中也要有相关的部分。程序可参照官方的: ESP8266 IOT PLATFORM,文档可参考:99C- ESP8266_FOTA_UPGRADE_CN.PDF。 我在开发时使用的是自己的服务器,所以我主要讲解使用开发着自己的服务器做远程固件升级。首先需 要弄清楚ESP8266的flash区域划分,为什么有user1.bin和user2.bin? ESP8266在FLASH中划分了两块空间存放固件,FLASH中的系统参数区设置了ESP8266启动时运行那块空间的固件, user1还是user2。如果ESP8266当前运行的是user1.bin,那么固件更新时,就下载user2.bin,并且存储在user2.bin的 FLASH空间,下载完成后,设置系统参数,启动时运行user2.bin;如果ESP8266当前运行的是user2.bin,那么固件更新 时,就下载user1.bin,并且存储在user1.bin的FLASH空间,下载完成后,设置系统参数,启动时运行user1.bin。如果 固件更新过程中出现失败,ESP8266不会损坏,会继续运行当前运行的固件,并且下次启动时,也会运行当前固件。 1024KB的FLASH空间划分 如上图,是1MB的FLASH空间划分,这个空间划分不是由FLASH芯片的具体空间大小决定的,而是编 译代码时STEP 5如何选择(flash map),总共有6个选项,如下: 0= 512KB( 256KB+ 256KB) 如果FLASH芯片是4MB的,那么这6个选项都能选,只是 2=1024KB( 512KB+ 512KB) 选择2,那么剩下的3MB空间不能被操作;选择5,剩下 3=2048KB( 512KB+ 512KB) 的2MB空间不能被操作;选择3,则有1MB的空间可以被 4=4096KB( 512KB+ 512KB) 操作,用于数据存储;选择4,则有3MB的空间可以被操 5=2048KB(1024KB+1024KB) 作,用于数据存储。如果FLASH芯片是1MB的,那么只能 6=4096KB(1024KB+1024KB) 选择0或是2,选择0,则有512KB的剩余空间可被操作。 如果不做固件更新,那么user2.bin的空间也是可以被操作的,用于数据存储。 相关文件 官方的ESP8266_IOT_PLATFORM Demo中有OTA升级相关的代码,upgrade文件夹下有3个文件: 将upgrade文件夹拷贝到主目录下,需要在主目录下的Makefile中的SUBDIRS添加upgrade, COMPONENTS_eagle.app.v6 添加upgrade/libupgrade.a。 例程实现 • 把服务器存放固件的路径传给设备,设备自己选择是下载user1.bin还是user2.bin,补全 下载路径。 • 如:我

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档