嵌入式系统启动异常的处理方法及装置制造方法及图纸

技术编号:10478852 阅读:150 留言:0更新日期:2014-09-25 16:52
一种嵌入式系统启动异常的处理方法及装置,通过在存储设备上设置多个内核和文件系统,在嵌入式系统不能正常启动时,根据启动标志判断出现异常的是当前内核所在的存储区域,还是当前文件系统所在的存储区域,然后即自动启动新的内核或文件系统,保证了嵌入式系统正常启动,而且本发明专利技术不影响嵌入式系统的性能,与其它异常处理方法不存在冲突,能够解决存储设备出现多个位错误和内核坏块等异常时,系统不能启动的问题,具有广泛的实用性。

【技术实现步骤摘要】
嵌入式系统启动异常的处理方法及装置
本专利技术涉及嵌入式系统
,特别是涉及一种嵌入式系统启动异常的处理方 法及装置。
技术介绍
嵌入式系统,例如linux操作系统,一般包括bootloader (引导程序)、kernel (内 核)和file system(文件系统),采用nand flash等作为其存储设备。 存储设备一般有擦写次数限制和位反转、坏块的可能,一旦存储设备出现问题时, 嵌入式系统将不能正常启动。目前一般采用以下方法解决系统不能正常启动的问题: 1、采用硬件ECC (Error Correcting Code,错误检查和纠正)或者软件ECC来进行 检测和纠正位反转; 2、采用坏块管理机制,对出现坏块的数据进行搬移。 但是上述ECC方法纠正的位数有限,一般只能纠正存储设备一个块中的一位或者 二位,若在一个块中出现多个位错误,现有的ECC方法将无法解决;搬移坏块的数据的方法 要求文件系统有复杂的算法,并且在内核出现坏块时,现有的坏块管理机制无法解决系统 不能启动的问题。
技术实现思路
基于此,有必要针对上述问题,提供一种嵌入式系统启动异常的处理方法及装置, 能够在存储设备出现多个位错误和内核出现坏块等异常情况时,保证嵌入式系统的正常启 动。 -种嵌入式系统启动异常的处理方法,包括步骤: 运行引导程序,读取异常标志和启动标志,根据启动标志确定是否增加异常标志 的次数,异常标志次数满足阈值且启动标志表示启动异常时,根据启动标志将标志位正常 的新的内核或文件系统作为当前内核或文件系统,其中异常标志表示当前内核和文件系统 是否正常,启动标志表示上次启动是否正常; 从参数区读取标志位正常的当前内核和文件系统,加载所述内核并将所述文件系 统的引导变量传给所述内核,设置所述启动标志; 运行内核,若内核运行出现异常,返回运行引导程序的步骤,否则在内核运行完成 时,设置所述启动标志,并通过引导程序传的环境变量加载文件系统; 运行文件系统,若文件系统运行出现异常,返回运行引导程序的步骤。 一种嵌入式系统启动异常的处理装置,包括: 引导程序运行模块,用于运行引导程序,读取异常标志和启动标志,根据启动标志 确定是否增加异常标志的次数,异常标志次数满足阈值且启动标志表示启动异常时,根据 启动标志将标志位正常的新的内核或文件系统作为当前内核或文件系统,其中异常标志表 示当前内核和文件系统是否正常,启动标志表示上次启动是否正常; 内核加载模块,用于从参数区读取标志位正常的当前内核和文件系统,加载所述 内核并将所述文件系统的引导变量传给所述内核,设置所述启动标志; 内核运行模块,用于运行内核,在内核运行出现异常时复位,在内核运行完成时设 置所述启动标志; 文件系统加载模块,用于通过引导程序传的环境变量加载文件系统; 文件系统运行模块,用于运行文件系统,在文件系统运行出现异常时复位。 本专利技术嵌入式系统启动异常的处理方法和装置,与现有技术相互比较时,具备以 下优点: 1、通过在存储设备上设置多个内核和文件系统,在嵌入式系统不能正常启动时, 根据启动标志判断出现异常的是当前内核所在的存储区域,还是当前文件系统所在的存储 区域,然后即自动启动新的内核或文件系统,保证嵌入式系统正常启动; 2、不影响嵌入式系统的性能,与其它异常处理方法不存在冲突,能够解决存储设 备出现多个位错误和内核坏块等异常时,系统不能启动的问题,具有广泛的实用性,能够较 大程度上保证系统的健壮性。 【附图说明】 图1为本专利技术方法实施例的流程示意图; 图2为本专利技术NAND FLASH实施例的区域划分示意图; 图3为本专利技术装置实施例的结构示意图。 【具体实施方式】 下面结合附图对本专利技术嵌入式系统启动异常的处理方法的【具体实施方式】做详细 描述。 如图1所示,一种嵌入式系统启动异常的处理方法,包括步骤: S110、运行引导程序,读取异常标志和启动标志,根据启动标志确定是否增加异常 标志的次数,异常标志次数满足阈值且启动标志表示启动异常时,根据启动标志将标志位 正常的新的内核或文件系统作为当前内核或文件系统,其中异常标志表示当前内核和文件 系统是否正常,启动标志表示上次启动是否正常; 存储设备设置有引导程序、多个内核、多个文件系统、参数区,各个内核相同,其所 在的存储空间大小可以不同,各个文件系统相同,其所在的存储空间大小可以不同;存储设 备还可以设置有一个内核和多个文件系统,或者多个内核和一个文件系统,不过一般仅能 解决文件系统所在的存储空间出现损坏,或者内核所在的存储空间出现损坏的问题; 参数区存储有各内核的标志位、各文件系统的标志位,用来表示各内核和文件系 统是否正常,还存储有表示当前内核和文件系统是否正常的异常标志e-flag,表示上次 是否正常启动的启动标志s-flag ;各内核和文件系统正常的标志位可以设为0,异常标志 位可以设置为1,也可由其他值表示各内核和文件系统的正常状态和异常状态;启动标志 s-flag为0时表示上次系统启动正常,也可以用其他数值标识启动标志的正常启动状态; 异常标志e-flag为0时表示当前使用的内核和文件系统正常,为其它数值时表示当前使用 的内核和文件系统异常,也可以用其他数值表示当前使用的内核和文件系统的正常状态; 设备上电时开始运行引导程序,若启动标志s-flag为0时表示上次系统启动正 常,则读取的启动标志为1或2等时,表示上次系统启动异常,即当前的内核和文件系统所 在的存储空间可能出现损坏,则增加异常标志的次数,例如将异常标志e-flag设置为1,每 次读取的启动标志不为〇时,就增加异常标志的次数; 为了避免由于其它原因造成的系统启动异常,而直接启动新的内核或文件系统, 同时也为了节省存储空间损坏时系统启动的时间,阈值可以设置为3?10次,例如将阈值 设置为5,那么当读取的异常标志的值为5,且启动标志表示启动不正常时,则启动新的内 核或文件系统; 异常标志为异常的次数满足阈值时,为了能够判断是当前内核所在的存储空间出 现损坏,还是文件系统所在的存储空间出现损坏,进而是启动新的内核还是新的文件系统, 需要设置标示内核和文件系统启动状态的不同的启动标识,例如启动标志为1时表示内核 损坏,启动标志为2时表示文件系统损坏,具体设置的流程详见步骤S120和步骤S140 ; S120、从参数区读取标志位正常的当前内核和文件系统,加载所述内核并将所述 文件系统的引导变量传给所述内核,设置所述启动标志; 此步骤的启动标志可以设置为1,也可以设置为其他数值; S130、运行内核,若内核运行出现异常,返回步骤S110,否则进入步骤S140 ; 若步骤S110中读取的启动标志为1,说明嵌入式系统并没有成功运行内核,内核 的存储空间可能损坏等; S140、在内核运行完成时,设置所述启动标志,并通过引导程序传的环境变量加载 文件系统; 此步骤的启动标志可以设置为2或其它数值,但是要与步骤S120中设置的启动标 志的值相区别,若嵌入式系统不能正常启动,本文档来自技高网...
嵌入式系统启动异常的处理方法及装置

