远程升级过程

来源:互联网 发布:手机上网数据自动关闭 编辑:程序博客网 时间:2024/06/05 06:27

程序使用页面fcgi调用的模式。

处理函数在fota_web_upgrade.cpp中。升级过程放在子进程中,以防升级时间过长导致页面长时间无响应,主进程中get升级状态.


升级有两种方法:


.下载整个FW文件后再升级(升级较快,但是需要Flash有足够空间存放升级包)

等待页面http请求,请求来到时,依据请求类型进行3种类型处理:

1check服务器端软件包版本和升级所需条件,http发送请求为url:"/data.ria?servercheck=1"

2、远程下载升级包至本地,http发送请求为url:"/data.ria?download=1"

3、升级,http发送请求为url:"/data.ria?upgrade=1"

4、重启

.边下载边升级的方式(不需要存储空间,升级较慢)

等待页面http请求,请求来到时,依据请求类型进行2种类型处理:

1check服务器端软件包版本和升级所需条件,http发送请求为url:"/data.ria?servercheck=1"

2、远程下载升级包同时进行升级操作,http发送请求为url:"/data.ria?upgrade_whendown=1"

3、重启


  1. check服务器端软件包版本和升级所需条件

1.根据fota_info.xml中的服务器信息,使用curl命令下载服务器上和升级包所配套的 类似DWR-932-C2-EU.xml的升级包配置信息文件,和本地版本号进行版本比较,确定需要升级的版本是否有更新;

2.检测电池电量和USB充电线状态,确定是否符合升级条件;

3.文档中提到的其他需检测的条件;

4.返回相应的结果。


对应函数:fota_upgrade_check


    1. 远程下载升级包至本地然后再升级代码说明

1.下载软件包

符合升级条件则下载升级包至本地,并校验MD5码等值。返回校验结果

对应函数:fota_upgrade_download

2.升级

校验完成后和本地升级方式一样。

对应函数:fota_upgrade_process

3.重启

    1. 边下边升方式下载并升级代码说明

1.下载并升级,

对应函数:fota_upgrade_whendownload

2.重启

原创粉丝点击