启动处理方法及装置制造方法及图纸

技术编号:14406019 阅读:46 留言:0更新日期:2017-01-11 17:31
本发明专利技术公开了一种启动处理方法及装置,其中,该方法包括:将BOOT程序按功能拆分为一个BOOT1和一个或多个BOOT2,其中,该BOOT1对应该一个或多个BOOT2,用于完成BOOT2的引导及引导该BOOT2所必须的硬件初始化,该BOOT2用于完成该BOOT所有或除该BOOT1以外的BOOT功能;通过该BOOT1对该BOOT2的启动完成BOOT启动处理,解决了相关技术中对BOOT的启动存在缺陷的问题,提高了设备启动和升级的成功率和安全性。

【技术实现步骤摘要】

本专利技术涉及通信领域,具体而言,涉及启动处理方法及装置
技术介绍
数据通信产品通常采用嵌入式系统构架,通常需要使用BOOT来负责完成系统硬件的初始化以及相关应用程序的引导加载,因此,BOOT运行的稳定性和可靠性对于整个系统的启动至关重要。现有的数据通信产品,在BOOT启动方式上通常存在如下的不足:首先,现有的数据通信产品,通常采用单一BOOT的方式来启动设备,并且,BOOT数据通常是存放在NORFLASH、NANDFLASH等存储器件中的,这些器件无论是在生产和使用过程中都有可能产生坏块,并且,这些坏块的产生都是随机的,如果使用单一BOOT,一旦BOOT数据存储的区域产生了坏块,那么整个BOOT将无法正常启动,从而造成整个设备无法启动。同时,由于这些存储器件坏块的产生是随机的,那么,也就是说,对于BOOT而言,数据被损坏的概率与BOOT数据所占用的存储空间大小是成线性比例的,BOOT数据存储所占用的存储空间越大,BOOT数据被损坏的可能性也会越大。这对于现在BOOT数据越来越大的数据通信产品而言,由此导致的BOOT启动失败的概率也会随之增加。另外,现有的数据通信产品,在调试生产、测试及市场应用中,都会涉及到BOOT的数据更新问题,而现有的BOOT数据更新,一般采用的是烧录器烧录或在线升级的方式,对于烧录器烧录的方式,一般都需要有特定的硬件设备和软件来支持,操作相对会比较复杂,这种方式只适用于在设备生产过程中对BOOT数据的第一次烧录,或者是在实验室的调试阶段中使用;相对于烧录器烧录,在线升级的方式实现起来相对简单,对于软硬件环境的依赖也较小,现在被广泛应用于数据通信产品的开发、测试和市场应用等场景;但在实际应用中,在线升级的方式也存在着风险,也会出现一些情况导致BOOT升级失败,比如,升级的过程被中断、升级的BOOT本身就存在问题等,一旦遇到这种情况,不仅这次BOOT升级会失败,而且由于原有BOOT数据的损坏,还会造成BOOT无法再次在线升级,BOOT无法正常启动设备的情况出现,这时,就只能对设备单板进行更换或者返厂维修了,这不仅增加了设备维护成本,还有可能造成其它更加严重的后果。针对相关技术中对BOOT的启动存在缺陷的问题,还未提出有效的解决方案。
技术实现思路
本专利技术提供了启动处理方法及装置,以至少解决相关技术中对BOOT的启动存在缺陷的问题。根据本专利技术的一个方面,提供了一种启动处理方法,包括:将BOOT程序按功能拆分为一个BOOT1和一个或多个BOOT2,其中,所述BOOT1对应所述一个或多个BOOT2,用于完成BOOT2的引导及引导所述BOOT2所必须的硬件初始化,所述BOOT2用于完成所述BOOT所有或除所述BOOT1以外的BOOT功能;通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理。进一步地,在通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理之前,所述方法还包括:通过BOOT1读取上次启动所述BOOT2的结果信息;将所述结果信息更新到所述BOOT2对应的数据区中。进一步地,通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理包括:判断是否从存储器件FLASH的所有BOOT2中获取到与所述结果信息中的所述BOOT2相匹配的BOOT2;在判断结果为是的情况下,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2完成BOOT启动处理。进一步地,通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理还包括:在判断结果为否的情况下,通过所述BOOT1检测是否有外部USB存储设备挂载;在检测结果为是的情况下,判断所述USB存储设备上是否存在与所述结果信息中的所述BOOT2相匹配的BOOT2;在判断结果为是的情况下,在所述USB存储设备上获取所述BOOT2,通过所述BOOT1将所述BOOT2加载到内存,并对所述BOOT2的文件数据的完整性进行校验;在所述BOOT2的文件数据为完整的情况下,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2完成BOOT启动处理。进一步地,所述方法还包括:在通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2的同时,通过所述BOOT1启动计数器;判断在预定时间内是否收到用于关闭所述计数器的指示信息,其中,所述指示信息是所述BOOT2在成功完成所有内核引导前的初始化工作后,在启动内核时发送的;在判断结果为是的情况下,确定此次BOOT启动处理成功;在判断结果为否的情况下,确定此次BOOT启动处理异常。根据本专利技术的另一方面,还提供了一种启动处理装置,包括:拆分模块,用于将BOOT程序按功能拆分为一个BOOT1和一个或多个BOOT2,其中,所述BOOT1对应所述一个或多个BOOT2,用于完成BOOT2的引导及引导所述BOOT2所必须的硬件初始化,所述BOOT2用于完成所述BOOT所有或除所述BOOT1以外的BOOT功能;启动处理模块,用于通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理。进一步地,所述装置还包括:读取模块,用于通过BOOT1读取上次启动所述BOOT2的结果信息;更新模块,用于将所述结果信息更新到所述BOOT2对应的数据区中。进一步地,所述启动处理模块包括:第一判断单元,用于判断是否从存储器件FLASH的所有BOOT2中获取到与所述结果信息中的所述BOOT2相匹配的BOOT2;启动处理单元,用于在判断结果为是的情况下,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2完成BOOT启动处理。进一步地,所述启动处理模块还包括:检测单元,用于在判断结果为否的情况下,通过所述BOOT1检测是否有外部USB存储设备挂载;第二判断单元,用于在检测结果为是的情况下,判断所述USB存储设备上是否存在与所述结果信息中的所述BOOT2相匹配的BOOT2;校验单元,用于在判断结果为是的情况下,在所述USB存储设备上获取所述BOOT2,通过所述BOOT1将所述BOOT2加载到内存,并对所述BOOT2的文件数据的完整性进行校验;标记单元,用于在所述BOOT2的文件数据为完整的情况下,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2完成BOOT启动处理。进一步地,所述装置还包括:启动单元,用于在通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2的同时,通过所述BOOT1启动计数器;第三判断单元,用于判断在预定时间内是否收到用于关闭所述计数器的指示信息,其中,所述指示信息是所述BOOT2在成功完成所有内核引导前的初始化工作后,在启动内核时发送的;第一确定单元,用于在判断结果为是的情况下,确定此次BOOT启动处理成功;第二确定单元,用于在判断结果为否的情况下,确定此次BOOT启动处理异常。通过本专利技术,采用将BOOT程序按功能拆分为一个BOOT1和一个或多个BOOT2,其中,所述BOOT1对应所述一个或多个BOOT2,用于完成BOOT2的引导及引导所述BOOT2所必须的硬件初始化,所述BOOT2用于完成所本文档来自技高网
...
启动处理方法及装置

