CN117034294A - 一种低成本bootloader在线安全固化及安全启动方法 - Google Patents
一种低成本bootloader在线安全固化及安全启动方法 Download PDFInfo
- Publication number
- CN117034294A CN117034294A CN202311058157.5A CN202311058157A CN117034294A CN 117034294 A CN117034294 A CN 117034294A CN 202311058157 A CN202311058157 A CN 202311058157A CN 117034294 A CN117034294 A CN 117034294A
- Authority
- CN
- China
- Prior art keywords
- bootloader
- segment
- level boot
- level
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000007711 solidification Methods 0.000 title claims abstract description 27
- 230000008023 solidification Effects 0.000 title claims abstract description 27
- 230000006835 compression Effects 0.000 claims description 11
- 238000007906 compression Methods 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 14
- 230000002159 abnormal effect Effects 0.000 abstract description 3
- 230000005856 abnormality Effects 0.000 abstract description 3
- 230000015654 memory Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种低成本bootloader在线安全固化及安全启动方法,属于嵌入式软件技术领域,包括将bootloader的镜像存储空间划分为CPU前导固件段、1级boot段、2级boot段、2级boot备份段和标签信息段,将CPU初始化程序存储至CPU前导固件段;1级boot存储至1级boot段;2级boot压缩存储至2级boot段;2级boot备份镜像后压缩存储至2级boot备份段;bootloader的空间分配信息存储至标签信息段,本申请实施例能在无需硬件电路和逻辑控制器等的配合的情况下实现bootloader安全固化的能力,可防止固化过程中因异常掉电、软件异常等各种原因导致固化流程异常中断而损坏bootloader,新老版本bootloader无兼容性问题,新老产品均可直接升级或降级来获取或移除该能力,无需额外硬件支持、无软件兼容性问题,适用性广。
Description
技术领域
本申请属于嵌入式软件技术领域,具体地说,涉及一种低成本bootloader在线安全固化及安全启动方法。
背景技术
嵌入式产品中通常包含bootloader,例如U-BOOT、PMON、UEFI等等,bootloader为CPU启动引导程序,由于各厂家的引导程序方案不同,bootloader可能包含CPU前导固件、1级boot,2级boot等部分;CPU前导固件是除片内固化的片内boot之外,部分厂家CPU在运行传统的bootloader之前还需要运行CPU自己独有的一段初始化程序;1级boot和2级boot是传统bootloader在设计时考虑到可能存储bootloader的存储器空间不够大,将bootloader拆分为两段,bootloader第一段的镜像长度很小,例如u-boot中的SPL和TPL,只负责最基础的初始化并从指定的大容量存储空间中加载bootloader第二段镜像,bootloader第二段镜像才是完整功能的bootloader。
当嵌入式操作系统出现故障可以通过bootloader执行恢复程序来恢复系统的正常运行,但是在产品开发中,嵌入式产品一般不会预留接入bootloader专用烧写器的硬件电路,而是借助网口、串口等在无烧写器的情况下进行在线更新固化、升级bootloader,但固化过程中若发生突发断电、重启等异常情况,可能导致升级过程不完整,在线更新固化一旦失败则会导致bootloader损坏,设备无法正常启动和再次在线固化bootloader,产品成“砖”无法启动,只能重新烧写才能恢复,并且许多处理器厂家的引导程序并不是只使用单纯的bootloader,而是将厂家自己的基础固件和通用bootloader打包在一起,这种情况下对bootloader的安全固化方案要求更加复杂。
而现有技术方案具有以下问题:1.需要硬件电路和逻辑控制器配合,在bootloader故障时要通过更换逻辑程序控制器配合切换NOR FLASH的地址管脚,将备份bootloader切换到启动地址上,但该方法操作复杂、且增加了硬件设计复杂度、增加了硬件成本;2.只适用于可直接寻址的并行总线存储器,而其他的非并行总线存储器无法使用该方案,应用面很窄;3.每次上电都需要在存储器的特定位置存储bootloader的启动状态信息,频繁写入会影响存储器寿命,其次很多FLASH存储器写入速度慢,因此写入状态信息,会影响设备启动速度;4.仅考虑bootloader启动过程出现的损坏检测及恢复,未考虑在线固化过程中可能存在的固化风险,处理bootloader第1阶段,还有部分厂家的CPU存在启动基础固件,无法对这两部分程序进行保护,尤其是在更新过程中发生了异常,导致更新失败时,则会导致CPU基础固件或1级BOOT无法启动;5.备份bootloader需要开辟单独的存储空间,若老产品的存储器存储空间已经明确划分,且无多余空间用于保存备份u-boot,则无法升级使用。
发明内容
为解决上述问题和技术缺陷,本申请实施例采用如下的技术方案,一种低成本bootloader在线安全固化及安全启动方法,包括以下步骤:
步骤1、将bootloader的镜像存储空间划分为CPU前导固件段、1级boot段、2级boot段、2级boot备份段和标签信息段;
步骤2、将CPU独有的初始化程序存储至CPU前导固件段;用于解码和引导2级boot的1级boot存储至1级boot段;将包含bootloader完整功能的2级boot压缩存储至2级boot段;用于存放bootloader的空间分配信息存储至标签信息段;
步骤3、下载新版本bootloader,根据标签信息段依次对旧版本bootloader的CPU前导固件段、1级boot段、2级boot备份段和2级boot段进行定位更新固化;
步骤4、启动更新固化后的bootloader时,依次启动bootloader的CPU前导固件段、1级boot段、2级boot段或2级boot备份段,完成更新固化后的bootloader的安全启动。
优选地,所述根据标签信息段依次对旧版本bootloader进行更新固化是分别读取新版本bootloader标签信息段和旧版本bootloader标签信息段,根据两个标签信息段是否存在以及是否匹配进行更新固化。
进一步地,所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段中只存在一个标签信息段时,判断为版本不兼容,采用常规更新模式。
更进一步地,所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段均存在时,对两个版本的标签信息段检验并对比是否匹配,若是不匹配,判断为版本不兼容,使用常规更新模式,若是匹配,采用安全固化更新模式。
还进一步地,所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段均不存在时,进入无标签更新模式,无标签更新模式与安全固化更新模式的更新步骤相同。
再进一步地,所述安全固化更新模式的步骤如下:
S1、将旧版本bootloader的CPU前导固件段与新版本bootloader的CPU前导固件段进行对比,若两个版本的CPU前导固件段存在差异,对旧版本bootloader的CPU前导固件段进行升级;
S2、将旧版本bootloader的1级boot段与新版本bootloader的1级boot段进行对比,若两个版本的1级boot段存在差异,对旧版本bootloader的1级boot段进行升级;
S3、对旧版本bootloader的2级boot段和2级boot备份段是否正在运行进行判断,根据判断结果选择是否将旧版本bootloader的2级boot段备份烧写到旧版本bootloader的2级boot备份段;
S4、判断新版本bootloader的2级boot段是否已经压缩,若是没有压缩,压缩新版本bootloader的2级boot段,将压缩后的新版本bootloader的2级boot段升级到旧版本bootloader的2级boot段,更新结束。
优选地,所述启动更新固化后的bootloader是先对嵌入式产品上电启动,运行CPU前导固件段,再运行1级boot段,根据需求判断是否激活1级boot段的简易命令行、选择待引导的2级boot、对2级boot段和2级boot备份段进行选择校验,最后对2级boot段和2级boot备份段选择解码、运行,完成bootloader的启动。
进一步地,所述1级boot段的简易命令行若是选择激活,激活后选择待引导的2级boot,若选择引导的为2级boot段,需要校验2级boot段是否正常,若选择引导的为2级boot备份段,需要校验2级boot备份段是否正常;所述1级boot段的简易命令行若是选择不激活,需要校验2级boot段是否正常,若2级boot段校验正常,解码2级boot段并运行,若2级boot段校验错误,校验2级boot备份段是否正常。
更进一步地,所述2级boot备份段若是校验正常,解码2级boot备份段并运行,2级boot备份段若是校验错误,判断2级boot彻底故障,运行自定义应急策略。
优选地,所述2级boot压缩后容量小于压缩前2级boot容量的50%,压缩后的2级boot备份镜像容量小于压缩前2级boot备份镜像容量的50%。
相比于现有技术,本申请实施例的有益效果为:
(1)本申请实施例改进的bootloader较常规bootloader,增加1个2级boot备份段、1个标签信息段,标签信息段存放bootloader的空间分配信息,包含每一个段的具体位置、大小等,在升级bootloader时精准定位待升级的段,解决新老版本之前的兼容性问题,无软件兼容性问题,产品可根据需求升级获取或降级去除本申请实施例的方法,不仅考虑启动过程中出现的损坏,还考虑尽可能降低在线更新固化过程中出现异常后导致bootloader的启动基础固件和一级boot损坏的概率;
(2)本申请实施例无需额外的逻辑电路、硬件、软件等支持,可低成本获得相关能力,在启动阶段可通过1级boot的简易命令行中断引导过程,手动选择2级boot段,预留特殊情况下调整2级boot启动的手段,在上电运行过程中无需向存储器中写入任何状态数据,因此不会损耗存储器寿命、不影响启动速度,无需硬件电路和逻辑控制器等的配合,新老硬件均可以通过升级bootloader获得安全固化的能力;
(3)本申请实施例将2级boot压缩,使得压缩后的2级boot段和2级boot备份段的总大小不超过常规2级boot的大小,相对于正常的bootloader不需要额外的存储空间,因此已无多余存储空间的老产品仍然可以直接升级使用,消除因软件大小发生变化而产生升级兼容性的问题,对bootloader的存储器类型无要求,适用性广。
附图说明
为了更清楚地说明本申请实施例或示例性中的技术方案,下面将对实施例或示例性描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以按照这些附图示出的获得其他的附图。
图1为本申请实施例的方法步骤示意图;
图2为本申请实施例的固化流程示意图;
图3为本申请实施例的启动结构示意图;
图4为本申请实施例的bootloader组成与常规bootloader组成示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例,通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例,基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1
如图1所示,一种低成本bootloader在线安全固化及安全启动方法,包括以下步骤:
将bootloader的镜像存储空间划分为CPU前导固件段、1级boot段、2级boot段、2级boot备份段和标签信息段,如图4所示。
将CPU独有的初始化程序存储至CPU前导固件段;CPU前导固件段与常规bootloader一致,不修改,CPU前导固件在日常迭代过程中基本不发生更新。
用于解码和引导2级boot的简易命令行存储至1级boot段,必须具备1级boot,且1级boot要尽可能小,负责解码和引导2级boot,1级boot中内置简易命令行,且正常流程中不运行,当在某些极端情况下bootloader无法正确识别引导哪一个2级boot时,用户可通过命令行手动选择引导方式,bootloader在迭代过程中要尽量保证1级boot基本不发生更改。
将包含bootloader完整功能的2级boot压缩存储至2级boot段,2级boot段与常规bootloader中的含义一致,包含bootloader完整功能,且运用压缩算法压缩2级boot,使得2级boot的大小小于常规bootloader中boot部分的50%以下,空闲的容量要足够存放1级boot、2级boot备份、标签信息。
2级boot段的压缩可以在编译过程中进行也可以在固化过程中进行,取决于实际使用场景和设计方案。
2级boot备份镜像后压缩存储至2级boot备份段;用于存放bootloader的空间分配信息存储至标签信息段,2级boot备份镜像也要压缩后存放于2级boot备份段,压缩后镜像大小小于原镜像50%。
固化更新bootloader流程如图2所示。
下载新版本bootloader;
分别读取新版本bootloader标签信息段和旧版本bootloader标签信息段,根据两个标签信息段是否存在以及是否匹配进行更新固化;
所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段中只存在一个标签信息段时,判断为版本不兼容,采用常规更新模式;
所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段均存在时,对两个版本的标签信息段检验并对比是否匹配,若是不匹配,判断为版本不兼容,使用常规更新模式,若是匹配,采用安全固化更新模式;
所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段均不存在时,进入无标签更新模式,无标签更新模式与安全固化更新模式的更新步骤相同;
所述安全固化更新模式的步骤如下:
将旧版本bootloader的CPU前导固件段与新版本bootloader的CPU前导固件段进行对比,若两个版本的CPU前导固件段存在差异,对旧版本bootloader的CPU前导固件段进行升级;
将旧版本bootloader的1级boot段与新版本bootloader的1级boot段进行对比,若两个版本的1级boot段存在差异,对旧版本bootloader的1级boot段进行升级;
对旧版本bootloader的2级boot段和2级boot备份段是否正在运行进行判断,根据判断结果选择是否将旧版本bootloader的2级boot段备份烧写到旧版本bootloader的2级boot备份段;
判断新版本bootloader的2级boot段是否已经压缩,若是没有压缩,压缩新版本bootloader的2级boot段,将压缩后的新版本bootloader的2级boot段升级到旧版本bootloader的2级boot段,更新结束。
启动更新固化后的bootloader的流程如图3所示。
先对嵌入式产品上电启动;运行CPU前导固件段;再运行1级boot段;
根据需求判断是否激活1级boot段的简易命令行、选择待引导的2级boot、对2级boot段和2级boot备份段进行选择校验,最后对2级boot段和2级boot备份段选择解码、运行,完成bootloader的启动。
所述1级boot段的简易命令行若是选择激活,激活后选择待引导的2级boot,若选择引导的为2级boot段,需要校验2级boot段是否正常,若选择引导的为2级boot备份段,需要校验2级boot备份段是否正常;
所述1级boot段的简易命令行若是选择不激活,需要校验2级boot段是否正常,若2级boot段校验正常,解码2级boot段并运行,若2级boot段校验错误,校验2级boot备份段是否正常。
所述2级boot备份段若是校验正常,解码2级boot备份段并运行,2级boot备份段若是校验错误,判断2级boot彻底故障,运行自定义应急策略。
实施例2
某CPU采用u-boot作为bootloader,原大小2MB,且采用SPI FLASH进行存储和启动,原bootloader结构如图4中的常规bootloader组成,其中:
CPU前导固件段:占用空间0~1MB;
boot段:占用空间1~2MB。但u-boot实际镜像不大于768KB。
2.由于SPI FLASH的块大小为64KB,因此按64KB为单位,对原bootloader进行改造和分割,结构如4中的本方案bootloader组成,其中:
CPU前导固件段:占用空间0~1MB。大小与内容与原bootloader保持一致;
1级boot段:占用1MB~(1MB+128KB)。原bootloader为u-boot,因此可以利用其SPL段,改造成1级boot段;
2级boot段:占用(1MB+128KB)~(1MB+576KB)。即原bootloader的boot段,该CPU的设计方案是在编译时直接将2级boot段进行压缩,压缩后大小小于448KB;
2级boot备份段:占用(1MB+576KB)~2MB。该段在编译时不存放文件,在固化时留给备份使用;
标签信息段:无。由于该CPU的bootloader不用考虑兼容性问题,因此可以省去标签信息。
改造后的bootloader的固化流程如图2所示。
先下载新版本bootloader;分别读取新版本bootloader标签信息段和旧版本bootloader标签信息段,根据两个标签信息段是否存在以及是否匹配进行更新固化;
所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段中只存在一个标签信息段时,判断为版本不兼容,采用常规更新模式;
所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段均存在时,对两个版本的标签信息段检验并对比是否匹配,若是不匹配,判断为版本不兼容,使用常规更新模式,若是匹配,采用安全固化更新模式;
所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段均不存在时,进入无标签更新模式,无标签更新模式与安全固化更新模式的更新步骤相同;
所述安全固化更新模式的步骤如下:
将旧版本bootloader的CPU前导固件段与新版本bootloader的CPU前导固件段进行对比,若两个版本的CPU前导固件段存在差异,对旧版本bootloader的CPU前导固件段进行升级;
将旧版本bootloader的1级boot段与新版本bootloader的1级boot段进行对比,若两个版本的1级boot段存在差异,对旧版本bootloader的1级boot段进行升级;
对旧版本bootloader的2级boot段和2级boot备份段是否正在运行进行判断,根据判断结果选择是否将旧版本bootloader的2级boot段备份烧写到旧版本bootloader的2级boot备份段;
判断新版本bootloader的2级boot段是否已经压缩,若是没有压缩,压缩新版本bootloader的2级boot段,将压缩后的新版本bootloader的2级boot段升级到旧版本bootloader的2级boot段,更新结束。
改造后的bootloader的启动引导流程如图3所示。
先对嵌入式产品上电启动;运行CPU前导固件段;再运行1级boot段;
根据需求判断是否激活1级boot段的简易命令行、选择待引导的2级boot、对2级boot段和2级boot备份段进行选择校验,最后对2级boot段和2级boot备份段选择解码、运行,完成bootloader的启动。
所述1级boot段的简易命令行若是选择激活,激活后选择待引导的2级boot,若选择引导的为2级boot段,需要校验2级boot段是否正常,若选择引导的为2级boot备份段,需要校验2级boot备份段是否正常;
所述1级boot段的简易命令行若是选择不激活,需要校验2级boot段是否正常,若2级boot段校验正常,解码2级boot段并运行,若2级boot段校验错误,校验2级boot备份段是否正常。
所述2级boot备份段若是校验正常,解码2级boot备份段并运行,2级boot备份段若是校验错误,判断2级boot彻底故障,运行自定义应急策略。
以上所述实施例仅表达了本申请的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形、改进及替代,这些都属于本申请的保护范围。
Claims (10)
1.一种低成本bootloader在线安全固化及安全启动方法,其特征在于,包括以下步骤:
步骤1、将bootloader的镜像存储空间划分为CPU前导固件段、1级boot段、2级boot段、2级boot备份段和标签信息段;
步骤2、将CPU独有的初始化程序存储至CPU前导固件段;用于解码和引导2级boot的1级boot存储至1级boot段;将包含bootloader完整功能的2级boot压缩存储至2级boot段;用于存放bootloader的空间分配信息存储至标签信息段;
步骤3、下载新版本bootloader,根据标签信息段依次对旧版本bootloader的CPU前导固件段、1级boot段、2级boot备份段和2级boot段进行定位更新固化;
步骤4、启动更新固化后的bootloader时,依次启动bootloader的CPU前导固件段、1级boot段、2级boot段或2级boot备份段,完成更新固化后的bootloader的安全启动。
2.根据权利要求1所述的一种低成本bootloader在线安全固化及安全启动方法,其特征在于,所述根据标签信息段依次对旧版本bootloader进行更新固化是分别读取新版本bootloader标签信息段和旧版本bootloader标签信息段,根据两个标签信息段是否存在以及是否匹配进行更新固化。
3.根据权利要求2所述的一种低成本bootloader在线安全固化及安全启动方法,其特征在于,所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段中只存在一个标签信息段时,判断为版本不兼容,采用常规更新模式。
4.根据权利要求3所述的一种低成本bootloader在线安全固化及安全启动方法,其特征在于,所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段均存在时,对两个版本的标签信息段检验并对比是否匹配,若是不匹配,判断为版本不兼容,使用常规更新模式,若是匹配,采用安全固化更新模式。
5.根据权利要求4所述的一种低成本bootloader在线安全固化及安全启动方法,其特征在于,所述新版本bootloader标签信息段与所述旧版本bootloader标签信息段均不存在时,进入无标签更新模式,无标签更新模式与安全固化更新模式的更新步骤相同。
6.根据权利要求5所述的一种低成本bootloader在线安全固化及安全启动方法,其特征在于,所述安全固化更新模式的步骤如下:
S1、将旧版本bootloader的CPU前导固件段与新版本bootloader的CPU前导固件段进行对比,若两个版本的CPU前导固件段存在差异,对旧版本bootloader的CPU前导固件段进行升级;
S2、将旧版本bootloader的1级boot段与新版本bootloader的1级boot段进行对比,若两个版本的1级boot段存在差异,对旧版本bootloader的1级boot段进行升级;
S3、对旧版本bootloader的2级boot段和2级boot备份段是否正在运行进行判断,根据判断结果选择是否将旧版本bootloader的2级boot段备份烧写到旧版本bootloader的2级boot备份段;
S4、判断新版本bootloader的2级boot段是否已经压缩,若是没有压缩,压缩新版本bootloader的2级boot段,将压缩后的新版本bootloader的2级boot段升级到旧版本bootloader的2级boot段,更新结束。
7.根据权利要求1所述的一种低成本bootloader在线安全固化及安全启动方法,其特征在于,所述启动更新固化后的bootloader是先对嵌入式产品上电启动,运行CPU前导固件段,再运行1级boot段,根据需求判断是否激活1级boot段的简易命令行、选择待引导的2级boot、对2级boot段和2级boot备份段进行选择校验,最后对2级boot段和2级boot备份段选择解码、运行,完成bootloader的启动。
8.根据权利要求7所述的一种低成本bootloader在线安全固化及安全启动方法,其特征在于,所述1级boot段的简易命令行若是选择激活,激活后选择待引导的2级boot,若选择引导的为2级boot段,需要校验2级boot段是否正常,若选择引导的为2级boot备份段,需要校验2级boot备份段是否正常;所述1级boot段的简易命令行若是选择不激活,需要校验2级boot段是否正常,若2级boot段校验正常,解码2级boot段并运行,若2级boot段校验错误,校验2级boot备份段是否正常。
9.根据权利要求8所述的一种低成本bootloader在线安全固化及安全启动方法,其特征在于,所述2级boot备份段若是校验正常,解码2级boot备份段并运行,2级boot备份段若是校验错误,判断2级boot彻底故障,运行自定义应急策略。
10.根据权利要求1所述的一种低成本bootloader在线安全固化及安全启动方法,其特征在于,所述2级boot压缩后容量小于压缩前2级boot容量的50%,压缩后的2级boot备份镜像容量小于压缩前2级boot备份镜像容量的50%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311058157.5A CN117034294A (zh) | 2023-08-22 | 2023-08-22 | 一种低成本bootloader在线安全固化及安全启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311058157.5A CN117034294A (zh) | 2023-08-22 | 2023-08-22 | 一种低成本bootloader在线安全固化及安全启动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117034294A true CN117034294A (zh) | 2023-11-10 |
Family
ID=88640975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311058157.5A Pending CN117034294A (zh) | 2023-08-22 | 2023-08-22 | 一种低成本bootloader在线安全固化及安全启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117034294A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117762449A (zh) * | 2023-12-20 | 2024-03-26 | 苏州承泰科技有限公司 | 一种毫米波雷达软件升级备份方法 |
-
2023
- 2023-08-22 CN CN202311058157.5A patent/CN117034294A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117762449A (zh) * | 2023-12-20 | 2024-03-26 | 苏州承泰科技有限公司 | 一种毫米波雷达软件升级备份方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8423991B2 (en) | Embedded network device and firmware upgrading method | |
JP3364356B2 (ja) | メモリ書替え装置 | |
US7313682B2 (en) | Method and system for updating boot memory that stores a fail-safe reset code and is configured to store boot code and boot updater code | |
CN103299276A (zh) | 嵌入式装置的软件更新过程 | |
CN104239082A (zh) | 嵌入式系统的热补丁实现方法 | |
CN101373451B (zh) | 保护双基本输出入系统程序的计算机系统及其控制方法 | |
CN102334100A (zh) | 程序更新设备、程序更新方法以及信息处理设备 | |
CN103455354A (zh) | 一种防止固件升级失败的方法和设备 | |
CN101650662A (zh) | 一种嵌入式系统的存储器件、固件启动及升级方法 | |
CN105260215A (zh) | 一种u盘升级车载行车记录仪终端的方法 | |
TW201520895A (zh) | Bios自動恢復系統及方法 | |
CN111552592A (zh) | 一种双备份启动方法及系统 | |
CN101593120A (zh) | 带外升级方法和系统 | |
CN117034294A (zh) | 一种低成本bootloader在线安全固化及安全启动方法 | |
CN109634781B (zh) | 一种基于嵌入式程序双区备份映像系统及启动方法 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
CN109582332B (zh) | 互联网摄像机的系统升级方法及装置 | |
CN113110891B (zh) | 固态硬盘的固件加载方法、装置、计算机设备及存储介质 | |
CN111767172A (zh) | 一种基于看门狗及bootloader的机顶盒自修复办法 | |
CN115718610A (zh) | 一种可靠的单片机应用程序更新的方法 | |
CN113641390B (zh) | 一种系统升级方法、装置、设备及存储介质 | |
CN214376406U (zh) | 集成电路、车载控制器以及车辆 | |
CN117908916A (zh) | 一种基于STM32的改进Bootloader进行IAP升级的方法 | |
CN104657232A (zh) | Bios自动恢复系统及方法 | |
CN113867807A (zh) | 一种缩短服务器上电时间的方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |