当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]一种关键点控制的嵌入式设备自动在线升级

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

关键词:在线升级;正常运行系统;基本运行系统;关键点控制

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

1 系统软件升级常用方案

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

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

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

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

[!--empirenews.page--]

2 基于关键点控制的系统软件升级方案

基于关键点控制的升级方案是针对于上述双系统升级方案的优化和改进,通过业务分析和统计,为了修改增强业务功能或者修改BUG,终端升级的绝大部分场景是需要升级正常运行系统,如果能够实现在正常运行系统中能够升级自身,升级过程对用户透明,则能够解做到绝大部分升级过程用户不可见。同时由于基本运行系统也会存在BUG或者需要增强功能,也有需要升级基本运行系统的情况。

本方案通过在系统中设定关键点,在升级过程中通过关键点值控制升级的流程,保证系统软件升级安全性,同时做到升级过程对用户透明,而且除了能够升级正常运行系统外还可以升级基本运行系统(如基本运行系统中存在BUG需要修改时),增强了终端的灵活性,另外升级过程引入了XML格式的升级控制文件,有效的控制了网络版本的兼容性。关键点记录了当前系统软件的状态。根据当前系统软件状态的不同,软件升级的流程不同,在基本运行系统和正常运行系统中都包含下面的关键点,各个关键点的取值和代表含义如下:

(1)系统启动未验证(SSNV):系统升级完成后没有启动过,此时不能保证系统能够正常启动,不能保证系统能够运行业务功能,即没有验证系统的升级功能;正常运行系统处于SSNV状态时,不能在该正常运行系统下升级基本运行系统,否则可能会出现2个系统都不能正常启动的状态。同样基本运行系统处于SSNV状态时,不能在该基本运行系统中升级正常运行系统。

(2)系统升级未验证(SUNV):系统已经正常启动,业务功能正常运行,但没有验证系统的升级功能。如果正常运行系统的升级功能没有验证,则不能在该系统下升级基本运行系统,否则可能会造成基本运行系统被破坏,同时正常运行系统没有升级功能的情况,以后终端再也不具有在线升级的功能。同样基本运行系统处于SUNV状态时,不能在正常运行系统中直接升级正常运行系统本身,需要重启进入基本运行系统进行升级;

(3)系统升级已验证(SUV):系统除了业务功能正常外,升级功能已经验证过,能够进行正常的升级。该状态表明系统功能完全经过验证,如基本运行系统处于SUV状态,则在正常运行系统中可以自动升级自身,正常运行系统处于SUV状态时,可以在正常运行系统中升级基本运行系统。

升级方案的具体控制流程中包含了关键点控制和判断使用的时机,终端启动后判断从哪个系统启动,如果从正常运行系统启动成功,此时假设正常运行系统的关键点状态为SSNV状态,则设置为SUNV状态(如图3所示)。

[!--empirenews.page--]

系统运行过程中检测到有新版本需要升级正常运行系统,则判断基本运行系统的关键点状态,如果为SUV状态,则直接在正常运行系统中升级该升级包,否则需要设置从基本运行系统启动,并重启终端后在基本运行系统中升级该升级包。如果检测到需要升级基本运行系统,则判断正常运行系统关键点状态,如果为SUV状态,则直接在基本运行系统中升级该升级包,升级完成后设置正常运行系统的关键点状态为SSNV状态,否则忽略该升级包(如图4所示)。在基本运行系统启动成功,如果此时基本运行系统的关键点状态为SSNV状态,则设置为SUNV状态(如图5所示)。基本运行系统的主要功能就是完成正常运行系统的升级。启动后如果检测到有新版本需要升级正常运行系统,则下载该升级包进行升级业务,升级完成后设置正常运行系统的关键点状态为SSNV状态,并表示基本运行系统的关键点状态为SUV状态(如图6所示)。

通过上述的关键点控制,该升级方案保证了任何情况下都有一个系统是能够正常运行升级系统,不会出现终端因为升级过程断电等因素造成升级失败后,不能再自动恢复的问题,对终端升级的安全性有较大的提升。例如在正常运行系统中升级正常运行系统时,基本运行系统保证是SUV状态,如果出现断电情况,终端重启后进入基本运行系统中可以把正常运行系统升级;在正常运行系统中升级基本运行系统时,正常运行系统保证是SUV状态,如果出现断电情况,终端重启后进入正常运行系统可以继续升级基本运行系统;在基本运行系统中升级正常运行系统时,基本运行系统保证是SUV状态,如果出现断电情况,终端重启后进入基本运行系统可以继续升级正常运行系统。该升级方案中不允许在基本运行系统中升级自身。