【技术保护点】
一种嵌入式系统启动异常的处理方法,其特征在于,包括步骤:运行引导程序,读取异常标志和启动标志,根据启动标志确定是否增加异常标志的次数,异常标志次数满足阈值且启动标志表示启动异常时,根据启动标志将标志位正常的新的内核或文件系统作为当前内核或文件系统,其中异常标志表示当前内核和文件系统是否正常,启动标志表示上次启动是否正常;从参数区读取标志位正常的当前内核和文件系统,加载所述内核并将所述文件系统的引导变量传给所述内核,设置所述启动标志;运行内核,若内核运行出现异常,返回运行引导程序的步骤,否则在内核运行完成时,设置所述启动标志,并通过引导程序传的环境变量加载文件系统;运行文件系统,若文件系统运行出现异常,返回运行引导程序的步骤。

【技术特征摘要】
1. 一种嵌入式系统启动异常的处理方法,其特征在于,包括步骤: 运行引导程序,读取异常标志和启动标志,根据启动标志确定是否增加异常标志的次 数,异常标志次数满足阈值且启动标志表示启动异常时,根据启动标志将标志位正常的新 的内核或文件系统作为当前内核或文件系统,其中异常标志表示当前内核和文件系统是否 正常,启动标志表示上次启动是否正常; 从参数区读取标志位正常的当前内核和文件系统,加载所述内核并将所述文件系统的 引导变量传给所述内核,设置所述启动标志; 运行内核,若内核运行出现异常,返回运行引导程序的步骤,否则在内核运行完成时, 设置所述启动标志,并通过引导程序传的环境变量加载文件系统; 运行文件系统,若文件系统运行出现异常,返回运行引导程序的步骤。2. 根据权利要求1所述的嵌入式系统启动异常的处理方法,其特征在于,异常标志次 数满足阈值且启动标志表示启动异常时,根据启动标志将标志位正常的新的内核或文件系 统作为当前内核或文件系统的步骤之前,还包括步骤: 将当前内核或文件系统标志位设为异常,所述异常标志次数清零。3. 根据权利要求1所述的嵌入式系统启动异常的处理方法,其特征在于,运行引导程 序的步骤之后,读取异常标志和启动标志的步骤之前,还包括初始化看门狗的步骤。4. 根据权利要求1所述的嵌入式系统启动异常的处理方法,其特征在于,文件系统运 行完成时,还包括步骤: 将所述启动标志设置为启动正常,所述异常标志次数清零。5. 根据权利要求1至4任意一项所述的嵌入式系统启动异常的处理方法,其特征在于, 所述阈值为3...

【专利技术属性】
技术研发人员:谢胜陈全
申请(专利权)人:广东威创视讯科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1