CN101673211A - 一种嵌入式设备及其启动方法 - Google Patents

一种嵌入式设备及其启动方法 Download PDF

Info

Publication number
CN101673211A
CN101673211A CN200910204360A CN200910204360A CN101673211A CN 101673211 A CN101673211 A CN 101673211A CN 200910204360 A CN200910204360 A CN 200910204360A CN 200910204360 A CN200910204360 A CN 200910204360A CN 101673211 A CN101673211 A CN 101673211A
Authority
CN
China
Prior art keywords
file
operating system
kernel
available
start address
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.)
Granted
Application number
CN200910204360A
Other languages
English (en)
Other versions
CN101673211B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN200910204360.2A priority Critical patent/CN101673211B/zh
Publication of CN101673211A publication Critical patent/CN101673211A/zh
Application granted granted Critical
Publication of CN101673211B publication Critical patent/CN101673211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

为了解决对现有嵌入式设备各操作系统文件都被破坏的情况下,嵌入式设备必定无法正常运行的问题,本发明公开了一种嵌入式设备及其启动方法,本发明方法包括:对各用于单独启动嵌入式设备的操作系统文件进行检查,操作系统文件包括内核部分和文件系统部分,若检查结果为各操作系统文件均被破坏,且能够从各操作系统文件中获取可用的内核部分和可用的文件系统部分,则启动一个可用的内核部分并将一个可用的文件系统挂载起来实现设备正常启动。正是由于通过一个可用的内核部分和一个可用的文件系统部分实现设备正常启动,从而在保证在一定条件下嵌入式设备正常运行。

Description

