新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种关键点控制的嵌入式设备自动在线升级

一种关键点控制的嵌入式设备自动在线升级

作者:时间:2012-05-22来源:网络收藏

摘要:给出了一种网络的方案,采用了的方法,实现了升级过程检测选择升级流程,升级前后不需要重启,升级过程用户不可见,较大地改进了常用升级方案的用户友好性。在此重点结合网络升级保证系统安全性的要求,通过的配合,保证升级对系统的全面安全。该升级方案在网络设备上进行验证,结果证明了方法的正确性和可靠性。

本文引用地址:http://www.eepw.com.cn/article/149025.htm

关键词:;正常运行系统;基本运行系统;控制

随着操作系统技术的发展,在网络终端设备中有越来越广泛的应用。在实际使用中,为了扩展业务功能、解决软件中存在的问题和提升设备性能,或者为了满足设备的定制业务(如广告业务),需要对嵌入式设备的软件系统或者资源文件及时进行更新,就是软件系统的升级业务。目前,嵌入式设备软件更新有2种方式:一种是在本地使用PC机通过串口(或者网口)将软件下载到设备中完成软件系统的升级;另一种是利用网络进行。前者只能在本地进行软件升级操作,不能够批量更新,适合于实验室调试使用,而后者能够对网络中在线终端进行批量升级,得到广泛的应用。实际上,软件在线升级已经成为网络终端设备的一项基本功能,软件在线升级的方案不同,升级过程的特点和安全性也不相同。

1 系统软件升级常用方案

网络终端设备的系统软件保存在FLASH中,系统启动时把系统软件加载到内存中运行,软件升级的本质是从网络下载新的系统软件内容,把原来系统软件内容擦除,然后写入新的系统软件,系统重启后加载新的系统软件。常用的升级方案包括单系统升级方案和双系统升级方案:

(1)单系统升级方案(如图1所示):系统启动后进行正常的业务功能,此时网络后台检测终端版本号判断是否有新版本可升级,如果检测到当前终端的版本号低于最新版本号,则立即从网络下载升级包启动升级过程,在用户进行业务功能的过程中后台完成对于原系统软件的擦除,并写入新的系统软件和更新当前版本号。该升级过程对于用户是透明的,用户只有在终端重启后再加载新的系统软件。但是该升级方案的安全性比较弱,因为如果内容擦除后终端断电或者重启,则终端中系统软件被破坏,没有可用的系统软件,终端以后再不能正常启动,必须技术支持人员到现场完成软件修复升级。另外,如果新写入的系统软件因为网络传输或者其他原因存在错误时,也会上面的结果。这种升级方案存在较明显的安全性缺陷,现在已经较少使用。

a.JPG

(2)双系统升级方案(如图2所示):为了增强升级过程的安全性,出现了双系统的升级方案,通常的处理是终端中存在一个基本运行系统和一个正常运行系统,分别处于FLASH的不同分区中,基本运行系统只用于升级正常运行系统软件,正常运行系统完成用户的正常业务。业务过程中从网络检测最新版本号,判断是否需要升级系统软件,如果检测到有需要升级的系统软件,则终端设置从基本运行系统启动并提示用户重启系统。终端从基本运行系统启动后,从网络下载正常运行系统软件并完成升级过程,写入完成后更新当前版本号,设置从正常运行系统启动后重启,终端从正常运行系统启动,进行正常的用户业务。

该升级方案克服上单系统升级方案中安全性的缺陷,升级过程中如果出现终端异常断电或者重启,只有正常运行系统软件的被破坏,最小备份系统保持正常是升级功能,系统重启后继续从最小备份系统启动,完成系统升级功能。目前网络设备中常会使用该升级,但这种升级方案每次都需要重启系统,且用户需要停止业务进行系统软件的升级,整个升级过程用户只能等待,对于现在用户体验越来越重要的终端设备,该升级方案有较明显的易用性缺陷。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