CN102214106B - 嵌入式设备双系统自动引导方法 - Google Patents

嵌入式设备双系统自动引导方法 Download PDF

Info

Publication number
CN102214106B
CN102214106B CN201010144605.XA CN201010144605A CN102214106B CN 102214106 B CN102214106 B CN 102214106B CN 201010144605 A CN201010144605 A CN 201010144605A CN 102214106 B CN102214106 B CN 102214106B
Authority
CN
China
Prior art keywords
variate
value
failure
boot
embedded device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010144605.XA
Other languages
English (en)
Other versions
CN102214106A (zh
Inventor
全泽昌
韩亚辉
韩奎国
疏朝明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics China R&D Center, Samsung Electronics Co Ltd filed Critical Samsung Electronics China R&D Center
Priority to CN201010144605.XA priority Critical patent/CN102214106B/zh
Publication of CN102214106A publication Critical patent/CN102214106A/zh
Application granted granted Critical
Publication of CN102214106B publication Critical patent/CN102214106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种嵌入式设备双系统自动引导方法。嵌入式设备自动引导方法包括:读取环境变量;基于读取的环境变量确定是否从当前分区进行引导;如果确定从当前分区进行引导,则以当前分区引导嵌入式设备;如果确定不从当前分区进行引导时,则确定是否切换到另一分区;如果确定切换到另一分区,则以切换到的另一分区引导嵌入式设备;如果确定不切换到另一分区,则启动远程网络引导。

Description

嵌入式设备双系统自动引导方法
技术领域
本发明涉及一种嵌入式设备,更具体地讲,涉及一种能够采用双系统备份和远程网络下载的嵌入式设备双系统自动引导方法。
背景技术
目前,在电子产品中广泛使用了嵌入式设备。在目前的嵌入式设备中,一般只有一套引导系统。因此,当嵌入式设备由于故障而不能正常启动时,用户无法自行解决问题,只能等待维修人员来处理。
对于采用双系统的嵌入式设备来说,当系统启动失败时,也需要用户进行干预,手动切换系统。当主系统和备份系统均失败时,只能等待维修人员前来处理,而对于维护人员来说,必需手动下载系统软件以修复设备,从而导致维护的过程繁琐并且容易出错。
随着网络技术的发展,采用双系统备份以及远程网络下载已成可能。在这种情况下,需要一种能够在主系统和备份系统之间自动切换并且具有远程网络引导功能的嵌入式设备双系统自动引导方法及系统。
发明内容
在下面的描述中将部分地阐明本发明另外的方面和/或优点,通过描述,其会变得更加清楚,或者通过实施本发明可以了解。
根据本发明的一方面,提供了一种嵌入式设备自动引导方法,包括以下步骤:(a)读取“活动引导分区”、“系统切换”、“本地引导状态”、“允许引导失败次数”和“当前引导失败次数”和“系统引导状态”变量;(b)确定“本地引导状态”变量值是否小于“系统引导状态”变量值;(c)当确定“本地引导状态”变量值小于“系统引导状态”变量值时,复位“当前引导失败次数”变量和“系统切换”变量为零,赋值“本地引导状态”变量值等于“系统引导状态”变量值;(d)以当前“活动引导分区”变量指示的分区引导嵌入式设备;(e)当确定“本地引导状态”变量值不小于“系统引导状态”变量值时,确定“当前引导失败次数”变量值是否小于“允许引导失败次数”变量值;(f)如果“当前引导失败次数”变量值小于“允许引导失败次数”变量值,则将“当前引导失败次数”变量值加1,并返回到步骤(d);(g)如果“当前引导失败次数”变量值不小于“允许引导失败次数”变量值,则确定“系统切换”变量值是否为0;(h)如果“系统切换”变量值为0,则改变“活动引导分区”变量值,将“系统切换”变量值设置为1,并返回步骤(d);(i)如果“系统切换”变量值为1,则启动远程网络引导。
本发明对于提高嵌入式设备的稳定性,提高嵌入式设备的质量具有显著意义。同时,本发明也有利于嵌入式设备的维护以及软件的升级,以降低售后维护成本。
附图说明
通过下面结合附图对实施例进行的描述,本发明的这些和/或其他方面和优点将会变得清楚和更易于理解,其中:
图1是示出根据本发明的嵌入式设备双系统自动引导系统的框图;
图2A是示出图1中的嵌入式设备的框图;
图2B是示出图1中的系统服务器的框图;
图3A和图3B是示出根据本发明实施例的嵌入式设备双系统自动引导方法的流程图;
图4是示出根据本发明实施例的远程网络引导处理的流程图。
具体实施方式
现在对本发明实施例进行详细的描述,其示例表示在附图中,其中,相同的标号始终表示相同部件。
图1是示出根据本发明的嵌入式设备双系统自动引导系统的框图,图2A是示出图1中的嵌入式设备的框图,图2B是示出图1中的系统服务器的框图。参照图1、图2A和图2B,嵌入式设备双系统自动引导系统包括嵌入式设备1和系统服务器2。嵌入式设备1包括主系统分区3、备份系统分区4、环境变量管理模块5、引导状态管理模块6、远程网络引导模块7、看门狗复位电路模块8、最小引导模块9(即,基本引导程序)、硬件设备10、设备驱动程序11、网络设备12和非易失存储设备13。非易失存储设备13可以是多媒体(MMC)卡、安全数字(SD)卡等,但不限于此。主系统分区3和备份系统分区4可以存储在非易失存储设备13中,也可以单独存储。
在嵌入式设备启动后,最小引导模块9加载设备驱动程序11,初始化相关硬件设备10,并初始化看门狗复位电路模块8(即,确保看门狗复位周期大于整个系统引导所需时间,并留有余量),通过环境变量管理模块5从非易失存储设备13中读取非易失环境变量数据,从而判断设备引导分区(即,是从主系统分区3还是备份系统分区4引导嵌入式设备),从判断出的分区引导嵌入式设备,并监控嵌入式设备引导状态。必要时,最小引导模块9初始化网络设备12以加载网络相关协议,从而启动远程网络引导模块7,自动获取系统服务器2配置信息,下载并更新本地系统文件,确保成功启动系统。其中,非易失存储设备13用于存储相关环境变量信息以及挂载(mount)文件系统。最小引导模块9可以完成相关硬件设备10的初始化,为非易失存储设备13挂载文件系统,并执行根据本发明实施例的引导方法。
系统服务器2包括发现请求检测模块14、系统文件管理模块15和系统文件传输模块16。发现请求检测模块14用于检测嵌入式设备的远程系统文件下载请求;系统文件管理模块15用于管理不同嵌入式设备的系统文件版本,并可根据需要进行功能扩展;系统文件传输模块16用于完成与嵌入式设备之间的系统文件传送功能。此外,系统服务器2还包括必要的操作系统、硬件驱动模块、网络设备模块以及其他硬件。
以下将参照图3A和图3B描述最小引导模块9执行的引导方法。
图3A和图3B是示出根据本发明实施例的嵌入式设备双系统自动引导方法的流程图。参照图3A和图3B,当嵌入式设备启动时,在步骤S301中,最小引导模块9通过环境变量管理模块5从非易失存储设备13中读取“活动引导分区”、“系统切换”、“本地引导状态”、“允许引导失败次数”和“当前引导失败次数”环境变量。“活动引导分区”变量指示当前使用哪个分区引导嵌入式设备,即,指示是使用主系统分区还是备份系统分区引导嵌入式设备。“系统切换”变量为布尔类型,表示上一次成功引导嵌入式设备时,是否切换过引导分区,0表示没有切换过引导分区,1表示切换过引导分区。“活动引导分区”变量也可以设置为布尔类型,0表示主引导分区,1表示备份引导分区。“允许引导失败次数”变量值可设置为大于等于1的任意整数。“当前引导失败次数”变量值在初始启动时可设置为任意值。“本地引导状态”变量和稍后描述的“系统引导状态”变量用于检测上次引导是否成功。在首次启动时,最小引导模块9对“本地引导状态”变量和“系统引导状态”变量赋值,其中“本地引导状态”变量值应小于“系统引导状态”变量值。在引导成功后,最小引导模块9将“系统引导状态”变量值加1。因此,在引导失败时,可以保证“本地引导状态”变量值不会小于“系统引导状态”变量值,而在引导成功时,“本地引导状态”变量值将小于“系统引导状态”变量值。
在步骤S302中,最小引导模块9从存储在非易失存储设备13中的文件系统中的系统引导状态文件中读取“系统引导状态”变量。
在步骤S303中,最小引导模块9确定“本地引导状态”变量值是否小于“系统引导状态”变量值。在首次启动时,最小引导模块在执行确定步骤之后,将赋值“本地引导状态”变量值等于“系统引导状态”变量值。
当确定“本地引导状态”变量值小于“系统引导状态”变量值时,在步骤S304中,复位“当前引导失败次数”变量和“系统切换”变量为零,赋值“本地引导状态”变量值等于“系统引导状态”变量值。然后,在步骤S305中,以当前“活动引导分区”变量指示的分区(主系统分区3或备份系统分区4)引导嵌入式设备。
在步骤S306中,最小引导模块9确定引导是否成功。如果引导成功,则在步骤S307中,将“系统引导状态”变量值加1。否则,方法返回步骤S303。
另一方面,当确定“本地引导状态”变量值不小于“系统引导状态”变量值时,在步骤S308中,最小引导模块9确定“当前引导失败次数”变量值是否小于“允许引导失败次数”变量值。当确定“当前引导失败次数”变量值小于“允许引导失败次数”变量值时,在步骤S309,将“当前引导失败次数”变量值加1。然后,方法进行到步骤S305。当确定“当前引导失败次数”变量值不小于“允许引导失败次数”变量值时,在步骤S310中,最小引导模块9确定“系统切换”变量值是否为0。如果“系统切换”变量值为0,则在步骤S311中,切换引导分区(即,改变“活动引导分区”变量值),并将“系统切换”变量值设置为1,其中,在切换引导分区时,如果“活动引导分区”变量指示主引导分区,则将“活动引导分区”变量切换为指示备份引导分区;如果“活动引导分区”变量指示备份引导分区,则将“活动引导分区”变量切换为指示主引导分区。然后,方法进行到步骤S305。这样,可以以切换到的另一分区引导嵌入式设备。
然而,如果“系统切换”变量值为1,则在步骤S312中,最小引导模块9启动远程网络引导模块7。然后,在步骤S313中,嵌入式设备连接到系统服务器,从系统服务器下载系统文件,并使用下载的系统文件更新“活动引导分区”变量指示的引导分区的系统文件。在步骤S314中,复位“系统切换”,“本地引导状态”和“当前引导失败次数”变量值,并重新启动嵌入式设备(即,返回步骤S301?)。例如,可以将“系统切换”变量值复位为0,将“本地引导状态”变量值复位为小于“系统引导状态”变量值,并将“当前引导失败次数”变量值复位为0。
当系统引导成功时,例如,在步骤S307之后,嵌入式设备可以加载用户程序,复位看门狗复位电路模块8,启动喂狗程序,并完成启动。然而,当系统引导失败时,看门狗复位电路模块8将复位嵌入式设备,重新开始根据本发明的引导方法。
图4是示出根据本发明实施例的远程网络引导处理的流程图。图4中的处理对应于图3中的步骤S313。
参照图4,在步骤S401中,嵌入式设备广播“系统服务器发现请求”报文。在步骤S402中,嵌入式设备确定是否接收到“系统服务器发现响应”报文。“系统服务器发现请求”报文和“系统服务器发现响应”报文可采用本领域常用的报文格式。如果没有接收到“系统服务器发现响应”报文,则在步骤S403中确定是否超过尝试请求次数。如果超过尝试请求次数,则返回请求失败消息,并且处理结束。否则,处理进行到步骤S401。
如果确定接收到“系统服务器发现响应”报文,则在步骤S404中,嵌入式设备提取系统服务器网络配置信息,提取系统文件信息,并远程下载系统文件。然后,在步骤S405中,确定下载是否成功。如果下载没有成功,则处理进行到步骤S403。如果下载成功,则在步骤S406中,使用下载的系统文件更新“活动引导分区”变量指示的引导分区的系统文件。
如上所述,在根据本发明的支持双系统备份和远程网络下载的嵌入式设备中,本地存储两份系统文件(或应用软件),当其中的一套系统文件启动失败时,可以自动检测系统文件启动错误,自动切换到备份系统文件。当主引导系统和备份系统均发生故障时,嵌入式设备的远程网络引导模块能够与远程服务器进行协商,下载最新的系统文件,更新本地系统文件,并成功启动嵌入式设备。
虽然已经参照本发明的特定示例性实施例显示和描述了本发明,但是本领域技术人员应该理解,在不脱离由权利要求及其等同物限定的本发明的精神和范围的情况下,可在形式和细节上进行各种改变。

Claims (3)

1.一种嵌入式设备自动引导方法,包括以下步骤:
(a)读取“活动引导分区”、“系统切换”、“本地引导状态”、“允许引导失败次数”和“当前引导失败次数”和“系统引导状态”变量;
(b)确定“本地引导状态”变量值是否小于“系统引导状态”变量值;
(c)当确定“本地引导状态”变量值小于“系统引导状态”变量值时,复位“当前引导失败次数”变量和“系统切换”变量为零,赋值“本地引导状态”变量值等于“系统引导状态”变量值,并转到步骤(h);
(d)当确定“本地引导状态”变量值不小于“系统引导状态”变量值时,确定“当前引导失败次数”变量值是否小于“允许引导失败次数”变量值;
(e)如果“当前引导失败次数”变量值小于“允许引导失败次数”变量值,则将“当前引导失败次数”变量值加1,并转到步骤(h);
(f)如果“当前引导失败次数”变量值不小于“允许引导失败次数”变量值,则确定“系统切换”变量值是否为0;
(g)如果“系统切换”变量值为0,则改变“活动引导分区”变量值,将“系统切换”变量值设置为1,并转到步骤(h);
(i)如果“系统切换”变量值为1,则启动远程网络引导,其中,步骤(i)还包括:(i1)从系统服务器下载系统文件,并使用下载的系统文件更新“活动引导分区”变量指示的引导分区的系统文件;(i2)复位“系统切换”,“本地引导状态”和“当前引导失败次数”变量值,并返回步骤(a);
(h)以当前“活动引导分区”变量指示的分区引导嵌入式设备。
2.根据权利要求1所述的嵌入式设备自动引导方法,还包括以下步骤:
(j)如果引导成功,则将“系统引导状态”变量值加1,否则,返回步骤(b)。
3.根据权利要求1所述的嵌入式设备自动引导方法,其中,在嵌入式设备首次启动时,在步骤(b)之前设置“本地引导状态”变量值小于“系统引导状态”变量值。
CN201010144605.XA 2010-04-08 2010-04-08 嵌入式设备双系统自动引导方法 Active CN102214106B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010144605.XA CN102214106B (zh) 2010-04-08 2010-04-08 嵌入式设备双系统自动引导方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010144605.XA CN102214106B (zh) 2010-04-08 2010-04-08 嵌入式设备双系统自动引导方法

Publications (2)

Publication Number Publication Date
CN102214106A CN102214106A (zh) 2011-10-12
CN102214106B true CN102214106B (zh) 2014-03-26

Family

ID=44745427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010144605.XA Active CN102214106B (zh) 2010-04-08 2010-04-08 嵌入式设备双系统自动引导方法

Country Status (1)

Country Link
CN (1) CN102214106B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634710B (zh) * 2012-08-29 2017-12-29 华为终端有限公司 一种加载版本文件的方法和设备
CN103152637B (zh) * 2013-02-19 2016-03-30 中兴通讯股份有限公司 嵌入式机顶盒双系统的切换方法及装置及机顶盒
CN103744702A (zh) * 2014-01-07 2014-04-23 上海斐讯数据通信技术有限公司 一种交换、路由设备的双系统启动方法
CN104915226B (zh) * 2015-05-21 2018-12-14 北京星网锐捷网络技术有限公司 一种网络设备软件启动方法、装置及网络设备
CN105335166A (zh) * 2015-12-04 2016-02-17 上海斐讯数据通信技术有限公司 嵌入式设备的系统及嵌入式设备远程升级的方法
CN107368315A (zh) * 2017-07-20 2017-11-21 郑州云海信息技术有限公司 一种双硬盘双系统的启动方法及装置
CN109347972B (zh) * 2018-11-14 2022-04-01 深圳市创梦天地科技有限公司 一种系统部署方法、相关装置和设备
CN109783150A (zh) * 2019-01-31 2019-05-21 深兰科技(上海)有限公司 一种嵌入式系统启动防砖方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740971A (zh) * 2004-08-27 2006-03-01 华为技术有限公司 基本输入输出系统程序和主机程序的升级方法
CN1928820A (zh) * 2006-09-30 2007-03-14 四川长虹电器股份有限公司 嵌入式系统及其升级方法
US7536598B2 (en) * 2001-11-19 2009-05-19 Vir2Us, Inc. Computer system capable of supporting a plurality of independent computing environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536598B2 (en) * 2001-11-19 2009-05-19 Vir2Us, Inc. Computer system capable of supporting a plurality of independent computing environments
CN1740971A (zh) * 2004-08-27 2006-03-01 华为技术有限公司 基本输入输出系统程序和主机程序的升级方法
CN1928820A (zh) * 2006-09-30 2007-03-14 四川长虹电器股份有限公司 嵌入式系统及其升级方法

Also Published As

Publication number Publication date
CN102214106A (zh) 2011-10-12

Similar Documents

Publication Publication Date Title
CN102214106B (zh) 嵌入式设备双系统自动引导方法
US11003599B2 (en) Method, apparatus and system of managing external devices, memory and unmanned aerial vehicle
EP2456257B1 (en) Method and system for upgrading wireless data card
CN110083374B (zh) 一种升级回滚方法、系统及终端设备
CN109831338B (zh) 车机系统升级方法、云端服务器及移动终端
CN104765628A (zh) 一种移动终端更新触摸屏固件的方法及系统
CN101091158A (zh) 使用输入程序以便通知系统软件更新服务
CN104657161A (zh) 移动终端固件更新方法及装置
CN105517015A (zh) 一种wifi产品空中下载OTA升级方法、装置及终端
CN110659046A (zh) 固件升级方法、终端、充电盒、耳机及存储介质
CN105700918A (zh) 一种系统升级方法及装置
CN103731733A (zh) 一种版本升级方法和电子设备
CN112860291A (zh) 固件升级方法及装置
CN108874410B (zh) 补丁管理方法及装置
CN102339264A (zh) 一种星载电子系统设备即插即用控制方法及系统
CN111190621A (zh) 固件烧录方法、装置、系统、终端设备及存储介质
CN105045671A (zh) 一种智能终端的系统升级方法及装置
CN107396185B (zh) 升级方法及系统
CN104580360A (zh) 通过异构网络更新固件的系统及其方法
CN112166411A (zh) 设备控制方法、系统及控制终端
CN103488492A (zh) 阅读器设备及其固件升级方法及装置
CN103914310A (zh) 麻醉机升级方法及装置
CN111246447A (zh) eUICC签约数据管理方法、模块以及终端、存储介质
CN106155670A (zh) 一种移动终端及其刷机方法和装置
CN112181466B (zh) 一种语音空调固件云端升级方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 5-12 / F, building 6, 57 Andemen street, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee after: Samsung Electronics (China) R&D Center

Patentee after: SAMSUNG ELECTRONICS Co.,Ltd.

Address before: No. 268 Nanjing Huijie square Zhongshan Road city in Jiangsu province 210008 8 floor

Patentee before: Samsung Electronics (China) R&D Center

Patentee before: SAMSUNG ELECTRONICS Co.,Ltd.