一种嵌入式设备及其启动方法
技术领域
本发明涉及通信技术技术领域,特别是涉及一种嵌入式设备及其启动方法。
背景技术
随着现代电子技术的高速发展,通讯设备已成为人们生活和工作中不可或缺的一部分。同时,人们对通讯设备的安全性和可靠性的要求也越来越高。系统在线升级是嵌入式系统常见的操作。如果在嵌入式系统在线升级中突然断电或者出现其它故障,会导致存储器中操作系统文件被破坏。
为了满足客户对通讯产品安全性的要求,越来越多的嵌入式设备采用多个操作系统文件的方法来保证嵌入式设备在存储器某些部分被破坏的情况下仍能够正常启动运行。多个操作系统文件的方法是指在存储器上存放两个甚至更多个操作系统文件的方法,其中一个为启动时运行的操作系统文件,另外的为备份的操作系统文件,目前通用的方法是在存储器上搜索到操作系统文件后,对每个操作系统文件分别进行校验,跳过被破坏或者无效的操作系统文件,启动可以运行的正常操作系统文件。但是在某些情况下可能会存在多操作系统文件中的每个操作系统文件都被破坏的情况,即每个操作系统文件都不具备单独运行的条件。在这种条件下,嵌入式设备必定无法正常运行,只能由客户将产品退回给运营商或者是厂家,最后由厂家来维修,这个过程需要耗费一定的时间和人力成本,对用户对产品的体验度以及运营商和厂家的收益均有影响。
发明内容
为了解决对现有每个操作系统文件都被破坏的情况下,嵌入式设备必定无法正常运行的问题,本发明实施例提供的一种嵌入式设备启动方法,包括:
对各用于单独启动嵌入式设备的操作系统文件进行检查,操作系统文件包括内核部分和文件系统部分;
若检查结果为各操作系统文件均被破坏,且能够从各操作系统文件中获取可用的内核部分和可用的文件系统部分,则启动一个可用的内核部分并将一个可用的文件系统挂载起来实现设备正常启动。
本发明实施例提供的一种嵌入式设备,包括:
检测模块,用于对各用于单独启动嵌入式设备的操作系统文件进行检查,操作系统文件包括内核部分和文件系统部分;
启动模块,用于若检查结果为各操作系统文件均被破坏,且能够从各操作系统文件中获取可用的内核部分和可用的文件系统部分,则启动一个可用的内核部分并将一个可用的文件系统挂载起来实现设备正常启动。
本发明实施例中正是由于通过一个可用的内核部分和一个可用的文件系统部分实现设备正常启动,从而在保证在一定条件下,如果操作系统文件的不同部分被破坏,仍能够将多个操作系统文件的不同部分组合成一个可用的操作系统文件,保证产品的正常运行;从用户的角度考虑,在多操作系统文件的基础上有增加了一层保险机制,一定程度上防止每个操作系统文件都被破坏的情况下产品不能正常运行的情况发生,提高了用户对产品的满意度,也能够减少设备返场维修的次数,降低成本。
附图说明
图1为本发明第一实施例方法流程图;
图2为本发明第二实施例嵌入式设备结构图。
具体实施方式
为了解决现有现有每个操作系统文件都被破坏的情况下,嵌入式设备必定无法正常运行的问题,本发明第一实施例提供了一种嵌入式设备启动方法,嵌入式系统将操作系统文件划分为内核和文件系统这两部分,对于用于设备启动的操作系统文件,这两部分必须都是有效的。本发明实施例中提及的嵌入式设备启动方法是指在存储器上存放的2个或2个以上操作系统文件均被部分破坏的情况下,让嵌入式设备能够正常运行的方法。
在运用多操作系统文件的嵌入式设备中,嵌入式设备启动的时候都涉及到对操作系统文件的搜索、选择以及校验的机制,保证用于设备启动的操作系统文件为可用的操作系统文件。在运行本实施例提供的方法之前需为各个操作系统文件提供操作系统文件状态信息的保存区域,在嵌入式设备存储介质如flash上划分出一定的空间作为操作系统文件状态信息的保存区域,并完成最初的操作系统文件状态信息的设置,操作系统文件状态信息可以以操作系统文件状态信息表的形式存储于flash上,操作系统文件状态信息包括:用于标识内核部分是否可用的第一标识信息、用于标识文件系统部分是否可用的第二标识信息、内核部分起始地址和文件系统部分起始地址。
下面以第一个操作系统文件的内核被破坏、第二个操作系统文件的文件系统被破坏的双操作系统文件为例说明,本发明实施例提供的嵌入式设备启动方法如图1所示包括下列主要步骤:
步骤101:嵌入式设备在boot(引导)阶段搜索整个存储器,获取每个操作系统文件的内核起始地址和文件系统起始地址,通过对搜索到的内核部分和文件系统部分校验,获取标识内核部分是否可用的第一标识信息和标识文件系统部分是否可用的第二标识信息,并将获取的上述信息写到操作系统文件状态信息表。
此处内核起始地址和文件系统起始地址指位于存储器中起始地址。
boot启动是从flash驱动中获取flash的扇区信息,从第0个扇区开始搜索嵌入式设备操作系统文件头特定的幻数,在不同的扇区搜索到与操作系统文件相关的特定的幻数。然后按照特定的操作系统文件头定义从操作系统文件头中读出文件的类型,判断该类型为正确的操作系统文件类型。接着对操作系统文件头进行校验,判断该操作系统文件头为正确的操作系统文件头,从操作系统文件头中读出搜索到的操作系统文件的内核的起始地址和文件系统起始地址,将这些信息保存到操作系统文件状态信息表中。最后分别对各操作系统文件内核和文件系统的内容进行校验,将每个操作系统文件的第一标识信息和第二标识信息,即校验结果也保存在状态信息表中。本实施例优选方案为先校验第一个操作系统文件的内核和文件系统,再校验第二个操作系统文件的内核和文件系统。当然也可以先校验第一个操作系统文件的内核,再校验第二个操作系统文件的内核,再校验第一个操作系统文件的文件系统,再校验第二个操作系统文件的文件系统。
步骤102:根据获取的第一标识信息和第二标识信息确定第一个操作系统文件和第二个操作系统文件均无法实现设备正常启动,第一个操作系统文件中文件系统1可用,第二个操作系统文件中内核2可用。
操作系统文件状态信息表中的信息包括对应第一个操作系统文件中内核1的第一标识信息、对应第一个操作系统文件中文件系统1的第二标识信息,对应第二个操作系统文件中内核2的第一标识信息、对应第二个操作系统文件中文件系统2的第二标识信息。
通过分析对应内核1的第一标识信息、对应文件系统1的第二标识信息判断第一个操作系统文件是否可以单独运行,通过分析对应内核2的第一标识信息、对应文件系统2的第二标识信息判断第二个操作系统文件是否可以单独运行。如果有操作系统文件能够单独运行就记下该操作系统文件的标号,此标号用来分别获取该操作系统文件的内核和文件系统的起始地址,用来单独运行该操作系统文件。
本实施例为每个操作系统文件都不具备单独运行的条件,即检查结果为各操作系统文件均被破坏,就首先从操作系统文件状态信息表中的对应内核1的第一标识信息开始检查,若检查到有第一标识信息标识内核可用,则记下该内核的标号,此标号用来获取该内核的起始地址;接着从操作系统文件状态信息中的对应文件1的第二标识信息开始检查,若检查到有第二标识信息标识文件系统可用,则记下该文件系统的标号,此标号用来获取该文件系统的起始地址。通过上述的步骤可以分别获取到内核和文件系统的起始地址。
根据本实施例预设定的条件,第一个操作系统文件的内核被破坏、第二个操作系统文件的文件系统被破坏,校验第一个操作系统文件得出:第一个操作系统文件中内核不可用、文件系统可用,即第一个操作系统文件对应的第一标识信息为不可用,第二标识信息为可用,内核和文件系统不是都可用的,即第一个操作系统文件不具备单独启动的条件;校验第二个操作系统文件得出:第二个操作系统文件中内核可用、文件系统不可用,内核和文件系统不是都可用的,即第二个操作系统文件也不具备单独启动的条件。具体过程是,首先从状态信息表中读每个操作系统文件的第一标识信息,得出第二个操作系统文件的内核2可用,记下内核2的编号为2;接着从状态信息表中读每个操作系统文件的第二标识信息,得出第一个操作系统文件的文件系统1可用,记下文件系统1的编号为1。
步骤103:将第一个操作系统文件中文件系统1的起始地址存放在内存的固定地址ADDR,并根据获取的第二个操作系统文件内核2的起始地址启动内核2。
根据第二个操作系统文件内核2的起始地址从存储器flash上读取该内核部分并解压到内存中运行。具体过程为:启动的内核编号为2,挂载的文件系统的编号为1。首先从操作系统文件状态信息表中读出编号为2的内核的起始地址和编号为1的文件系统的起始地址。将文件系统1的起始地址保存在内存中的特定区域,以便于运行到内核阶段的时候会从该地址(内存中的特定区域)读出文件系统1的起始地址。接着按照编号为2的内核的起始地址从存储器中读出内核部分解压到内存中运行。
步骤104:根据固定地址ADDR读取文件系统1的起始地址,解析文件系统1隶属的MTD(memory technology device内存技术设备)块,内核2启动的最后一步将该MTD块作为文件系统挂载起来。
本步骤是实际是一个启动内核2并将文件系统1挂载起来的步骤,内核2将文件系统1的起始地址与各个MTD块的起始地址做比较,得出与文件系统1具有相同起始地址的MTD块的MTD号。内核2启动的最后一步,就会根据得到的MTD号,将该MTD块作为文件系统挂载起来,即将文件系统1挂载起来,经过上述步骤就可以将设备正常启动起来。本实施例中内核2启动的最后一步将文件系统1挂载起来替代现有技术中内核2启动的最后一步将文件系统2挂载起来。
通过本发明实施例提供的方案可知,在嵌入式设备中的双操作系统文件的不同部分被破坏的情况下,例如,第一个操作系统文件的内核被破坏、第二个操作系统文件的文件系统被破坏,仍能够通过运行多个操作系统文件的不同的可用部分,保证嵌入式设备的正常运行,这样就可以在一定程度上避免,每个操作系统文件都不具备单独运行的这种条件下,嵌入式设备必定无法正常运行的问题。
本发明第二实施例提供了一种嵌入式设备,如图2所示,包括:
检测模块201,用于对各用于单独启动嵌入式设备的操作系统文件进行检查,操作系统文件包括内核部分和文件系统部分;
启动模块202,用于若检查结果为各操作系统文件均被破坏,且能够从各操作系统文件中获取可用的内核部分和可用的文件系统部分,则启动一个可用的内核部分并将一个可用的文件系统挂载起来实现设备正常启动。
进一步,启动模块202,还用于在一个可用的内核部分启动的最后一步将一个可用的文件系统挂载起来,实现设备正常启动。
进一步,还包括:生成模块203,用于对操作系统文件进行检查之后生成操作系统文件状态信息,根据所述操作系统文件状态信息检查各操作系统文件均被破坏,且从各操作系统文件中获取可用的内核部分和可用的文件系统部分。
进一步,检测模块201,还用于在boot启动过程中根据操作系统文件状态信息对操作系统文件进行检查,操作系统文件状态信息包括标识内核部分是否可用的第一标识信息、标识文件系统部分是否可用的第二标识信息、内核部分起始地址和文件系统部分起始地址,读取各操作系统文件内核部分起始地址和文件系统部分起始地址,并根据第一标识信息和第二标识信息对各操作系统文件内核部分和文件系统部分进行校验确定可用的内核部分和可用的文件系统部分。
进一步,启动模块202,还用于将实现设备正常启动的文件系统部分的起始地址与各MTD块的起始地址进行比较,将具有相同起始地址的MTD块作为可用的文件系统挂载起来。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1、一种嵌入式设备启动方法,其特征在于,包括:
对各用于单独启动嵌入式设备的操作系统文件进行检查,操作系统文件包括内核部分和文件系统部分;
若检查结果为各操作系统文件均被破坏,且能够从各操作系统文件中获取可用的内核部分和可用的文件系统部分,则启动一个可用的内核部分并将一个可用的文件系统挂载起来实现设备正常启动。
2、如权利要求1所述的方法,其特征在于,在一个可用的内核部分启动的最后一步将一个可用的文件系统挂载起来,实现设备正常启动。
3、如权利要求1所述的方法,其特征在于,还包括对操作系统文件进行检查之后生成操作系统文件状态信息,根据所述操作系统文件状态信息检查各操作系统文件均被破坏,且从各操作系统文件中获取可用的内核部分和可用的文件系统部分。
4、如权利要求3所述的方法,其特征在于,操作系统文件状态信息包括标识内核部分是否可用的第一标识信息、标识文件系统部分是否可用的第二标识信息、内核部分起始地址和文件系统部分起始地址,在引导启动过程中根据操作系统文件状态信息对操作系统文件进行检查,读取各操作系统文件内核部分起始地址和文件系统部分起始地址,并根据第一标识信息和第二标识信息对各操作系统文件内核部分和文件系统部分进行校验确定可用的内核部分和可用的文件系统部分。
5、如权利要求4所述的方法,其特征在于,将实现设备正常启动的文件系统部分的起始地址与各内存技术设备MTD块的起始地址进行比较;
将具有相同起始地址的MTD块作为可用的文件系统挂载起来。
6、一种嵌入式设备,其特征在于,包括:
检测模块,用于对各用于单独启动嵌入式设备的操作系统文件进行检查,操作系统文件包括内核部分和文件系统部分;
启动模块,用于若检查结果为各操作系统文件均被破坏,且能够从各操作系统文件中获取可用的内核部分和可用的文件系统部分,则启动一个可用的内核部分并将一个可用的文件系统挂载起来实现设备正常启动。
7、如权利要求6所述的设备,其特征在于,启动模块,还用于在一个可用的内核部分启动的最后一步将一个可用的文件系统挂载起来,实现设备正常启动。
8、如权利要求6所述的设备,其特征在于,还包括:生成模块,对操作系统文件进行检查之后生成操作系统文件状态信息,根据所述操作系统文件状态信息检查各操作系统文件均被破坏,且从各操作系统文件中获取可用的内核部分和可用的文件系统部分。
9、如权利要求8所述的设备,其特征在于,检测模块,还用于在引导启动过程中根据操作系统文件状态信息对操作系统文件进行检查,操作系统文件状态信息包括标识内核部分是否可用的第一标识信息、标识文件系统部分是否可用的第二标识信息、内核部分起始地址和文件系统部分起始地址,读取各操作系统文件内核部分起始地址和文件系统部分起始地址,并根据第一标识信息和第二标识信息对各操作系统文件内核部分和文件系统部分进行校验确定可用的内核部分和可用的文件系统部分。
10、如权利要求9所述的设备,其特征在于,启动模块,还用于将实现设备正常启动的文件系统部分的起始地址与各内存技术设备MTD块的起始地址进行比较,将具有相同起始地址的MTD块作为可用的文件系统挂载起来。
CN200910204360.2A 2009-10-19 2009-10-19 一种嵌入式设备及其启动方法 Active CN101673211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910204360.2A CN101673211B (zh) 2009-10-19 2009-10-19 一种嵌入式设备及其启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910204360.2A CN101673211B (zh) 2009-10-19 2009-10-19 一种嵌入式设备及其启动方法

