本发明专利技术涉及的一种自升级的bootloader装置及设计方法,包括:bootloader模块、bootloader配置模块和引导模块;bootloader模块包括:第一bootloader模块和第二bootloader模块,第二bootloader模块为第一bootloader模块的备份模块;bootloader配置模块用于存放所述bootloader模块的参数信息;引导模块用于校验bootloader模块的完整性以及合法性,同时对bootloader模块进行修复。本发明专利技术在升级过程中如遭遇异常或使用过程中bootloader模块受损时,可自行修复并恢复正常工作,确保程序启动和升级过程安全可靠。
A bootloader design method of self upgrading
【技术实现步骤摘要】
一种自升级的bootloader设计方法
本专利技术涉及嵌入式电子产品领域,更具体地说,涉及一种自升级的bootloader装置及设计方法。
技术介绍
目前,嵌入式电子产品大多数都具有bootloader功能,用于固件的在线升级,使之通过在线升级的方式快捷地为产品增加新的特性或修复潜在bug。绝大多数情况下,bootloader功能比较单一,仅仅针对固件进行升级,而在许多应用场景中,需要对bootloader自身进行升级,以支持一些新的特性和新功能,例如将原本singlebank固件升级方式改成dualbank固件升级方式。基于此,工程师们设计出了各种各样的可自升级的bootloader装置或程序,然而在这些设计中,都存在着明显的缺陷,常常因bootloader模块受损造成程序无法正常启动,或因升级过程中突然掉电导致嵌入式产品应用程序无法加载、在线升级失效等问题。现有的方案存在如下缺点:1.bootloader模块受损造成程序无法正常启动;2.升级过程中突然掉电导致嵌入式产品应用程序无法加载、在线升级失效。
技术实现思路
本专利技术要解决的技术问题在于,解决在现有设计中常常因bootloader模块受损造成程序无法正常启动,或因升级过程中突然掉电导致嵌入式产品应用程序无法加载、在线升级失效的问题。本专利技术解决其技术问题所采用的技术方案是:构造一种自升级的bootloader装置及设计方法,通过采用引导模块、bootloader双模块和bootloader配置模块的组合方式,实现bootlader模块的自升级功能,同时在升级过程中如遭遇异常、掉电等特殊情况导致升级失败,或使用过程中bootloader模块受损时,可自行修复并恢复正常工作,确保程序启动和升级过程安全可靠。在本专利技术所述的一种自升级的bootloader装置中,包括:bootloader模块、bootloader配置模块和引导模块;bootloader模块包括:第一bootloader模块和第二bootloader模块,第二bootloader模块为第一bootloader模块的备份模块;bootloader配置模块用于存放bootloader模块的参数信息;引导模块用于校验bootloader模块的完整性以及合法性,同时对bootloader模块进行修复。在本专利技术的一种自升级的bootloader装置中,第一bootloader模块的作用还包括:接收升级命令,并对是否进行自身升级进行判断。在本专利技术的一种自升级的bootloader装置中,引导模块、第一bootloader模块和第二bootloader模块均为独立的可运行的固件模块。在本专利技术的一种自升级的bootloader装置中,bootloader模块的参数信息包括:版本信息、程序大小、有效标志和校验码。在本专利技术的一种自升级的bootloader装置中,还包括以下功能:对升级bootloader固件是否下载完成以及是否出错进行判断,并根据判断结果发送对应的指令。在本专利技术的一种自升级的bootloader设计方法中,包括以下步骤;S1装置通电或复位后,程序从引导模块处执行;在引导模块中,对第一bootloader模块和第二bootloader模块的完整性和合法性进行校验;若合格即为校验成功,若不合格即为校验失败;S2若校验失败,则执行修复流程,若校验成功,则程序跳转到第一bootloader模块中并执行升级命令;S3在第一bootloader模块中对是否自身升级进行判断,判断结果为是则对第一bootloader模块进行升级;若判断结果为否,则执行固件升级或跳转应用程序。在本专利技术的一种自升级的bootloader设计方法中,如果第一bootloader模块判断是否对自身升级时判断结果为是,此时擦除第二bootloader模块,随后擦除bootloader配置区中与第二bootloader模块相关的参数;然后,下载升级bootloader固件,并实时判断是否下载完成或出错,以及对第一bootloader模块和第二bootloader模块的完整性和合法性进行校验。在本专利技术的一种自升级的bootloader设计方法中,如果升级bootloader固件下载出错、未下载完成或者第一bootloader模块和第二bootloader模块的完整性或合法性不合格,随即重启,再重新进入引导模块并修复第二bootloader模块;否则继续下载,直至下载完成。在本专利技术的一种自升级的bootloader设计方法中,升级bootloader固件下载完成后,首先更新bootloader配置区中与第二bootloader模块相关的参数,然后将第二bootloader模块固件复制到第一bootloader模块中。在本专利技术的一种自升级的bootloader设计方法中,最后更新bootloader配置模块中与第一bootloader模块相关的参数。根据上述方案的本专利技术,其有益效果在于,本专利技术提供了一种自升级的bootloader装置及设计方法,通过采用引导模块、bootloader双模块和bootloader配置模块的组合方式,实现bootlader模块的自升级功能,同时在升级过程中如遭遇异常、掉电等特殊情况导致升级失败,或使用过程中bootloader模块受损时,可自行修复并恢复正常工作,确保程序启动和升级过程安全可靠。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术的一种自升级的bootloader装置及设计方法的分区示意图;图2是本专利技术的一种自升级的bootloader装置及设计方法的bootloader模块自升级流程图;图3是本专利技术的一种自升级的bootloader装置及设计方法的校验及自修复流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,一种自升级的bootloader装置,包括:bootloader模块、bootloader配置模块和引导模块;bootloader模块包括:第一bootloader模块和第二bootloader模块,第二bootloader模块为第一bootloader模块的备份模块;bootloader配置模块用于存放bootloader模块的参数信息;引导模块用于校验bootloader模块的完整性以及合法性,同时对bootloader模块进行修复。进一步地,bootloader指的是:在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操本文档来自技高网...
【技术保护点】
1.一种自升级的bootloader装置,其特征在于,包括:bootloader模块、bootloader配置模块和引导模块;/n所述bootloader模块包括:第一bootloader模块和第二bootloader模块,所述第二bootloader模块为所述第一bootloader模块的备份模块;/n所述bootloader配置模块用于存放所述bootloader模块的参数信息;/n所述引导模块用于校验所述bootloader模块的完整性以及合法性,同时对所述bootloader模块进行修复。/n
【技术特征摘要】
20190910 CN 20192149917601.一种自升级的bootloader装置,其特征在于,包括:bootloader模块、bootloader配置模块和引导模块;
所述bootloader模块包括:第一bootloader模块和第二bootloader模块,所述第二bootloader模块为所述第一bootloader模块的备份模块;
所述bootloader配置模块用于存放所述bootloader模块的参数信息;
所述引导模块用于校验所述bootloader模块的完整性以及合法性,同时对所述bootloader模块进行修复。
2.根据权利要求1所述的一种自升级的bootloader装置,其特征在于,所述第一bootloader模块的作用还包括:接收升级命令,并对是否进行自身升级进行判断。
3.根据权利要求1所述的一种自升级的bootloader装置,其特征在于,所述引导模块、所述第一bootloader模块和所述第二bootloader模块均为独立的可运行的固件模块。
4.根据权利要求1所述的一种自升级的bootloader装置,其特征在于,所述bootloader模块的参数信息包括:版本信息、程序大小、有效标志和校验码。
5.根据权利要求1所述的一种自升级的bootloader装置,其特征在于,还包括以下功能:对升级bootloader固件是否下载完成以及是否出错进行判断,并根据判断结果发送对应的指令。
6.一种自升级的bootloader设计方法,其特征在于,包括以下步骤;
S1装置通电或复位后,程序从引导模块处执行;
在所述引导模块中,对第一bootloader模块和第二bootloader模块的完整性和合法性进行校验;
若合格即...
【专利技术属性】
技术研发人员:陈建,陈小宝,
申请(专利权)人:深圳市汇泰科电子有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。