用于保护测控装置的嵌入式Linux系统启动方法

文档序号:6534886阅读:158来源:国知局
用于保护测控装置的嵌入式Linux系统启动方法
【专利摘要】本发明公开了一种用于保护测控装置的嵌入式Linux系统启动方法,包括Uboot启动、Linux内核启动和文件系统启动;该启动方法应用于中低压保护测控装置,使用了多种存储介质启动,并能自动调用次优先级的启动存储介质重新加载该阶段启动程序,即使在出现启动异常的情况下,如启动文件丢失、损坏,存储介质损坏等,能够确保测控装置系统的正常启动和运行。
【专利说明】用于保护测控装置的嵌入式Linux系统启动方法
【技术领域】
[0001]本发明涉及用于保护测控装置的嵌入式Linux系统启动方法。
【背景技术】
[0002]随着嵌入式系统的广泛普及,尤其是在一些工业控制和电力电网行业中的应用,对嵌入式系统的稳定性提出了很高的要求,尤其是系统的启动阶段。一般嵌入式设备的系统都是存储在Flash中的,由于Flash易产生坏块而导致设备启动时系统加载异常,正是基于这种背景下,提出了一种应用于电力系统保护测控领域的嵌入式Linux系统启动方法。

【发明内容】

[0003]本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种种用于保护测控装置的嵌入式Linux系统启动方法。
[0004]本发明解决其技术问题所采用的技术方案是:一种用于保护测控装置的嵌入式Linux系统启动方法,包括以下步骤:
1)测控装置CPU的初始bootloader程序从flash存储介质固定区域检索并读取启动标记列表的Uboot程序启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动;
2)Uboot程序初始化启动标志,接着从flash存储介质固定区域检索并读取启动标记列表的Linux内核启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动,Uboot程序从所选择的存储介质加载Linux内核并启动,Linux内核设置Uboot程序的启动标志为正常,且复位Linux内核的启动标志为初始状态;
3)Linux内核启动后从flash启动存储介质固定区域检索并读取启动标记列表的文件系统启动标记项,如果检索到的文件系统启动标记正确则从默认启动级别的存储介质挂载该存储介质的文件系统,如果检索到的文件系统启动标记错误则选择次优先级的存储介质挂载该存储介质的文件系统,直到文件系统分区被Linux内核成功挂载,成功挂载后设置Linux内核的启动标志为正常,启动完成。
[0005]按上述方案,该嵌入式Linux系统启动方法的flash存储介质支持Nand flash、Spi flash 和 Nor flash。
[0006]按上述方案,所述flash存储的启动标记列表用于标示着三个启动阶段从不同存储介质成功启动标记,系统按照存储介质对应的优先级顺序启动,分别由上一启动阶段程序读取和下一启动阶段程序置位,而由本阶段启动程序复位,当某一启动阶段出错,则系统通过外置看门狗复位系统上电重启,选择次优先级的启动存储介质重新加载该阶段启动程序。
[0007]按上述方案,步骤I)中在初始bootloader程序启动时先用ECC算法校验该flash存储介质固定区域,校验成功后在所有的存储介质同步拷贝启动标记列表。[0008]本发明产生的有益效果是:该启动方法应用于中低压保护测控装置,使用了多种存储介质启动,并能自动调用次优先级的启动存储介质重新加载该阶段启动程序,即使在出现启动异常的情况下,如启动文件丢失、损坏,存储介质损坏等,能够确保测控装置系统的正常启动和运行。
【专利附图】