Publications (2)

Publication Number Publication Date
CN101673211A true CN101673211A (zh) 2010-03-17
CN101673211B CN101673211B (zh) 2014-07-16

Family

ID=42020445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910204360.2A Active CN101673211B (zh) 2009-10-19 2009-10-19 一种嵌入式设备及其启动方法

Country Status (1)

Country Link
CN (1) CN101673211B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736932A (zh) * 2012-05-16 2012-10-17 上海斐讯数据通信技术有限公司 镜像文件、镜像文件的制作方法及多系统的启动引导方法
CN103559057A (zh) * 2013-11-06 2014-02-05 广东小天才科技有限公司 一种嵌入式系统加载启动方法及装置
CN104657236A (zh) * 2015-03-11 2015-05-27 深圳市新岸通讯技术有限公司 基于32位MCU的嵌入式Linux文件系统及其运行方法
CN104679503A (zh) * 2013-11-28 2015-06-03 京瓷办公信息系统株式会社 电子设备、以及电子设备的启动方法
CN105677409A (zh) * 2015-12-31 2016-06-15 中科创达软件股份有限公司 一种系统升级方法及装置
CN106843192A (zh) * 2016-12-30 2017-06-13 北京中油瑞飞信息技术有限责任公司 控制器的系统启动方法及装置
CN109766140A (zh) * 2018-12-19 2019-05-17 青岛海信宽带多媒体技术有限公司 一种机顶盒启动异常的定位方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529239A (zh) * 2003-09-28 2004-09-15 中兴通讯股份有限公司 嵌入式设备文件系统的容错处理方法
US20050228769A1 (en) * 2004-04-12 2005-10-13 Satoshi Oshima Method and programs for coping with operating system failures
CN101266581A (zh) * 2008-04-18 2008-09-17 无敌科技(西安)有限公司 具有磁盘保护功能的电子装置及其保护方法
CN101441576A (zh) * 2009-01-08 2009-05-27 杭州华三通信技术有限公司 一种嵌入式设备软件重启的方法及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529239A (zh) * 2003-09-28 2004-09-15 中兴通讯股份有限公司 嵌入式设备文件系统的容错处理方法
US20050228769A1 (en) * 2004-04-12 2005-10-13 Satoshi Oshima Method and programs for coping with operating system failures
CN101266581A (zh) * 2008-04-18 2008-09-17 无敌科技(西安)有限公司 具有磁盘保护功能的电子装置及其保护方法
CN101441576A (zh) * 2009-01-08 2009-05-27 杭州华三通信技术有限公司 一种嵌入式设备软件重启的方法及设备

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736932A (zh) * 2012-05-16 2012-10-17 上海斐讯数据通信技术有限公司 镜像文件、镜像文件的制作方法及多系统的启动引导方法
CN102736932B (zh) * 2012-05-16 2015-12-16 上海斐讯数据通信技术有限公司 镜像文件、镜像文件的制作方法及多系统的启动引导方法
CN103559057A (zh) * 2013-11-06 2014-02-05 广东小天才科技有限公司 一种嵌入式系统加载启动方法及装置
CN103559057B (zh) * 2013-11-06 2016-10-12 广东小天才科技有限公司 一种嵌入式系统加载启动方法及装置
CN104679503A (zh) * 2013-11-28 2015-06-03 京瓷办公信息系统株式会社 电子设备、以及电子设备的启动方法
CN104679503B (zh) * 2013-11-28 2018-05-04 京瓷办公信息系统株式会社 电子设备、以及电子设备的启动方法
CN104657236A (zh) * 2015-03-11 2015-05-27 深圳市新岸通讯技术有限公司 基于32位MCU的嵌入式Linux文件系统及其运行方法
CN105677409A (zh) * 2015-12-31 2016-06-15 中科创达软件股份有限公司 一种系统升级方法及装置
CN105677409B (zh) * 2015-12-31 2019-02-05 中科创达软件股份有限公司 一种系统升级方法及装置
CN106843192A (zh) * 2016-12-30 2017-06-13 北京中油瑞飞信息技术有限责任公司 控制器的系统启动方法及装置
CN106843192B (zh) * 2016-12-30 2018-12-28 北京中油瑞飞信息技术有限责任公司 控制器的系统启动方法及装置
CN109766140A (zh) * 2018-12-19 2019-05-17 青岛海信宽带多媒体技术有限公司 一种机顶盒启动异常的定位方法及装置

