WEB固件升级

特点

  • 本地WEB网口升级芯片的程序目的是为了升级固件的操作变得简单和容易。
  • 电脑端使用浏览器。
  • 使用设备网口,电脑和设备通过网口连接。
  • 确保各种情况下设备能正常运行,不是老固件就是新固件。
  • 固件完整性验证。
  • 各种条件下升级确保成功。
  • 掉电等异常的保护。
  • 升级完成重新启动设备,安装新固件,确保新固件安装成功。
  • 升级保留原有参数。
  • 只整体升级内核和文件系统,UBOOT,BOOTSTRAP不能升级。

需求

    固件升级,指的是对硬件设备的内嵌固件进行升级。可以完善机器功能、增强机器稳定性、修补机器漏洞。由于现在的硬件设备的都是将固件保存在Flash中,所以升级固件实际上就是用新的固件程序重写Flash。

设计

1、WEB页面

要使得文件上载能够成功,WEB页面元素有以下要求:

" INPUT type=file 元素必须出现在 FORM 元素内。

" 必须为 INPUT type=file 元素指定 NAME 标签属性的值。

" INPUT TYPE="submit" 提交表单的按钮

" FORM 元素 method 标签属性的值必须设置为 post。

" FORM 元素 enctype 标签属性的值必须设置为 multipart/form-data。

2、WEB服务器后台处理

浏览器输入类型为文件类型,WEB服务器做输入处理,将WEB页面上传的文件写到/tmp目录下,然后对该文件做校验。服务器做输出处理,根据校验结果输出相应信息,校验通过则写到flash的备份区,并置升级标志写到flash第二分区,然后输出给浏览器校验结果信息并重启系统;校验不通过则直接输出给浏览器校验结果信息。

3、uboot中升级

固件升级是根据升级标志的值来判断系统是否升级,如果升级标志为空则不升级,如果升级标志的值为"update"则进行升级操作。

升级处理分析如下:

每次系统运行进入uboot后从nandflash的第二分区读出升级标志值,如果是"update"则从第五分区读出新的固件,擦除第三分区原有的固件,再把新的固件写到第三分区,最后擦除第二分区的升级标志。

处理流程如下图所示:

 

 

4、数据的存储空间

(1)WEB浏览器上传固件后服务器将文件存储在根文件系统的/tmp目录下,文件名为uploadXXXX,掉电即丢失。

(2)新固件保存到系统的/tmp目录下后,再从该目录下将新固件写到nandflash的第五分区。

(3)升级标志存储在nandfalsh的第二分区的第6-13个字节,升级时内容为"update",不升级时内容被清空为0。

(4)内存加载的内核程序存储在nandfalsh的第三分区。

 

使用web升级示意

    路由器升级程序如下图所示:

 

 

联系人:付小姐                              

咨询QQ:99187411                            

咨询电话:15010577199

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值