[!--empirenews.page--]

3 结语

该方法在医疗呼叫系统中进行了应用与验证,嵌入式系统基于S3C2440处理器,负责系统中医疗信息的发布、查询,语音呼叫及医疗增援服务,其中床头机、医护机、门口机均采用该系统,医疗呼叫系统需要全天候工作,不可能指定时间对系统升级,且升级过程需要用户不可见,通过应用本方法能够方便的升级系统软件,以修复软件BUG或者增强软件服务。升级过程中用户不可见,且升级完成后不需要重启终端,对于升级的易用性和友好性有较大改进。

本文分析了常用的网络终端设备在线升级的方案,在保证在线升级过程安全的基础上,通过对双系统升级方法的优化和改进,通过关键点状态的记录和判断,实现了绝大部分情况下,可以在正常运行系统中直接升级正常运行系统,升级完成后不需要重启系统,做到升级过程对用户透明。同时在原来只能升级正常运行系统的基础上,支持升级基本运行系统的功能,对于提升网络终端设备在线升级的易用性和安全性有较大的帮助。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

广州2025年9月12日 /美通社/ -- 9月11日,由国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(简称"TÜV莱茵"...

关键字: 数字化 供应链 控制 电子

为解决使用现有接装纸分离装置生产“视窗烟支”时出现的安装调整难度大、耗时长、稳定性差,烟支接装纸外观质量缺陷率高等问题,设计了一种接装纸三级分离和控制装置。通过接装纸初步分离、分离定位控制和最终定位输送装置模块化设计,且...

关键字: 视窗烟支 接装纸 分离 控制

MCU 被誉为现代电子设备的 “神经中枢”,是嵌入式电子系统中控制各种功能的核心器件。当前,边缘 AI、具身智能、新能源汽车、制造业数智转型等新业态,正在为 MCU 开辟更多增量市场,并倒逼 MCU 技术升级。MCU 厂...

关键字: MCU 电子系统 控制

青岛2025年8月5日 /美通社/ -- 2025年8月5日,第五届理创大赛在山东省青岛市正式启动,华东赛区预赛也随之拉开帷幕。全球自动化领域的数字化转型专家欧姆龙(中国)有限公司(以下简称"欧姆龙"...

关键字: 大赛 欧姆龙 控制 数字化

尽管全球数据泄露的平均成本降至 444 万美元,美国企业的相关损失却攀升至 1022 万美元; 在遭遇数据泄露的企业中,仅有 49% 的企业计划加强安全投入。...

关键字: AI IBM 控制 模型

北京 2025年7月17日 /美通社/ -- 随着AI迅速向边缘领域挺进,对智能边缘器件的需求随之激增。然而,要在小尺寸的微控制器上部署强大的模型,仍是困扰众多开发者的难题。开发者需要兼顾数据预处理、模型选择、超参数调...

关键字: 开源 嵌入式设备 AI ADI

为增进大家对差错控制的认识,本文将对差错控制、差错控制的基本方式和差错控制的分类予以介绍。

关键字: 控制 指数 差错控制

为增进大家对‌板卡控制的认识,本文将对‌板卡控制的架构与功能以及‌板卡控制与PLC控制的区别予以介绍。

关键字: 控制 指数 板卡控制

广州2025年5月22日 /美通社/ -- 5月19-22日,第9届非线性系统与控制会议暨第1届超级机器人国际会议(以下简称"NSCC 2025大会")于...

关键字: 控制 非线性系统 机器人 人工智能

在嵌入式语音交互设备中,如智能音箱、语音遥控器等,语音前端处理至关重要。它直接影响语音识别的准确性和用户体验。噪声抑制用于降低环境噪声对语音信号的干扰,而语音活动检测(VAD)则用于判断语音信号中是否存在有效语音,避免将...

关键字: 嵌入式设备 CMSIS-DSP
关闭