一种嵌入式系统自动检测和恢复启动的方法及装置的制作方法

文档序号:6609944阅读:105来源:国知局
专利名称:一种嵌入式系统自动检测和恢复启动的方法及装置的制作方法
技术领域
本发明主要涉及嵌入式系统,尤其涉及一种嵌入式系统自动检测和恢复启 动的方法及装置。
背景技术
板级支持包(BSP, Board Support Package)文件在嵌入式系统初始化启 动过程中扮演着重要的角色,BSP文件存在专门的只读存储器(ROM)中, 并且要求它具有4艮高的可靠性。随着系统初始化(BOOT)程序功能的不断增 强,BSP文件的大小也将不断增加。目前,BSP文件升级的方法为在ROM中设置主存储区和备存储区,升 级过程中,先在备存储区中完成BSP文件的升级,然后以备存储区的BSP文 件进行启动,如果备存储区的BSP文件启动失败,设置标志,再次重新启动, 以恢复主存储区启动;如果备存储区的BSP文件启动成功,则将备存储区的 BSP文件更新到主存储区中。由于ROM器件的访问速度存在限制,在对BSP文件进行升级的过程中, 如果出现复位、掉电等故障,或者BSP文件所在的ROM空间位发生翻转等错 误,将会使BSP文件受到破坏,为了恢复被破坏的BSP文件,往往需要采用 专门的烧写工具重新对ROM进行烧写,完成对BSP文件的恢复。这种现有的 BSP文件自恢复技术除了具有成本高和不利于大批量产品维护的缺点夕卜,还存 在以下不足仅仅依靠定时器或者设置标志来被动地判断BSP文件启动是否失败,容 易导致误判。比如,依靠在BSP文件启动之后设置某种标志,通过判断该标 志是否置位来确定板卡是否启动正常,然而在实际使用嵌入式系统设备过程 中,用户有时会在启动阶段就对设备进行复位,这种复位将直接造成BSP文 件启动异常的误判,引起在主存储区和备存储区间不断倒换选择主、备存储区内的BSP文件,从而导致设备的多次频繁复位。被动地依靠各种标志或定时器来判断BSP文件启动是否正常,由于这种 判断过程中可能出现异常情况,因而容易导致BSP文件的误升级。例如,当 出现异常时,为了使系统能够切换到主存储区启动其内部的BSP文件,就需 要在备存储区的BSP文件中先设置标志;然后再次重启,复位以后,根据该 标志决定是否启动主存储区的BSP文件。这种方式存在问题包括当BSP文 件不能启动时,BSP文件将不能自动触发重启,从而需要手工对设备进行重启, 难于维护;另外,当借助外部定时器通过定时^r查来触发复位,这样虽然解决 了重启的触发条件,但由于每次启动定时器都需要做定时检查,加大了定时器 工作异常的概率,同时定时器的定时检查会增加对系统资源的长期占用。无法判断BSP文件是否因某种原因而损坏,更不能主动发现BSP文件本 身是否被破坏。例如文件在传输过程中被修改,或者存放在ROM中的BSP 文件由于ROM存储介质的损坏而被破坏。BSP文件占用了很大的存储区空间,限制了 BSP文件的可移植性,由于 BSP文件需要分别存储在主存储区和备存储区中,因此占用了较大的ROM存 储空间。如,嵌入式系统对于ROM的存储空间非常敏感,总是期望尽可能少 的占用ROM的存储空间。但是,随着BSP文件的功能越来越强大,BSP文件 所占空间也相应越来越大。不同的操作系统,BSP文件的大小也有区别,例如, 在嵌入式实时多任务操作系统(VxWorks)下,BSP文件的大小为1M左右, 而在Linux操作系统下,BSP文件的大小往往更大,使得对存储区的空间需求 就大,从而在一定意义上限制了 BSP文件的可移植性。最后,缺少相应的系统告警措施,它没有考虑对于在主存储区和备存储区 之间进行切换的后续告警处理,当发生版本回退等问题时,用户无法及时发现。发明内容有鉴于此,本发明的目的在于提供一种嵌入式系统自动检测和恢复启动的 方法及装置,该方法及装置达到了提高BSP文件升级的可靠性、减少对系统 资源的占用、以及提高系统的可维护性的目的。本发明提供了 一种嵌入式系统自动检测和恢复启动的方法,其特征在于,该嵌入式系统的存储区包括应用程序区、BSP板级支持包压缩程序区、BSP 主程序区和系统初始化程序区,该方法包4舌以下步骤A. 替换BSP主程序区中的BSP文件;B. 对替换后的BSP文件进行有效性;险测;C. 将通过有效性检测的BSP文件替换到BSP压缩程序区。 该方法所述步骤A包括Al.根据BSP文件计算出第二校验信息;A2.判断该BSP文件是否带有第一校验信息,如果是,进入步骤A3,否 则,进入步骤A4;A3.判断第一校验信息与第二校验信息是否匹配,如果是,进入步骤A4, 否则,进入步骤A5;A4.将BSP文件写入BSP主程序区,替换BSP主程序区中的原BSP文件;A5.确定BSP文件替换失败,上报告警信息。 该方法所述步骤A4与A5之间进一步包括根据写入BSP主程序区的BSP文件计算出第三校验信息,判断该第三校 验信息与第二校验信息是否匹配,如果是,确定BSP文件替换成功;否则, 进入步骤A5。该方法所述步骤B包括Bl.设置硬件复位相关资源标志,该标志包括BSP文件有效性检测标志 和请求版本回退标志;B2.进行硬件无关重启;B3.判断硬件复位相关资源标志类型是否为BSP文件有效性检测标志; 如果是,则进入步骤B4;否则,进入步骤B5;B4.进行BSP文件有效性检测,监控BSP文件的启动过程,进入步骤B6;B5.启动版本回退流程; B6.启动用户程序。该方法所述步骤B5与B6之间进一步包括判断BSP文件启动是否成功,如果是,进入步骤B6;否则,进入步骤Bl。该方法所述判断BSP文件启动是否成功前进一步包括 判断BSP文件是否完整,如果是,判断BSP文件启动是否成功;否则, 进入步骤B5。该方法所述步骤C包括Cl.判断BSP主程序区中的BSP文件是否完整,如果是,进入步骤C2; 否则,进入步骤C5;C2.启动监控机制,并运行该BSP文件;C3.判断该BSP文件启动运行是否正常,如果是,进入步骤C4;否则, 进入步骤C5;C4.记录正常启动该BSP文件的结果,将该BSP文件进行压缩,将压缩 后的BSP文件写入BSP压缩程序区;C5.确定该BSP文件出现异常,上报告警信息。 该方法所述步骤C5后进一步包括Dl.判断BSP压缩程序区是否存在BSP压缩文件,如果是,进入步骤 D2;否则,进入步骤D5;D2.对BSP压缩文件解压缩,启动运行解压缩后的BSP文件;D3.判断该BSP文件启动运行是否正常,如果是,进入步骤D4;否则, 进入步骤D5;D4.将解压缩后的BSP文件写入到BSP主程序区;D5.上报告警信息。该方法用于多处理器系统。该方法所述上报告警信息方式为分离式传递信息的启动阶段异常告警上 报方式,包括以下步骤将异常情况的信息通过全局变量或者内存,以预定格式记录,在用户程序 启动运行后,根据这些信息,以预定形式上净艮告警信息。本发明还提供了 一种嵌入式系统自动检测和恢复启动的装置,其特征在 于,包括BSP主程序区BSP文件替换模块、BSP文件有效性检测模块和BSP压缩 程序区BSP文件替换模块。该装置所述BSP主程序区BSP文件替换模块,用于根据BSP文件计算第 二校验信息,判断BSP文件是否带有第一校验信息,如果带有第一校验信息, 则进一步判断第一校验信息与第二校验信息是否匹配,如果匹配,则将BSP 文件写入BSP主程序区,替换BSP主程序区中的原BSP文件;如果不匹配, 则确定BSP文件替换失败,上报告警信息;该装置所述BSP文件有效性检测模块,用于设置硬件复位相关资源标志, 进行硬件无关重启,如果硬件复位相关资源标志类型为BSP文件有效性4企测 标志,则进行BSP文件有效性4企测,监控BSP文件的启动过程,启动用户程 序,上报告警信息;如果硬件复位相关资源标志类型为请求版本回退标志,则 启动版本回退流程;该装置所述BSP压缩程序区BSP文件替换模块,用于判断BSP主程序区 中的BSP文件是否完整,如果完整,则启动监控机制,并运行该BSP文件; 如果不完整,则确定该BSP文件出现异常,上报告警信息;在运行该BSP文 件时,判断该BSP文件启动运行是否正常,如果正常,记录正常启动该BSP 文件的结果,将该BSP文件进行压缩,将压缩后的BSP文件写入BSP压缩程 序区;如果不正常,则确定BSP主程序区中的BSP文件出现异常,上报告警 信息。该装置用于多处理器系统。本发明所述的一种嵌入式系统自动检测和恢复启动的方法及装置,达到的 有益效果如下采用主动检测BSP文件是否出现不完整或被破坏的方式,做到事先发现 问题,而不用等到程序执行异常之后才发现问题,避免了在下次启动时进行繁 瑣的异常判断。在事先发现问题的基础上,选择可用的BSP文件,避免出现 误判。从而较大地提高了 BSP文件的自我恢复能力,有效防止了升级失败导 致系统无法启动的问题,大大降低了使用专门工具烧写BSP文件的需求,提 高了 BSP文件升级的可靠性。采用主动检测和被动触发相结合的版本回退机制,只需在升级完成之后的第一次启动进行版本有效性检测,大大降低了对各种标志、定时器等检测手段的依赖。由于BSP文件功能相对简单,如果BSP文件完成了一次正常启动, 则只要该BSP文件内容没发生变化,其以后的每次执行都应该正常。因此, 在确认升级完成之后的第一次启动测试过程中,BSP升级文件能够正常启动, 则以后只要保证每次启动时4企测文件未被破坏,就可以保证程序的有效性。在 本发明中,在完成升级后的第一次启动过程中,先进4亍BSP文件完整性校验, 然后进行BSP文件的有效性检测。如果通过检查,则以后的每次启动只需进 行BSP文件完整性校验即可,而用于有效性检测的系统资源在以后的每次启 动中将不再使用,从而可以释放给其他程序使用,进而提高了 BSP的可移植 性,使该方法能够广泛用于数字信号处理器(DSP)或者一些外部资源较少的 系统。采用压缩方式存储备份BSP文件,降低了对ROM存储容量的要求。 采用分离式传递信息的启动阶段异常告警上报方式,向用户提供统一的告 警上报接口,从而不用关心用户的告警处理方式,提高了 BSP文件的可移植 性;该告警上报方式能够在启动执行过程中的任何阶段进行分离式告警上报, 如在版本回退或版本升级之后向用户上报告警,从而打破了原来不能在启动过 程中上报告警的限制,提高了系统的可维护性,同时为用户主动发起版本回退 提供了条件。采用硬件复位相关资源作为是否为有效性检测的标志,利用不同的复位方 式控制检测步骤的方法。避免了现有技术中BSP文件启动时因为人工复位或 断电引起的错误的版本回退操作,使操作更加简单可靠。