Also Published As

Publication number Publication date
CN101673211B (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
CN101673211B (zh) 一种嵌入式设备及其启动方法
US8745443B2 (en) Memory system
US5953742A (en) Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism
CN101558452B (zh) 用于在闪速eeprom存储页中重构可靠性数据的方法和装置
CN102804146A (zh) 跟踪存储器件内的错误数据的系统和方法
CN101551780B (zh) 一种电视机及其数据存储方法、装置
CN101706822B (zh) 提高挂载日志式文件系统速度的方法及设备
CN101944115A (zh) 一种日志搜索方法和系统
CN103858107A (zh) 安全恢复装置和方法
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
CN109496292B (zh) 一种磁盘管理方法、磁盘管理装置及电子设备
CN104461783A (zh) 一种跟踪扇区数据变化虚拟机备份方法
CN109491819A (zh) 一种诊断服务器故障的方法和系统
CN110223127A (zh) 票据数据回退方法和系统
CN102609275A (zh) Bios更新系统及其方法
CN100437504C (zh) 硬盘数据备份系统及方法
CN1936853A (zh) 嵌入式设备的数据掉电保护和修复方法
CN101794261A (zh) 映射表数据恢复方法及装置
CN108804026B (zh) 一种固态硬盘全盘扫描方法及固态硬盘
CN103197999A (zh) 一种内存故障自动定位方法及装置
CN101477484A (zh) 一种恢复被破坏主引导程序的方法及设备
CN105589733A (zh) 一种数据处理方法和装置
CN103049298A (zh) 一种Nandflash烧写方法
CN1885425B (zh) 用于可移动媒体的系统及相应方法
CN108170456B (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
C14 Grant of patent or utility model
GR01 Patent grant