CN103793250A - 嵌入式系统的快速安全启动装置以及启动方法 - Google Patents

嵌入式系统的快速安全启动装置以及启动方法 Download PDF

Info

Publication number
CN103793250A
CN103793250A CN201410054372.2A CN201410054372A CN103793250A CN 103793250 A CN103793250 A CN 103793250A CN 201410054372 A CN201410054372 A CN 201410054372A CN 103793250 A CN103793250 A CN 103793250A
Authority
CN
China
Prior art keywords
embedded system
image file
redundancy check
crc
cyclic redundancy
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
Application number
CN201410054372.2A
Other languages
English (en)
Other versions
CN103793250B (zh
Inventor
彭骞
梁红军
赵正
祁焱
沈亚非
陈凯
秦明
唐奇林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Jingli Electronic Technology Co Ltd
Original Assignee
Wuhan Jingli Electronic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Jingli Electronic Technology Co Ltd filed Critical Wuhan Jingli Electronic Technology Co Ltd
Priority to CN201410054372.2A priority Critical patent/CN103793250B/zh
Publication of CN103793250A publication Critical patent/CN103793250A/zh
Application granted granted Critical
Publication of CN103793250B publication Critical patent/CN103793250B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种嵌入式系统的快速安全启动装置,它包括闪存、外部随机存取存储器、具有内部随机存取存储器的微控制单元,闪存和外部随机存取存储器的数据线均连接上述微控制单元的数据总线、闪存和外部随机存取存储器的地址线均连接上述微控制单元的地址总线,它还包括循环冗余校验码校验器,循环冗余校验码校验器的数据线连接上述微控制单元的数据总线,循环冗余校验码校验器的地址线连接上述微控制单元的地址总线。本发明能使嵌入式系统快速且安全的启动。

Description

嵌入式系统的快速安全启动装置以及启动方法
技术领域
本发明涉及嵌入式系统应用技术领域,具体地指一种嵌入式系统的快速安全启动装置以及启动方法。
背景技术
现有的嵌入式系统的启动装置由微控制单元、闪存和外部随机存取存储器组成,嵌入式设备上电后,先通过引导程序(Bootloader)对系统的硬软件进行基本的初始化工作,然后进入系统启动流程。嵌入式系统的启动通常有两种方式,一种是直接从闪存上启动,另一种是将镜像文件从闪存中复制、解压到外部随机存取存储器中,再从外部随机存取存储器运行,相比而言,由于后者有拷贝和解压的过程,启动时间比较长,但后者在内存中运行的是镜像文件的拷贝,安全性比较高,在一些对安全要求高的场合使用比较多。
但这种安全性有一定的局限,因为闪存上的镜像文件一旦损坏系统将无法启动。有的系统虽然通过引导程序对镜像文件进行校验以判断文件的合法性,但这会增加启动时间,如果镜像文件比较大,将严重影响用户的体验。
发明内容
本发明的目的就是要提供一种嵌入式系统的快速安全启动装置以及启动方法,该装置和方法能提高嵌入式系统启动时的速度和安全性。
为实现此目的,本发明所设计的嵌入式系统的快速安全启动装置,它包括闪存、外部随机存取存储器、微控制单元,所述闪存和外部随机存取存储器的数据线均连接上述微控制单元的数据总线、闪存和外部随机存取存储器的地址线均连接上述微控制单元的地址总线,其特征在于:它还包括循环冗余校验码校验器,其中,所述循环冗余校验码校验器的数据线连接上述微控制单元的数据总线,循环冗余校验码校验器的地址线连接上述微控制单元的地址总线。
所述微控制单元为具有内部随机存取存储器的微控制单元。
所述循环冗余校验码校验器为现场可编程门阵列循环冗余校验码校验器。
一种利用上述嵌入式系统的快速安全启动装置的嵌入式系统启动方法,其特征在于,它包括如下步骤:
步骤1:嵌入式系统的快速安全启动装置上电,微控制单元内部的固件程序将闪存上的引导程序拷贝到微控单元的内部随机存取存储器中,然后微控制单元内部的固件程序跳转到引导程序的入口启动引导程序;
步骤2:所述引导程序取出闪存上嵌入式系统镜像文件的循环冗余校验码记录值;
步骤3:所述引导程序将存储在闪存上嵌入式系统镜像文件的一个分段加载到外部随机存取存储器中;
步骤4:在步骤3进行的同时,引导程序控制循环冗余校验码校验器通过直接内存存取方式从闪存上取出嵌入式系统镜像文件中的一个分段,该分段与步骤3中的分段位置一样;
步骤5:控制循环冗余校验码校验器对上述提取的嵌入式系统镜像文件中的分段进行循环冗余校验处理,所述引导程序将循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值进行比较,如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值一致,则说明嵌入式系统镜像文件中的这一个分段没有损坏,将该分段加载到外部随机存取存储器中;如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值不一致,则说明嵌入式系统镜像文件中的这一个分段损坏,则引导程序从存储在闪存上的嵌入式系统备份镜像文件中取出与步骤3的嵌入式系统镜像文件分段对应的嵌入式系统备份镜像文件分段,引导程序将嵌入式系统备份镜像文件分段,加载到外部随机存取存储器中来替换上述损坏的嵌入式系统镜像文件分段;
步骤6:对嵌入式系统镜像文件剩下的所有分段按照步骤3~步骤5的操作,在外部随机存取存储器内加载经过循环冗余校验处理后的嵌入式系统镜像文件;
步骤7:引导程序跳转到上述经过循环冗余校验处理的嵌入式系统镜像文件加载后的内核系统的入口地址,即完成嵌入式系统的启动工作。
本发明中由于新增了循环冗余校验码校验器,且新增的循环冗余校验码校验器是基于现场可编程门阵列实现的,而现场可编程门阵列能以快速的逻辑运算能力完成循环冗余校验工作,通过这种方式加载嵌入式系统,可以使得嵌入式设备系统快速又安全的启动。
另外,本发明可以使嵌入式系统镜像文件分段加载到外部随机存取存储器和循环冗余校验的两个过程并发执行(步骤3~步骤5中描述),通过将嵌入式系统镜像文件分段校验,并且拷贝(嵌入式系统镜像文件分段加载到外部随机存取存储器)和校验(校验采用物理器件)同步进行的方式,从而能够在速度和安全上同时兼顾。这种方法相对于背景技术中介绍的传统方式(传统方式中均没有进行嵌入式系统镜像文件的分段校验,安全性难以保证,并且,也没有设计嵌入式系统镜像文件拷贝和校验同时进行的方法),其优势是能够适应高速度和高安全性要求的场合。实现系统的快速安全启动,即使镜像文件有损坏部分也可以通过备份的镜像文件来进行替换,不存在背景技术的第二种方案中出现的嵌入式系统无法启动的问题。
附图说明
图1为本发明的结构示意图;
其中,1—微控制单元、1.1—数据总线、1.2—地址总线、2—闪存、3—外部随机存取存储器、4—循环冗余校验码校验器。
具体实施方式
以下结合附图和具体实施例对本发明作进一步的详细说明:
如图1所示的嵌入式系统的快速安全启动装置,它包括闪存2、外部随机存取存储器3、微控制单元1,所述闪存2和外部随机存取存储器3的数据线均连接上述微控制单元1的数据总线1.1、闪存2和外部随机存取存储器3的地址线均连接上述微控制单元1的地址总线1.2,其特征在于:它还包括循环冗余校验码校验器4,其中,所述循环冗余校验码校验器4的数据线连接上述微控制单元1的数据总线1.1,循环冗余校验码校验器4的地址线连接上述微控制单元1的地址总线1.2。
上述微控制单元1为具有内部随机存取存储器的微控制单元。
上述循环冗余校验码校验器4为现场可编程门阵列循环冗余校验码校验器,即所述循环冗余校验码校验器4为基于现场可编程门阵列实现。
一种利用上述嵌入式系统的快速安全启动装置的嵌入式系统启动方法,它包括如下步骤:
步骤1:嵌入式系统的快速安全启动装置上电,微控制单元1内部的固件程序将闪存2上的引导程序拷贝到微控单元1的内部随机存取存储器中,然后微控制单元1内部的固件程序跳转到引导程序的入口启动引导程序;
步骤2:所述引导程序取出闪存2上嵌入式系统镜像文件的循环冗余校验码记录值;
步骤3:所述引导程序将存储在闪存2上嵌入式系统镜像文件的一个分段加载到外部随机存取存储器3中;
步骤4:在步骤3进行的同时,引导程序控制循环冗余校验码校验器4通过直接内存存取方式从闪存2上取出嵌入式系统镜像文件中的一个分段,该分段与步骤3中的分段位置一样;
步骤5:控制循环冗余校验码校验器4对上述提取的嵌入式系统镜像文件中的分段进行循环冗余校验处理,所述引导程序将循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值进行比较,如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值一致,则说明嵌入式系统镜像文件中的这一个分段没有损坏,将该分段加载到外部随机存取存储器3中;如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值不一致,则说明嵌入式系统镜像文件中的这一个分段损坏,则引导程序从存储在闪存2上的嵌入式系统备份镜像文件中取出与步骤3的嵌入式系统镜像文件分段对应的嵌入式系统备份镜像文件分段,引导程序将嵌入式系统备份镜像文件分段,加载到外部随机存取存储器3中来替换上述损坏的嵌入式系统镜像文件分段;
步骤6:对嵌入式系统镜像文件剩下的所有分段按照步骤3~步骤5的操作,在外部随机存取存储器3内加载经过循环冗余校验处理后的嵌入式系统镜像文件;
步骤7:引导程序跳转到上述经过循环冗余校验处理的嵌入式系统镜像文件加载后的内核系统的入口地址,即完成嵌入式系统的启动工作。
本实施例中,嵌入式系统镜像文件大小是10兆,一个分段的大小为1兆。
上述技术方案中,在制作上述嵌入式系统镜像文件时,将按照一定大小比例产生的循环冗余校验码进行记录并存放在嵌入式系统镜像文件的特定位置。
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (4)

1.一种嵌入式系统的快速安全启动装置,它包括闪存(2)、外部随机存取存储器(3)、微控制单元(1),所述闪存(2)和外部随机存取存储器(3)的数据线均连接上述微控制单元(1)的数据总线(1.1)、闪存(2)和外部随机存取存储器(3)的地址线均连接上述微控制单元(1)的地址总线(1.2),其特征在于:它还包括循环冗余校验码校验器(4),其中,所述循环冗余校验码校验器(4)的数据线连接上述微控制单元(1)的数据总线(1.1),循环冗余校验码校验器(4)的地址线连接上述微控制单元(1)的地址总线(1.2)。
2.根据权利要求1所述的嵌入式系统的快速安全启动装置,其特征在于:所述微控制单元(1)为具有内部随机存取存储器的微控制单元。
3.根据权利要求1所述的嵌入式系统的快速安全启动装置,其特征在于:所述循环冗余校验码校验器(4)为现场可编程门阵列循环冗余校验码校验器。
4.一种利用权利要求2所述嵌入式系统的快速安全启动装置的嵌入式系统启动方法,其特征在于,它包括如下步骤:
步骤1:嵌入式系统的快速安全启动装置上电,微控制单元(1)内部的固件程序将闪存(2)上的引导程序拷贝到微控单元(1)的内部随机存取存储器中,然后微控制单元(1)内部的固件程序跳转到引导程序的入口启动引导程序;
步骤2:所述引导程序取出闪存(2)上嵌入式系统镜像文件的循环冗余校验码记录值;
步骤3:所述引导程序将存储在闪存(2)上嵌入式系统镜像文件的一个分段加载到外部随机存取存储器(3)中;
步骤4:在步骤3进行的同时,引导程序控制循环冗余校验码校验器(4)通过直接内存存取方式从闪存(2)上取出嵌入式系统镜像文件中的一个分段,该分段与步骤3中的分段位置一样;
步骤5:控制循环冗余校验码校验器(4)对上述提取的嵌入式系统镜像文件中的分段进行循环冗余校验处理,所述引导程序将循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值进行比较,如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值一致,则说明嵌入式系统镜像文件中的这一个分段没有损坏,将该分段加载到外部随机存取存储器(3)中;如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值不一致,则说明嵌入式系统镜像文件中的这一个分段损坏,则引导程序从存储在闪存(2)上的嵌入式系统备份镜像文件中取出与步骤3的嵌入式系统镜像文件分段对应的嵌入式系统备份镜像文件分段,引导程序将嵌入式系统备份镜像文件分段,加载到外部随机存取存储器(3)中来替换上述损坏的嵌入式系统镜像文件分段;
步骤6:对嵌入式系统镜像文件剩下的所有分段按照步骤3~步骤5的操作,在外部随机存取存储器(3)内加载经过循环冗余校验处理后的嵌入式系统镜像文件;
步骤7:引导程序跳转到上述经过循环冗余校验处理的嵌入式系统镜像文件加载后的内核系统的入口地址,即完成嵌入式系统的启动工作。
CN201410054372.2A 2014-02-18 2014-02-18 嵌入式系统的快速安全启动装置以及启动方法 Active CN103793250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410054372.2A CN103793250B (zh) 2014-02-18 2014-02-18 嵌入式系统的快速安全启动装置以及启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410054372.2A CN103793250B (zh) 2014-02-18 2014-02-18 嵌入式系统的快速安全启动装置以及启动方法

Publications (2)

Publication Number Publication Date
CN103793250A true CN103793250A (zh) 2014-05-14
CN103793250B CN103793250B (zh) 2017-03-08

Family

ID=50668965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410054372.2A Active CN103793250B (zh) 2014-02-18 2014-02-18 嵌入式系统的快速安全启动装置以及启动方法

Country Status (1)

Country Link
CN (1) CN103793250B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760201A (zh) * 2016-02-29 2016-07-13 华为技术有限公司 一种嵌入式装置的启动方法和装置
CN108132853A (zh) * 2017-11-24 2018-06-08 北京动力机械研究所 用于发动机控制器软件的上电校验双冗余引导加载方法
CN112559071A (zh) * 2020-12-14 2021-03-26 上海航天控制技术研究所 一种用于dsp的分段双冗余引导加载方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163017A (zh) * 2007-08-28 2008-04-16 东南大学 嵌入式变电站信息集成服务器
CN101304517A (zh) * 2008-06-13 2008-11-12 南京邮电大学 无线多媒体传感器节点装置的实现方法
CN101441703A (zh) * 2008-10-08 2009-05-27 湖南大学 一种超高频射频身份识别系统的编译码电路
CN101593122A (zh) * 2009-06-24 2009-12-02 中兴通讯股份有限公司 一种嵌入式系统的启动方法和装置
CN204009864U (zh) * 2014-02-18 2014-12-10 武汉精立电子技术有限公司 嵌入式系统的快速安全启动装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163017A (zh) * 2007-08-28 2008-04-16 东南大学 嵌入式变电站信息集成服务器
CN101304517A (zh) * 2008-06-13 2008-11-12 南京邮电大学 无线多媒体传感器节点装置的实现方法
CN101441703A (zh) * 2008-10-08 2009-05-27 湖南大学 一种超高频射频身份识别系统的编译码电路
CN101593122A (zh) * 2009-06-24 2009-12-02 中兴通讯股份有限公司 一种嵌入式系统的启动方法和装置
CN204009864U (zh) * 2014-02-18 2014-12-10 武汉精立电子技术有限公司 嵌入式系统的快速安全启动装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760201A (zh) * 2016-02-29 2016-07-13 华为技术有限公司 一种嵌入式装置的启动方法和装置
WO2017148171A1 (zh) * 2016-02-29 2017-09-08 华为技术有限公司 一种嵌入式装置的启动方法和装置
CN105760201B (zh) * 2016-02-29 2019-05-28 华为技术有限公司 一种嵌入式装置的启动方法和装置
US11080066B2 (en) 2016-02-29 2021-08-03 Huawei Technologies Co., Ltd. Method for starting embedded apparatus, and apparatus
CN108132853A (zh) * 2017-11-24 2018-06-08 北京动力机械研究所 用于发动机控制器软件的上电校验双冗余引导加载方法
CN112559071A (zh) * 2020-12-14 2021-03-26 上海航天控制技术研究所 一种用于dsp的分段双冗余引导加载方法

Also Published As

Publication number Publication date
CN103793250B (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
CN102479098B (zh) 使用快照图像的引导设备和方法
CN106462520B (zh) 用于与非易失性双列直插式存储器模块的控制器通信的技术
WO2017080311A1 (zh) 指纹模板完善方法、装置和终端设备
US9152474B2 (en) Context aware synchronization using context and input parameter objects associated with a mutual exclusion lock
US11099831B2 (en) Firmware update in a storage backed memory system
CN104657160B (zh) 车载控制器多芯片应用程序的烧录方法
CN107111600B (zh) 通信接口初始化
CN107077407B (zh) 车辆控制装置
US20130060991A1 (en) Solid state drive and garbage collection control method thereof
CN102799452B (zh) 系统软件升级方法和装置
CN104581397A (zh) 安卓机顶盒的系统升级方法及装置
CN103793250A (zh) 嵌入式系统的快速安全启动装置以及启动方法
US11416236B2 (en) Over-the-air (OTA) updating of partially compressed firmware
US20150378630A1 (en) Method and Device of Data Protection, Storage Equipment
US20160085667A1 (en) Spi rom with built-in mask rom for bios
CN105786547A (zh) 一种实现操作系统重启的方法和装置
CN106325903A (zh) 启动处理方法及装置
WO2014183557A1 (zh) 一种星敏感器在轨维护方法
US20150154091A1 (en) Bios maintenance method
CN108897576B (zh) 一种基于arm芯片的快速启动boot的方法
KR102128472B1 (ko) 인-스토리지 컴퓨팅 동작들을 수행할 수 있는 스토리지 장치, 이의 동작 방법, 및 이를 포함하는 시스템
CN204009864U (zh) 嵌入式系统的快速安全启动装置
WO2014201885A1 (en) Method and system for invoking plug-in function
CN104615387B (zh) 基于xpe系统的车载设备及其设计方法
US9981184B2 (en) Method and system for invoking plug-in function

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant