CN116700061A - 一种基于安全启动技术的快速启动方法 - Google Patents
一种基于安全启动技术的快速启动方法 Download PDFInfo
- Publication number
- CN116700061A CN116700061A CN202310388578.8A CN202310388578A CN116700061A CN 116700061 A CN116700061 A CN 116700061A CN 202310388578 A CN202310388578 A CN 202310388578A CN 116700061 A CN116700061 A CN 116700061A
- Authority
- CN
- China
- Prior art keywords
- boot2
- quick start
- starting
- executing
- quick
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012795 verification Methods 0.000 claims abstract description 17
- 230000009191 jumping Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24215—Scada supervisory control and data acquisition
Abstract
本发明涉及汽车系统技术领域,涉及一种基于安全启动技术的快速启动方法,包括:A、MCU上电复位,运行BOOT1;B、BOOT1读取快速启动标志位;如果需要执行快速启动,则执行步骤C;反之,则执行步骤D;C、BOOT1只需要校验用户固件;如果校验通过,则运行用户固件,安全启动成功;反之,则执行步骤F;D、BOOT1校验BOOT2;如果校验通过,则执行步骤E;如果不通过,则执行步骤F;E、运行BOOT2,等待非安全启动的功能运行完成;完成后,BOOT2校验用户固件;如果校验通过,安全启动成功;如果不通过,则执行步骤F;F、安全启动失败,进行异常处理。本发明能较佳的实现快速启动。
Description
技术领域
本发明涉及汽车系统技术领域,具体地说,涉及一种基于安全启动技术的快速启动方法。
背景技术
汽车微控制器负责控制汽车内所有的电子系统,包括多媒体、音响、导航、悬挂等所有承载着汽车系统中的各种运算与控制功能,并且可以平衡各个电子系统的工作,因此MCU的安全至关重要,而与此同时在保证安全的前提下不影响用户的使用体验增加MCU的运行效率缩短开机时间,需要在安全和效率之间寻找的一个有效的平衡。
一般,快速安全启动需要运行环境的支持:硬件层面,其运行在MCU;软件层面,其运行在二级BOOT。对于二级BOOT的快速安全启动,介绍如下:
对于集成BootLoader功能的MCU,BootLoader用以引导程序的启动。引导功能主要包括:是否需要跳转固件、需要跳转到哪个固件以及跳转到被选中的固件。
一般的BootLoader方案,其MCU包含两个固件区域,一是BootLoader区,二是用户固件区(以下简称APP区)。基于安全考虑,需要为BootLoader引入安全启动功能。
安全启动用于保证APP区的安全性。加入安全启动功能的BootLoader方案其执行流程为:MCU上电复位后运行BootLoader,然后BootLoader校验APP,如果校验通过,则允许BootLoader跳转至APP,安全启动成功;反之,安全启动失败。
BootLoader一般会被固化在硬件上导致其重新刷写不易,并且BootLoader功能过多也会导致其故障率提高。基于以上两点考虑,BootLoader一般不会被设计的过于复杂,用以减少故障率,从而尽量避免重新刷写BootLoader。
为了在增强BootLoader功能性的同时又不提高其故障率,可以选择采用二级BOOT的方案。二级BOOT的方案分为三个固件区域:一级BOOT区(简称BOOT1)、二级BOOT区(简称BOOT2)、用户固件区。将这些区域设置为如下:
BOOT1:设置为只读属性,用于防止恶意刷写,保证其安全性;并且其足够简单,只具备较为基础的功能,可大大减少其出现故障的概率。
BOOT2:可读可写,可承载更多的功能;如果其出现故障,可以在不借助外力的条件下被BOOT1重新刷写。
用户固件区:用户自定义功能。
带安全启动的二级BOOT方案其大致的执行流程为:MCU上电复位后运行BOOT1,BOOT1校验BOOT2的固件,如果校验无误则运行BOOT2,BOOT2先运行一些非安全启动功能后再校验用户固件,如果其校验无误则运行用户固件,安全启动完成。
二级BOOT的方案需前后运行两个BOOT固件,固件数量的增多会延缓整个系统的安全启动,因此需要一个快速安全启动二级BOOT的方法用以加快整个系统的启动速度。
发明内容
本发明的内容是提供一种基于安全启动技术的快速启动方法,其能够快速安全启动二级BOOT。
根据本发明的一种基于安全启动技术的快速启动方法,其包括以下步骤:
步骤A、MCU上电复位,运行BOOT1,执行步骤B;
步骤B、BOOT1读取快速启动标志位;如果需要执行快速启动,则执行步骤C;如果不需要执行快速启动,则执行步骤D;
步骤C、BOOT1只需要校验用户固件;如果校验通过,则运行用户固件,安全启动成功,快速启动完成;反之,则执行步骤F;
步骤D、BOOT1校验BOOT2;如果校验通过,则执行步骤E;如果不通过,则执行步骤F;
步骤E、运行BOOT2,等待非安全启动的功能运行完成;完成后,BOOT2校验用户固件;如果校验通过,安全启动成功,运行用户固件,非快速启动完成;如果不通过,则执行步骤F;
步骤F、安全启动失败,进行异常处理。
作为优选,当BOOT2只需执行校验用户固件和跳转到用户固件的功能时,MCU下次上电复位将被允许跳过BOOT2的执行,由BOOT1代替BOOT2执行上述的两个功能,即执行快速启动。
作为优选,由用户固件决策是否需要跳过BOOT2的执行并存储更新快速启动标志位。
作为优选,快速启动标志位要求存储在非易失性储存介质中,特性为数据掉电作为优选,由BOOT1读取快速启动标志位,并根据快速启动标志位决定是否执行快速启动;如果是MCU首次上电则默认不执行快速启动。
本发明涉及到的快速启动主要节省的时间在于跳过BOOT2的校验,而主要影响系统启动速度的因素就剩下:BOOT1校验用户固件。不校验BOOT2,系统就能节省大量的启动时间以达到快速启动的目的。
附图说明
图1为实施例中一种基于安全启动技术的快速启动方法的流程图;
图2为实施例中快速启动标志位的更新和使用的示意图。
具体实施方式
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。
实施例
如图1所示,本实施例提供了一种基于安全启动技术的快速启动方法,其包括以下步骤:
步骤A、MCU上电复位,运行BOOT1,执行步骤B;
步骤B、BOOT1读取快速启动标志位;如果需要执行快速启动,则执行步骤C;如果不需要执行快速启动,则执行步骤D;
步骤C、BOOT1只需要校验用户固件;如果校验通过,则运行用户固件,安全启动成功,快速启动完成;反之,则执行步骤F;
步骤D、BOOT1校验BOOT2;如果校验通过,则执行步骤E;如果不通过,则执行步骤F;
步骤E、运行BOOT2,等待非安全启动的功能运行完成;完成后,BOOT2校验用户固件;如果校验通过,安全启动成功,运行用户固件,非快速启动完成;如果不通过,则执行步骤F;
步骤F、安全启动失败,进行异常处理。
步骤B中,BOOT1会读取快速启动标志位,下面将会说明快速启动标志位的决策依据、决策、存储(更新)和使用:
1)快速启动标志位的决策依据
在上述的二级BOOT方案中,当BOOT2只需执行校验用户固件和跳转到用户固件的功能时,MCU下次上电复位将被允许跳过BOOT2的执行,可以由BOOT1代替BOOT2执行上述的两个功能,即执行快速启动。
2)快速启动标志位的决策和存储(更新)
由用户固件决策是否需要跳过BOOT2的执行并存储(更新)快速启动标志位。快速启动标志位要求存储在非易失性储存介质中,特性为数据掉电不失。
3)快速启动标志位的使用
由BOOT1读取快速启动标志位,并根据快速启动标志位决定是否执行快速启动。如果是MCU首次上电则默认不执行快速启动。
图2为快速启动标志位的更新和使用的示意图,图中,第N次和第N+1次运行表示第多少次上电复位(N>=2)。第N次运行时,由用户固件决策并更新快速启动标志位。第N+1次运行时,由BOOT1读取快速启动标志位,然后根据快速启动标志位决定是否执行快速启动。
本实施例涉及到的快速启动方法运行在搭载二级BOOT的MCU环境中。
二级BOOT的快速安全启动:在保证安全的情况下,系统能跳过BOOT2的运行,直接运行用户固件,加快启动速度。
在非快速启动二级BOOT的方案中,主要影响系统启动速度的因素有:
BOOT1校验BOOT2、BOOT2校验用户固件和BOOT2占用时间较多的非安全启动功能。上述的主要影响因素均会占用不小系统启动时间,校验用户固件是安全启动的根基,无法被省略;而BOOT2并不是在所有时间都要执行非安全启动功能。所以,当BOOT2只需执行校验用户固件和跳转到用户固件功能时,考虑使用BOOT1校验用户固件,并直接跳过BOOT2的运行。而系统既然跳过了BOOT2的运行,那么在本次运行中则不需要校验BOOT2。
本发明涉及到的快速启动主要节省的时间在于跳过BOOT2的校验,而主要影响系统启动速度的因素就剩下:BOOT1校验用户固件。一般情况下,系统校验BOOT2和用户固件的时间相当,在不考虑BOOT2非安全启动功能的情况下,不校验BOOT2,系统能够节省近一半的启动时间以达到快速启动的目的。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
Claims (5)
1.一种基于安全启动技术的快速启动方法,其特征在于:包括以下步骤:
步骤A、MCU上电复位,运行BOOT1,执行步骤B;
步骤B、BOOT1读取快速启动标志位;如果需要执行快速启动,则执行步骤C;如果不需要执行快速启动,则执行步骤D;
步骤C、BOOT1只需要校验用户固件;如果校验通过,则运行用户固件,安全启动成功,快速启动完成;反之,则执行步骤F;
步骤D、BOOT1校验BOOT2;如果校验通过,则执行步骤E;如果不通过,则执行步骤F;
步骤E、运行BOOT2,等待非安全启动的功能运行完成;完成后,BOOT2校验用户固件;如果校验通过,安全启动成功,运行用户固件,非快速启动完成;如果不通过,则执行步骤F;
步骤F、安全启动失败,进行异常处理。
2.根据权利要求1所述的一种基于安全启动技术的快速启动方法,其特征在于:当BOOT2只需执行校验用户固件和跳转到用户固件的功能时,MCU下次上电复位将被允许跳过BOOT2的执行,由BOOT1代替BOOT2执行上述的两个功能,即执行快速启动。
3.根据权利要求2所述的一种基于安全启动技术的快速启动方法,其特征在于:由用户固件决策是否需要跳过BOOT2的执行并存储更新快速启动标志位。
4.根据权利要求3所述的一种基于安全启动技术的快速启动方法,其特征在于:快速启动标志位要求存储在非易失性储存介质中,特性为数据掉电不失。
5.根据权利要求4所述的一种基于安全启动技术的快速启动方法,其特征在于:由BOOT1读取快速启动标志位,并根据快速启动标志位决定是否执行快速启动;如果是MCU首次上电则默认不执行快速启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310388578.8A CN116700061B (zh) | 2023-04-12 | 一种基于安全启动技术的快速启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310388578.8A CN116700061B (zh) | 2023-04-12 | 一种基于安全启动技术的快速启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116700061A true CN116700061A (zh) | 2023-09-05 |
CN116700061B CN116700061B (zh) | 2024-05-03 |
Family
ID=
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168702A1 (en) * | 2005-11-15 | 2007-07-19 | Dickenson Marc A | Method, system and computer program product for recovery of formatting in repair of bad sectors in flash memory |
KR20080050216A (ko) * | 2006-12-01 | 2008-06-05 | 한국전자통신연구원 | Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법 |
CN102902530A (zh) * | 2012-09-07 | 2013-01-30 | 四川长虹电器股份有限公司 | 一种基于linux嵌入式操作系统的程序校验装置 |
CN104007996A (zh) * | 2014-06-16 | 2014-08-27 | 南京融教科技有限公司 | 一种分布式控制系统的可靠固件升级实现方法 |
CN106325903A (zh) * | 2015-06-25 | 2017-01-11 | 中兴通讯股份有限公司 | 启动处理方法及装置 |
CN106776122A (zh) * | 2016-11-23 | 2017-05-31 | 武汉光迅科技股份有限公司 | 一种基于Flash启动过程中主备保护的方法 |
CN110032403A (zh) * | 2018-01-11 | 2019-07-19 | 旺宏电子股份有限公司 | 存储器装置与电子装置的启动程序加载方法 |
CN111316235A (zh) * | 2019-03-29 | 2020-06-19 | 深圳市大疆创新科技有限公司 | 启动系统的方法、电子设备、机器可读存储介质 |
CN111857785A (zh) * | 2019-04-29 | 2020-10-30 | 深圳市优必选科技有限公司 | 一种mcu的启动方法、装置及终端设备 |
CN113741944A (zh) * | 2021-08-16 | 2021-12-03 | 南京苏美达智能技术有限公司 | 一种具备升级功能的机器程序系统及升级方法与应用 |
CN114860292A (zh) * | 2022-04-25 | 2022-08-05 | 潍柴动力股份有限公司 | 终端设备固件升级控制方法、装置、计算机设备及介质 |
CN115080091A (zh) * | 2022-07-27 | 2022-09-20 | 成都国恒空间技术工程股份有限公司 | 一种卫星通信设备在线升级mcu固件的方法及系统 |
CN115562737A (zh) * | 2022-10-20 | 2023-01-03 | 科大讯飞股份有限公司 | 电子控制单元的控制方法、装置及域控制器的控制方法 |
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168702A1 (en) * | 2005-11-15 | 2007-07-19 | Dickenson Marc A | Method, system and computer program product for recovery of formatting in repair of bad sectors in flash memory |
KR20080050216A (ko) * | 2006-12-01 | 2008-06-05 | 한국전자통신연구원 | Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법 |
CN102902530A (zh) * | 2012-09-07 | 2013-01-30 | 四川长虹电器股份有限公司 | 一种基于linux嵌入式操作系统的程序校验装置 |
CN104007996A (zh) * | 2014-06-16 | 2014-08-27 | 南京融教科技有限公司 | 一种分布式控制系统的可靠固件升级实现方法 |
CN106325903A (zh) * | 2015-06-25 | 2017-01-11 | 中兴通讯股份有限公司 | 启动处理方法及装置 |
CN106776122A (zh) * | 2016-11-23 | 2017-05-31 | 武汉光迅科技股份有限公司 | 一种基于Flash启动过程中主备保护的方法 |
CN110032403A (zh) * | 2018-01-11 | 2019-07-19 | 旺宏电子股份有限公司 | 存储器装置与电子装置的启动程序加载方法 |
CN111316235A (zh) * | 2019-03-29 | 2020-06-19 | 深圳市大疆创新科技有限公司 | 启动系统的方法、电子设备、机器可读存储介质 |
CN111857785A (zh) * | 2019-04-29 | 2020-10-30 | 深圳市优必选科技有限公司 | 一种mcu的启动方法、装置及终端设备 |
CN113741944A (zh) * | 2021-08-16 | 2021-12-03 | 南京苏美达智能技术有限公司 | 一种具备升级功能的机器程序系统及升级方法与应用 |
CN114860292A (zh) * | 2022-04-25 | 2022-08-05 | 潍柴动力股份有限公司 | 终端设备固件升级控制方法、装置、计算机设备及介质 |
CN115080091A (zh) * | 2022-07-27 | 2022-09-20 | 成都国恒空间技术工程股份有限公司 | 一种卫星通信设备在线升级mcu固件的方法及系统 |
CN115562737A (zh) * | 2022-10-20 | 2023-01-03 | 科大讯飞股份有限公司 | 电子控制单元的控制方法、装置及域控制器的控制方法 |
Non-Patent Citations (3)
Title |
---|
佘磊;赵曦滨;陈渝;施鹤远;韦康;: "轨道交通实时以太网交换机启动性能的分析与优化", 计算机科学, no. 2, 15 November 2017 (2017-11-15) * |
王凯;王友顺;古大新;: "基于Linux系统的管道瓦斯综合参数测定仪启动时间优化", 煤矿安全, no. 09, 10 September 2010 (2010-09-10) * |
王殿升, 康金翠: "关于双系统共存的研究", 河北体育学院学报, no. 03, 30 September 2004 (2004-09-30) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101375992B1 (ko) | 불휘발성 메모리로부터의 디바이스 부트업 동안 에러들의 핸들링 | |
KR100987628B1 (ko) | 엠비디드 컨트롤러의 펌웨어 갱신방법 및 갱신용 펌웨어저장매체 | |
CN109358887B (zh) | 一种单片机程序的在线升级方法、装置及系统 | |
WO2022007656A1 (zh) | Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 | |
US7533290B2 (en) | Microcode updating error handling apparatus and method thereof | |
CN110096300B (zh) | 一种fpga程序文件备份管理系统、运行方法及升级方法 | |
CN111857776B (zh) | Dsp板卡类的应用程序的在线升级方法 | |
CN102023908A (zh) | 一种引导程序备份方法及装置 | |
CN113064604B (zh) | 一种固件升级方法和装置 | |
US20110265072A1 (en) | Dynamic Installation of Files for Running Programs | |
CN103577201A (zh) | 嵌入式双系统的更新方法及系统 | |
US20060206674A1 (en) | Optical disc drive and program code updating method thereof | |
CN116700061B (zh) | 一种基于安全启动技术的快速启动方法 | |
CN105335244B (zh) | 用于应用程序恢复的方法 | |
CN111124760B (zh) | 一种基于uboot的嵌入式设备启动方法及装置 | |
CN116700061A (zh) | 一种基于安全启动技术的快速启动方法 | |
CN102226888A (zh) | 框架加载方法及设备 | |
JP2000242484A (ja) | 制御プログラムの変更方法 | |
US20050144611A1 (en) | Method for determining program code | |
KR20180023575A (ko) | 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN103136234A (zh) | 处理数据的方法和装置 | |
CN108121562B (zh) | 固件版本切换方法、电子设备和bios芯片 | |
US7490232B2 (en) | Disk device using disk to rewrite firmware and firmware determination method | |
KR100714863B1 (ko) | 하드디스크 드라이브의 번-인 테스트 과정을 제어할 수있는 방법, 기록매체 및 하드디스크 드라이브 | |
US9773562B2 (en) | Storage apparatus, flash memory control apparatus, and program |
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 | ||
GR01 | Patent grant |