【附图说明】
[0009]图1为本发明测控装置嵌入式系统结构示意图;
图2为Uboot、内核及文件系统在各存储介质上的启动优先级示意图。
【具体实施方式】
[0010]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0011]参见图1-图2,测控装置嵌入式系统启动需要依次经过3个阶段分别为=Uboot启动、内核启动和文件系统启动,启动的任何阶段出现问题都不能完成后续启动;
本发明提供一种用于保护测控装置的嵌入式Linux系统启动方法,包括以下步骤:
1)测控装置CPU的初始bootloader程序从Nandflash固定区域检索并读取启动标记列表的Uboot程序启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动;
2)Uboot程序初始化启动标志,接着从Nandflash固定区域检索并读取启动标记列表的Linux内核启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动,Uboot程序从所选择的存储介质加载Linux内核并启动,Linux内核设置Uboot程序的启动标志为正常,且复位Linux内核的启动标志为初始状态;
3)Linux内核启动后从Nand flash固定区域检索并读取启动标记列表的文件系统启动标记项,如果检索到的文件系统启动标记正确则从默认启动级别的存储介质挂载该存储介质的文件系统,如果检索到的文件系统启动标记错误则选择次优先级的存储介质挂载该存储介质的文件系统,直到文件系统分区被Linux内核成功挂载,成功挂载后设置Linux内核的启动标志为正常,启动完成。
[0012]嵌入式Linux系统启动方法的flash存储介质支持Nand flash、Spi flash和Norflash。
[0013]进一步的,CPU的初始bootloader程序从Nand flash固定区域检索启动标记列表的uboot启动标记项,标记正确则从默认启动级别的存储介质启动,标记错误则选择次优先级的存储介质启动;flash存储的启动标记列表用于标示着三个启动阶段从不同存储介质成功启动标记,系统按照存储介质对应的优先级顺序启动,分别由上一启动阶段程序读取和下一启动阶段程序置位,而由本阶段启动程序复位,当某一启动阶段出错,则系统通过外置看门狗复位系统上电重启,选择次优先级的启动存储介质重新加载该阶段启动程序;如Uboot程序从nand flash启动出错,则启动标记列表的Uboot程序的nand_flag标志复位为初始状态且未被Linux内核设置为正常启动状态,Linux系统通过外置看门狗复位系统上电重启,bootloader程序读到Uboot程序启动标志为非正常,选择次优先级的norflash方式加载uboot。
[0014]为了防止存放启动标记列表的flash区出现坏块,在步骤I)中初始bootloader程序启动时先用ECC算法校验该flash存储介质固定区域,并且在不同的存储介质同步多分拷贝。
[0015]bootloader程序的说明:bootloader程序是装置系统CPU启动后最先开始执行的程序,负责初始化工作和加载Uboot程序。
[0016]Uboot程序的说明:Uboot是一个带交互式功能的程序,负责外围硬件的初始化,加载Linux内核和文件系统到存储介质,引导Linux内核启动。
[0017]应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。以上内容是结合具体的实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属的【技术领域】的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
【权利要求】
1.用于保护测控装置的嵌入式Linux系统启动方法,其特征在于:其包括以下步骤: 步骤I )、测控装置CPU的初始bootloader程序从flash存储介质固定区域检索并读取启动标记列表的Uboot程序启动标记项,如果检索到的标记正确则从默认启动级别的存储介质启动,如果检索到的标记错误则选择次优先级的存储介质启动; 步骤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系统启动方法,其特征在于:基于flash存储的启动标记列表用于标示着三个启动阶段从不同存储介质成功启动标记,系统按照存储介质对应的优先级顺序启动,分别由上一启动阶段程序读取和下一启动阶段程序置位,而由本阶段启动程序复位,当某一启动阶段出错,则系统通过外置看门狗复位系统上电重启,选择次优先级的启动存储介质重新加载该阶段启动程序。 如Uboot程序从nand flash启动出错,则启动标记列表的Uboot程序的nand_flag标志复位为初始状态且未被Linux内核设置为正常启动状态,Linux系统通过外置看门狗复位系统上电重启,bootloader程序读到Uboot程序启动标志为非正常,选择次优先级的norflash方式加载uboot。
4.根据权利要求1所述的用于保护测控装置的嵌入式系统启动方法,其特征在于:在初始bootloader程序启动时先用ECC算法校验该flash存储介质固定区域,校验成功后在所有的存储介质同步拷贝启动标记列表。
【文档编号】G06F9/445GK103761124SQ201410004153
【公开日】2014年4月30日 申请日期:2014年1月6日 优先权日:2014年1月6日
【发明者】卢伟, 刘长虎, 朱宝, 崔新友, 章文学, 易佳, 黄 俊 申请人:武汉烽火富华电气有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1