CN103761124B - 用于保护测控装置的嵌入式Linux系统启动方法 - Google Patents
用于保护测控装置的嵌入式Linux系统启动方法 Download PDFInfo
- Publication number
- CN103761124B CN103761124B CN201410004153.3A CN201410004153A CN103761124B CN 103761124 B CN103761124 B CN 103761124B CN 201410004153 A CN201410004153 A CN 201410004153A CN 103761124 B CN103761124 B CN 103761124B
- Authority
- CN
- China
- Prior art keywords
- storage medium
- startup
- starts
- program
- flash
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种用于保护测控装置的嵌入式Linux系统启动方法,包括Uboot启动、Linux内核启动和文件系统启动;该启动方法应用于中低压保护测控装置,使用了多种存储介质启动,并能自动调用次优先级的启动存储介质重新加载该阶段启动程序,即使在出现启动异常的情况下,如启动文件丢失、损坏,存储介质损坏等,能够确保测控装置系统的正常启动和运行。
Description
技术领域
本发明涉及用于保护测控装置的嵌入式Linux系统启动方法。
背景技术
随着嵌入式系统的广泛普及,尤其是在一些工业控制和电力电网行业中的应用,对嵌入式系统的稳定性提出了很高的要求,尤其是系统的启动阶段。一般嵌入式设备的系统都是存储在Flash中的,由于Flash易产生坏块而导致设备启动时系统加载异常,正是基于这种背景下,提出了一种应用于电力系统保护测控领域的嵌入式Linux系统启动方法。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种种用于保护测控装置的嵌入式Linux系统启动方法。
本发明解决其技术问题所采用的技术方案是:一种用于保护测控装置的嵌入式Linux系统启动方法,包括以下步骤:
1)测控装置CPU的初始bootloader程序从flash存储介质固定区域检索并读取启动标记列表的Uboot程序启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动;
2)Uboot程序初始化启动标志,接着从flash存储介质固定区域检索并读取启动标记列表的Linux内核启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动,Uboot程序从所选择的存储介质加载Linux内核并启动,Linux内核设置Uboot程序的启动标志为正常,且复位Linux内核的启动标志为初始状态;
3)Linux内核启动后从flash启动存储介质固定区域检索并读取启动标记列表的文件系统启动标记项,如果检索到的文件系统启动标记正确则从默认启动级别的存储介质挂载该存储介质的文件系统,如果检索到的文件系统启动标记错误则选择次优先级的存储介质挂载该存储介质的文件系统,直到文件系统分区被Linux内核成功挂载,成功挂载后设置Linux内核的启动标志为正常,启动完成。
按上述方案,该嵌入式Linux系统启动方法的flash存储介质支持Nand flash、Spiflash和Nor flash。
按上述方案,所述flash存储的启动标记列表用于标示着三个启动阶段从不同存储介质成功启动标记,系统按照存储介质对应的优先级顺序启动,分别由上一启动阶段程序读取和下一启动阶段程序置位,而由本阶段启动程序复位,当某一启动阶段出错,则系统通过外置看门狗复位系统上电重启,选择次优先级的启动存储介质重新加载该阶段启动程序。
按上述方案,步骤1)中在初始bootloader程序启动时先用ECC算法校验该flash存储介质固定区域,校验成功后在所有的存储介质同步拷贝启动标记列表。
本发明产生的有益效果是:该启动方法应用于中低压保护测控装置,使用了多种存储介质启动,并能自动调用次优先级的启动存储介质重新加载该阶段启动程序,即使在出现启动异常的情况下,如启动文件丢失、损坏,存储介质损坏等,能够确保测控装置系统的正常启动和运行。
附图说明
图1为本发明测控装置嵌入式系统结构示意图;
图2为Uboot、内核及文件系统在各存储介质上的启动优先级示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参见图1-图2,测控装置嵌入式系统启动需要依次经过3个阶段分别为:uboot启动、内核启动和文件系统启动,启动的任何阶段出现问题都不能完成后续启动;
本发明提供一种用于保护测控装置的嵌入式Linux系统启动方法,包括以下步骤:
1)测控装置CPU的初始bootloader程序从Nand flash固定区域检索并读取启动标记列表的Uboot程序启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动;
2)Uboot程序初始化启动标志,接着从Nand flash固定区域检索并读取启动标记列表的Linux内核启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动,Uboot程序从所选择的存储介质加载Linux内核并启动,Linux内核设置Uboot程序的启动标志为正常,且复位Linux内核的启动标志为初始状态;
3)Linux内核启动后从Nand flash固定区域检索并读取启动标记列表的文件系统启动标记项,如果检索到的文件系统启动标记正确则从默认启动级别的存储介质挂载该存储介质的文件系统,如果检索到的文件系统启动标记错误则选择次优先级的存储介质挂载该存储介质的文件系统,直到文件系统分区被Linux内核成功挂载,成功挂载后设置Linux内核的启动标志为正常,启动完成。
嵌入式Linux系统启动方法的flash存储介质支持Nand flash、Spi flash和Norflash。
进一步的,CPU的初始bootloader程序从Nand flash固定区域检索启动标记列表的uboot启动标记项,标记正确则从默认启动级别的存储介质启动,标记错误则选择次优先级的存储介质启动;flash存储的启动标记列表用于标示着三个启动阶段从不同存储介质成功启动标记,系统按照存储介质对应的优先级顺序启动,分别由上一启动阶段程序读取和下一启动阶段程序置位,而由本阶段启动程序复位,当某一启动阶段出错,则系统通过外置看门狗复位系统上电重启,选择次优先级的启动存储介质重新加载该阶段启动程序;如Uboot程序从nand flash启动出错,则启动标记列表的Uboot程序的nand_flag标志复位为初始状态且未被Linux内核设置为正常启动状态,Linux系统通过外置看门狗复位系统上电重启,bootloader程序读到Uboot程序启动标志为非正常,选择次优先级的nor flash方式加载uboot。
为了防止存放启动标记列表的flash区出现坏块,在步骤1)中初始bootloader程序启动时先用ECC算法校验该flash存储介质固定区域,并且在不同的存储介质同步多分拷贝。
bootloader程序的说明:bootloader程序是装置系统CPU启动后最先开始执行的程序,负责初始化工作和加载Uboot程序。
Uboot程序的说明:Uboot是一个带交互式功能的程序,负责外围硬件的初始化,加载Linux内核和文件系统到存储介质,引导Linux内核启动。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。以上内容是结合具体的实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属的技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (3)
1.用于保护测控装置的嵌入式Linux 系统启动方法,其特征在于:其包括以下步骤:
步骤1)、测控装置CPU 的初始bootloader 程序从flash 存储介质固定区域检索并读取启动标记列表的Uboot 程序启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动,其中,基于flash 存储的启动标记列表用于标示着三个启动阶段从不同存储介质成功启动标记,系统按照存储介质对应的优先级顺序启动,分别由上一启动阶段程序读取和下一启动阶段程序置位,而由本阶段启动程序复位,当某一启动阶段出错,则系统通过外置看门狗复位系统上电重启,选择次优先级的启动存储介质重新加载该阶段启动程序;
步骤2)、Uboot 程序初始化启动标志,接着从flash 存储介质固定区域检索并读取启动标记列表的Linux 内核启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动,Uboot 程序从所选择的存储介质加载Linux 内核并启动,Linux 内核设置Uboot 程序的启动标志为正常,且复位Linux内核的启动标志为初始状态;
步骤3)、Linux 内核启动后从flash 启动存储介质固定区域检索并读取启动标记列表的文件系统启动标记项,如果检索到的文件系统启动标记正确则从默认启动级别的存储介质挂载该存储介质的文件系统,如果检索到的文件系统启动标记错误则选择次优先级的存储介质挂载该存储介质的文件系统,直到文件系统分区被Linux 内核成功挂载,成功挂载后设置Linux 内核的启动标志为正常,启动完成。
2.根据权利要求1 所述的用于保护测控装置的嵌入式Linux 系统启动方法,其特征在于:该嵌入式Linux 系统启动方法的flash 存储介质支持Nand flash、Spi flash 和Norflash。
3.根据权利要求1 所述的用于保护测控装置的嵌入式Linux 系统启动方法,其特征在于:在初始bootloader 程序启动时先用ECC 算法校验该flash 存储介质固定区域,校验成功后在所有的存储介质同步拷贝启动标记列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410004153.3A CN103761124B (zh) | 2014-01-06 | 2014-01-06 | 用于保护测控装置的嵌入式Linux系统启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410004153.3A CN103761124B (zh) | 2014-01-06 | 2014-01-06 | 用于保护测控装置的嵌入式Linux系统启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761124A CN103761124A (zh) | 2014-04-30 |
CN103761124B true CN103761124B (zh) | 2017-03-01 |
Family
ID=50528368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410004153.3A Active CN103761124B (zh) | 2014-01-06 | 2014-01-06 | 用于保护测控装置的嵌入式Linux系统启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761124B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035776B (zh) * | 2014-06-23 | 2017-05-17 | 成都万维图新信息技术有限公司 | 一种操作系统的启动方法 |
CN104063477B (zh) * | 2014-06-30 | 2017-08-29 | 广东威创视讯科技股份有限公司 | 嵌入式系统启动异常的处理方法及装置 |
CN104166561B (zh) * | 2014-07-25 | 2017-11-07 | 深圳市大迈科技有限公司 | 电子设备系统启动方法和电子设备 |
CN105786547A (zh) * | 2014-12-26 | 2016-07-20 | 中兴通讯股份有限公司 | 一种实现操作系统重启的方法和装置 |
CN106293719A (zh) * | 2016-08-02 | 2017-01-04 | 浪潮集团有限公司 | 一种U‑Boot下基于链表的多设备快速启动系统及其方法 |
CN106445737B (zh) * | 2016-09-12 | 2023-03-10 | 恒为科技(上海)股份有限公司 | 一种多备份启动方法 |
CN107479932A (zh) * | 2017-08-21 | 2017-12-15 | 长沙曙通信息科技有限公司 | 一种数据系统加载运行实现方法 |
WO2020113469A1 (zh) * | 2018-12-05 | 2020-06-11 | 深圳市欢太科技有限公司 | 开机检测方法、开机检测装置及移动终端 |
CN109783150A (zh) * | 2019-01-31 | 2019-05-21 | 深兰科技(上海)有限公司 | 一种嵌入式系统启动防砖方法及装置 |
CN109815061A (zh) * | 2019-01-31 | 2019-05-28 | 深兰科技(上海)有限公司 | 一种嵌入式系统防砖的方法、装置、设备和介质 |
CN112000382B (zh) * | 2020-08-26 | 2023-10-13 | 绿盟科技集团股份有限公司 | 一种Linux系统启动方法、装置及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1975836A3 (en) * | 2007-03-30 | 2008-11-26 | Intel Corporation | Server active management technology (AMT) assisted secure boot |
CN101645047A (zh) * | 2009-09-02 | 2010-02-10 | 深圳市共进电子有限公司 | 一种基于嵌入式系统的保护闪存数据安全性和完整性的方法 |
CN101751273A (zh) * | 2008-12-15 | 2010-06-23 | 中国科学院声学研究所 | 用于嵌入式系统的安全引导装置及方法 |
CN102999422A (zh) * | 2012-11-06 | 2013-03-27 | 太仓市同维电子有限公司 | 一种高效嵌入式系统调试方法 |
-
2014
- 2014-01-06 CN CN201410004153.3A patent/CN103761124B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1975836A3 (en) * | 2007-03-30 | 2008-11-26 | Intel Corporation | Server active management technology (AMT) assisted secure boot |
CN101751273A (zh) * | 2008-12-15 | 2010-06-23 | 中国科学院声学研究所 | 用于嵌入式系统的安全引导装置及方法 |
CN101645047A (zh) * | 2009-09-02 | 2010-02-10 | 深圳市共进电子有限公司 | 一种基于嵌入式系统的保护闪存数据安全性和完整性的方法 |
CN102999422A (zh) * | 2012-11-06 | 2013-03-27 | 太仓市同维电子有限公司 | 一种高效嵌入式系统调试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103761124A (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761124B (zh) | 用于保护测控装置的嵌入式Linux系统启动方法 | |
US8423991B2 (en) | Embedded network device and firmware upgrading method | |
CN104572229B (zh) | 嵌入式系统的固件升级方法以及固件升级装置 | |
US10860302B2 (en) | Memory-efficient upgrade staging | |
US9569622B2 (en) | Self-measuring nonvolatile memory device systems and methods | |
US10068661B2 (en) | Post package repair (PPR) data in non-volatile memory | |
CN104063477B (zh) | 嵌入式系统启动异常的处理方法及装置 | |
US20140310698A1 (en) | Apparatus and method for upgrading firmware of mobile terminal | |
US20110283274A1 (en) | Firmware image update and management | |
CN106775610A (zh) | 一种电子设备启动方法及一种电子设备 | |
WO2015176433A1 (zh) | 一种基于分区表的硬盘修复方法及装置 | |
TW201207731A (en) | Embedded system with plural firmware and firmware updating method thereof | |
CN105607972B (zh) | 一种异常修复的方法及装置 | |
US8826080B2 (en) | Methods and systems for preboot data verification | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
CN108874582A (zh) | 一种系统恢复方法、装置及终端 | |
US9183139B2 (en) | Mainboard and method of backing up of baseboard management controller | |
WO2019144621A1 (zh) | 一种获取uefi os启动项的方法、装置及服务器 | |
CN105550071B (zh) | 系统文件升级及检测方法、通信设备 | |
US9786373B2 (en) | EEPROM backup method and device | |
CN109375953B (zh) | 一种操作系统启动方法及装置 | |
JP6861739B2 (ja) | 組み込み装置及びファームウェア更新方法 | |
CN102122258A (zh) | 嵌入式设备文件系统受损的修复方法 | |
CN108647119A (zh) | Linux系统的启动方法、装置及设备 | |
WO2018041151A1 (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 |