图1为本发明中嵌入式系统自动检测和恢复启动装置的结构框图; 图2为本发明具体实施例中ROM存储区域划分示意图; 图3为本发明具体实施例中BSP主程序区文件替换流程图; 图4为本发明具体实施例中BSP文件有效性检测流程图; 图5为本发明具体实施例中BSP主程序区与BSP压缩程序区互为冗余的 BSP文件替换流程图。
具体实施方式
本发明所述的嵌入式系统自动检测和恢复启动的方法,通过程序完整性校验验证BSP文件是否遭到破坏,通过程序有效性检测验证BSP文件是否存在 重大问题,利用分离式启动阶段告警方式将BSP文件的缺陷即启动过程中的 各种异常上报用户,并支持由用户主动触发的BSP文件版本回退。其中,导 致BSP文件版本回退的原因包括BSP文件存在重大缺陷;BSP文件本身因 为传输或存储介质的原因被破坏;BSP文件能正常启动,但对应于实现某些功 能的部分BSP文件存在缺陷。下面结合附图来说明本发明的具体实施方式
。图1为本发明中嵌入式系统自动检测和恢复启动装置的结构框图,图中嵌 入式系统自动检测和恢复启动装置1包括BSP主程序区BSP文件替换模块101,用于根据BSP文件计算第二校验信息,判断BSP文件是否带有第一校验信息,如果带有第一校验信息,则进 一步判断第一校验信息与第二校验信息是否匹配,如果匹配,则将BSP文件 写入BSP主程序区,替换BSP主程序区中的原BSP文件;如果不匹配,则确 定BSP文件替换失败,上报告警信息;BSP文件有效性检测模块102,用于设置硬件复位相关资源标志,进行硬 件无关重启,如果硬件复位相关资源标志类型为BSP文件有效性检测标志, 则进行BSP文件有效性检测,监控BSP文件的启动过程,启动用户程序,上 报告警信息;如果硬件复位相关资源标志类型为请求版本回退标志,则启动版 本回退流程;BSP压缩程序区BSP文件替换模块103,用于判断BSP主程序区中的BSP 文件是否完整,如果完整,则启动监控机制,并运行该BSP文件;如果不完 整,则确定该BSP文件出现异常,上报告警信息;在运行该BSP文件时,判 断该BSP文件启动运行是否正常,如果正常,记录正常启动该BSP文件的结 果,将该BSP文件进行压缩,将压缩后的BSP文件写入BSP压缩程序区;如 果不正常,则确定BSP主程序区中的BSP文件出现异常,上报告警信息。图2为本发明中ROM存储区划分示意图,图中ROM存储区2包括应用 程序区201 、 BSP压缩程序区202、 BSP主程序区203和系统初始化(BOOT)程序区204。其中,应用程序区201用于存^L高层用户程序。BSP压缩程序区202用于存放经过压缩的BSP主程序。BSP主程序区203用于存放BSP主程序。BOOT程序区204用于存放BOOT程序。BOOT程序和BSP主程序具体描述如下完整的BSP文件包括BOOT程序和BSP主程序两部分,其中,BOOT程 序负责最小硬件环境的初始化,以及启动BSP主程序。BSP主程序包含的内 容一般来说是和嵌入式系统有关的驱动和程序,如与系统中网络协议有关的网 络驱动,与系统下载调试有关的串口驱动等。BOOT程序相对BSP主程序而言,更为简单,其所需的存储空间也较小, 大约在10Kb到200Kb范围内。另外,BOOT程序与高层用户程序无关,只与 硬件基本配置相关,这就意味着BOOT程序几乎是不会因为软件需求或者大 多数BSP功能而被升级的,因此可以将BOOT程序和BSP主程序分别存储在 ROM存储区的不同位置中。为了描述方便,下文所述BSP文件特指BSP主程 序。BSP自动检测和恢复启动过程包括BSP主程序区文件替换、BSP文件有 效性检测和BSP压缩程序区文件替换。图3为本发明具体实施例中BSP主程序区文件替换流程图,具体步骤如下步骤301,根据BSP文件计算出第二校验信息。该第二校验信息用于BSP文件启动过程中的完整性4交验,其计算方法可 以采用CRC校验等方法,以便通过校验信息验证文件的完整性。无论采用何 种算法,其所使用的校验方法都需要和第一校验信息、第三校验信息的校验方 法一致。步骤302,判断该BSP文件是否带有第一校验信息,如果是,进入步骤 303;否则,进入步骤304。 '步骤303,判断第一校验信息与第二校验信息是否匹配,如果是,则进入 步骤304,否则,进入步骤308。200710117702.8说明书第9/12页步骤304,将BSP文件写入BSP主程序区,替换BSP主程序区中的原BSP 文件。步骤305,根据写入的BSP文件计算出第三校验信息。步骤306,判断第二校验信息与第三校验信息是否匹配,如果是,则进入步骤307;否则,进入步骤308。步骤307,确定BSP主程序区文件替换成功。'步骤308,确定BSP主程序区文件替换失败,上报告警。该步骤中,将BSP主程序区文件替换过程中出现的异常情况以告警方式上报给用户,用户收到告警之后,可以根据不同的告警原因进行相应的处理,如检查BSP升级文件,主动触发版本回退或再次升级BSP文件等。上述步骤通过对升级的BSP文件在其写入BSP主程序区之前以及写入BSP主程序区之后的两次文件完整性校验,^v而更加全面的确保BSP文件升级的正确性。在BSP主程序区文件替换完成之后,对BSP文件进行有效性检测,该检 测通过对BSP文件进行一次启动测试来实现,需要强调的是仅仅通过一次启 动测试就可完成有效性检测。图4为本发明具体实施例中BSP文件有效性检 测流程图,具体步骤如下步骤401 ,设置硬件复位相关资源标志。硬件复位相关资源标志包括两种类型 一种为BSP文件有效性检测标志, 另 一种为请求版本回退标志。为了防止因为人工复位或断电引起的错误的版本回退操作,在复位前,采 用硬件复位相关资源记录复位参数。硬件复位相关资源指的是受到硬件复位影 响的资源,例如寄存器。步骤402,进行硬件无关重启。硬件无关重启是指不会对硬件复位相关资源产生影响的复位,相对于硬件 相关重启,硬件无关重启能够向下次启动传递是否需要进行有效性检测的信 息。具体的说,可以通过寄存器记录复位参数,指针跳转来实现本操作。通过 硬件无关重启,在下一次启动运行BSP文件时,通过^^更件无关重启获得的信 息判断是否需要进行有效性测试。步骤403,判断硬件复位相关资源标志类型是否为BSP文件有效性检测标 志;如果是,则进入步骤404;否则,进入步骤405。步骤404,进行BSP文件有效性检测,监控BSP文件的启动过程,进入 步骤406。步骤405,启动版本回退流程,进入步骤408。如果程序文件在进行有效性检测时,没有成功启动,则触发一次版本回退, 并上报告警。版本回退流程为将BSP压缩程序区中的BSP压缩文件解压后, 通过BOOT程序启动解压后的BSP文件,启动成功后,爿夺该解压后的BSP文 件写入BSP主程序区,替换BSP主程序区的原BSP文件。步骤406,判断BSP文件是否完整,如果是,进入步骤407;否则,进入 步骤405。BOOT程序首先要进行BSP文件完整性的,即对BSP文件计算校验信息, 然后与原先记录的校验信息进行匹配比较。如果匹配,说明BSP文件没有被 破坏。步骤407,判断BSP文件启动是否成功,如果是,进入步骤408;否则, 进入步骤401。通过启动标志或者定时检测功能对文件启动过程进行监控,如果本次启动 正常,则表明该BSP文件通过有效性检测;如果本次启动异常,则表明该BSP 文件的有效性检测失败。步骤408,启动用户程序,上报告警信息。在整个有效性检测过程中可能会出现异常情况,因此需要上报告警信息通 知用户。对于不同系统,用户程序对告警的处理接口和处理方法有所不同。在 本发明中,采用分离方式的告警方式,即在BSP文件自动检测和恢复启动过 程中,将各个阶段出现的异常情况的各种信息通过全局变量或者内存,以特定的格式记录,待用户软件运行起来之后,获取这些信息,组织各自的告警形式 进行告警。这种告警方式,扩展了告警阶段,并且不会影响用户程序。上述过程中,本发明仅仅使用一个硬件复位相关资源作为是否为有效性检 测的标志,利用不同的复位方式控制有效性检测,避免了现有技术中启动时因 为人工复位或断电引起的错误的版本回退操作,而且更加简单可靠。在BSP文件有效性检测过程完成后,进行BSP压缩程序区文件替换,具 体过程为在确认BSP主程序区的新BSP文件能够正常启动后,;险查BSP压缩程序 区中BSP文件的版本是否与BSP主程序区的BSP文件片反本相同,如果是,则 不动作;否则,将BSP主程序区的BSP文件进4亍压缩后,写入BSP压缩程序 区,替换BSP压缩程序区中原有的BSP文件,以使得BSP压缩程序区的BSP 文件版本与BSP主程序区的BSP文件版本始终保持一致。其中,BSP压缩程 序区的BSP文件可以在板卡端动态生成,另外,在替换过程中还可加入校验 机制,以确保BSP压缩程序区的文件的替换可靠。对于上述的BSP主程序区和BSP压缩程序区,在实际的BSP自启动检测 过程中互为冗余,当其中一者存储的BSP文件出现异常时,将自动选择其中 另一者存储的BSP文件来完成嵌入式系统的启动。图5为本发明具体实施例 中BSP主程序区与BSP压缩程序区互为冗余的BSP文件替换流程图,具体步 骤如下步骤501和502,对BSP主程序区中的BSP文件进4亍完整性校验,判断 BSP文件是否完整,如果是,进入步骤503;否则,进入步骤506。步骤503,启动监控机制,并运行BSP主程序区中的BSP文件。步骤504,判断该BSP文件启动运行是否正常,如果是,进入步骤505; 否则,进入步骤506。步骤505,记录正常启动该文件的结果,并将该文件进行压缩后,将压缩 后的BSP文件写入BSP压缩程序区,替换BSP压缩程序区中原有的BSP压 缩文件。步骤506,确定BSP主程序区中的BSP文件出现异常,上报告警信息, 并判断BSP压缩程序区是否存在BSP压缩文件,如果是,进入步骤507;否 则,进入步骤410。步骤507,对BSP压缩文件解压缩,启动运行解压缩后的BSP文件。步骤508,判断该BSP文件启动运行是否正常,如果是,进入步骤509; 否则进入步骤510。步骤509,将解压缩后的BSP文件写入到BSP主程序区。步骤510,上报告警信息。上述步骤506至510主要针对当BSP主程序区的BSP文件出现异常时, 将备份在BSP压缩区的BSP压缩文件解压缩后,在确定该解压缩后的BSP文 件启动运行正常后,将该BSP文件写入BSP主程序区,替4戈出现异常的原BSP 文件。由于本发明降低了对标识或定时器等启动4企测手^殳的依赖,因此,还可将 本发明移植到多处理器系统中,如对于一个有主处理器和协处理器的系统,协 处理器的启动程序每次由主处理器对其进行加载,通过本发明提供的方法能较 好地保证启动的可靠性。下述为本发明在分布式处理器系统中的一个具体实施 例。多处理器系统包括一个主处理器和一个协处理器,其中,主处理器为计算 机,协处理器为数字信号处理器(DSP, Digital Signal Processor),作为协处理 器的DSP在功能上比较单一,无法提供富余的启动检测机制资源,如定时器 等,这些资源往往被专用程序使用;另外,也无法提供足够的空间存放两份启 动程序。采用本发明提供的嵌入式系统自动检测和恢复启动的方法,由主处理 器管理协处理器DSP的BSP文件,在进行BSP文件版本更新时,由主处理器 对BSP文件进行完整性校验,即在主处理器上完成替换BSP文件的过程,通 过专门的链路将用于启动DSP的BSP文件发送给协处理器DSP。另外,对 BSP文件只作一次有效性4企测,在有效性检测完成后,以后的BSP文件启动 将不再使用这些资源,从而可以将这些资源归还给协处理器,从而减少对协处 理器资源的占用。对BSP文件启动运行状况进行监控,如果升级后的BSP文 件启动运行不正常,则将BSP压缩程序区的文件解压缩后恢复到协处理器中; 如果升级后的BSP文件启动运行正常,将BSP主程序区的文件进行压缩后, 写入到BSP压缩程序区,替换BSP压缩程序区中原有的文件。在本发明的具体实施例中,用于升级的BSP文件的存放方式既可以是二 进制目标程序,也可以是文件方式。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发 明的保护范围之内。
权利要求
1.一种嵌入式系统自动检测和恢复启动的方法,其特征在于,该嵌入式系统的存储区包括应用程序区、BSP板级支持包压缩程序区、BSP主程序区和系统初始化程序区,该方法包括以下步骤A.替换BSP主程序区中的BSP文件;B.对替换后的BSP文件进行有效性检测;C.将通过有效性检测的BSP文件替换到BSP压缩程序区。
2. 根据权利要求1所述的方法,其特征在于,所述步骤A包括 Al.根据BSP文件计算出第二校验信息;A2.判断该BSP文件是否带有第一校验信息,如果是,进入步骤A3,否 则,进入步骤A4;A3.判断第一校验信息与第二校验信息是否匹配,如果是,进入步骤A4, 否则,进入步骤A5;A4.将BSP文件写入BSP主程序区,替换BSP主程序区中的原BSP文件;A5.确定BSP文件替换失败,上报告警信息。
3. 根据权利要求2所述的方法,其特征在于,所述步骤A4与A5之间进 一步包括根据写入BSP主程序区的BSP文件计算出第三校验信息,判断该第三校 验信息与第二校验信息是否匹配,如果是,确定BSP文件替换成功;否则, 进入步骤A5。
4. 根据权利要求1所述的方法,其特征在于,所述步骤B包括Bl.设置硬件复位相关资源标志,该标志包括BSP文件有效性;险测标志 和请求版本回退标志;B2.进^^更件无关重启;B3.判断硬件复位相关资源标志类型是否为BSP文件有效性检测标志; 如果是,则进入步骤B4;否则,进入步骤B5;B4.进行BSP文件有效性4企测,监控BSP文件的启动过程,进入步骤B5.启动纟反本回退流程; B6.启动用户程序。
5. 根据权利要求4所述的方法,其特征在于,所述步骤B5与B6之间进 一步包括判断BSP文件启动是否成功,如果是,进入步-骤B6;否则,进入步骤Bl。
6. 根据权利要求5所述的方法,其特征在于,所述判断BSP文件启动是 否成功前进一步包括判断BSP文件是否完整,如果是,判断BSP文件启动是否成功;否则, 进入步骤B5。
7. 根据权利要求1所述的方法,其特征在于,所述步骤C包括Cl.判断BSP主程序区中的BSP文件是否完整,如果是,进入步骤C2; 否则,进入步骤C5;C2.启动监控机制,并运行该BSP文件;C3.判断该BSP文件启动运行是否正常,如果是,进入步骤C4;否则, 进入步骤C5;C4.记录正常启动该BSP文件的结果,将该BSP文件进行压缩,将压缩 后的BSP文件写入BSP压缩程序区;C5.确定该BSP文件出现异常,上报告警信息。
8. 根据权利要求7所述的方法,其特征在于,所述步骤C5后进一步包括Dl.判断BSP压缩程序区是否存在BSP压缩文件,如果是,进入步骤 D2;否则,进入步骤D5;D2.对BSP压缩文件解压缩,启动运行解压缩后的BSP文件;D3.判断该BSP文件启动运行是否正常,如果是,进入步骤D4;否则,进入步骤D5;D4.将解压缩后的BSP文件写入到BSP主程序区;D5.上报告警信息。
9. 根据权利要求1所述的方法,其特征在于,该方法用于多处理器系统。
10. 根据权利要求2、 7或8所述的方法,其特征在于,所述上报告警信 息方式为分离式传递信息的启动阶段异常告警上报方式,包括以下步骤将异常情况的信息通过全局变量或者内存,以预定^^式记录,在用户程序 启动运行后,根据这些信息,以预定形式上报告警信息。
11. 一种嵌入式系统自动检测和恢复启动的装置,其特征在于,包括 BSP主程序区BSP文件替换模块、BSP文件有效性检测模块和BSP压缩程序区BSP文件替换模块。
12. 根据权利要求11所述的装置,其特征在于,所述BSP主程序区BSP文件替换模块,用于根据BSP文件计算第二校验 信息,判断BSP文件是否带有第一校验信息,如果带有第一校验信息,则进 一步判断第一校验信息与第二校验信息是否匹配,如果匹配,则将BSP文件 写入BSP主程序区,替换BSP主程序区中的原BSP文件;如果不匹配,则确 定BSP文件替换失败,上报告警信息;所述BSP文件有效性检测模块,用于设置硬件复位相关资源标志,进行 硬件无关重启,如果硬件复位相关资源标志类型为BSP文件有效性检测标志, 则进行BSP文件有效性检测,监控BSP文件的启动过程,启动用户程序,上 报告警信息;如果硬件复位相关资源标志类型为请求版本回退标志,则启动版 本回退流程;所述BSP压缩程序区BSP文件替换模块,用于判断BSP主程序区中的 BSP文件是否完整,如果完整,则启动监控才几制,并运4于该BSP文件;如果 不完整,则确定该BSP文件出现异常,上报告警信息;在运行该BSP文件时, 判断该BSP文件启动运行是否正常,如果正常,记录正常启动该BSP文件的 结果,将该BSP文件进行压缩,将压缩后的BSP文件写入BSP压缩程序区; 如果不正常,则确定BSP主程序区中的BSP文件出现异常,上报告警信息。
13. 根据权利要求11所述的装置,其特征在于,该装置用于多处理器系统。
全文摘要
本发明公开了一种嵌入式系统自动检测和恢复启动的方法将存储区划分为应用程序区、BSP压缩程序区、BSP主程序区和系统初始化程序区;替换BSP主程序区中的BSP文件;对替换后的BSP文件进行有效性检测;将通过有效性检测的BSP文件替换到BSP压缩程序区。同时还公开了一种嵌入式系统自动检测和恢复启动的装置,包括BSP主程序区BSP文件替换模块、BSP文件有效性检测模块和BSP压缩程序区BSP文件替换模块。通过本发明提供的方法和装置,提高了BSP文件升级的可靠性和系统的可维护性,减少了对系统资源的占用。
文档编号G06F11/36GK101329631SQ20071011770
公开日2008年12月24日 申请日期2007年6月21日 优先权日2007年6月21日
发明者文 李, 禹 笪 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1