【技术保护点】
一种启动处理方法,其特征在于,包括:将BOOT程序按功能拆分为一个BOOT1和一个或多个BOOT2,其中,所述BOOT1对应所述一个或多个BOOT2,用于完成BOOT2的引导及引导所述BOOT2所必须的硬件初始化,所述BOOT2用于完成所述BOOT所有或除所述BOOT1以外的BOOT功能;通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理。

【技术特征摘要】
1.一种启动处理方法,其特征在于,包括:将BOOT程序按功能拆分为一个BOOT1和一个或多个BOOT2,其中,所述BOOT1对应所述一个或多个BOOT2,用于完成BOOT2的引导及引导所述BOOT2所必须的硬件初始化,所述BOOT2用于完成所述BOOT所有或除所述BOOT1以外的BOOT功能;通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理。2.根据权利要求1所述的方法,其特征在于,在通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理之前,所述方法还包括:通过BOOT1读取上次启动所述BOOT2的结果信息;将所述结果信息更新到所述BOOT2对应的数据区中。3.根据权利要求2所述的方法,其特征在于,通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理包括:判断是否从存储器件FLASH的所有BOOT2中获取到与所述结果信息中的所述BOOT2相匹配的BOOT2;在判断结果为是的情况下,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2完成BOOT启动处理。4.根据权利要求3所述的方法,其特征在于,通过所述BOOT1对所述BOOT2的启动完成BOOT启动处理还包括:在判断结果为否的情况下,通过所述BOOT1检测是否有外部USB存储设备挂载;在检测结果为是的情况下,判断所述USB存储设备上是否存在与所述结果信息中的所述BOOT2相匹配的BOOT2;在判断结果为是的情况下,在所述USB存储设备上获取所述BOOT2,通过所述BOOT1将所述BOOT2加载到内存,并对所述BOOT2的文件数据的完整性进行校验;在所述BOOT2的文件数据为完整的情况下,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2完成BOOT启动处理。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2的同时,通过所述BOOT1启动计数器;判断在预定时间内是否收到用于关闭所述计数器的指示信息,其中,所述指示信息是所述BOOT2在成功完成所有内核引导前的初始化工作后,在启动内核时发送的;在判断结果为是的情况下,确定此次BOOT启动处理成功;在判断结果为否的情况下,确定此次BOOT启动处理异常。6.一种启动处理装置,其特征在于,包括:...

【专利技术属性】
技术研发人员:李俊杰
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1