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

文档序号:6537953阅读:162来源:国知局
嵌入式系统的快速安全启动装置以及启动方法
【专利摘要】本发明公开了一种嵌入式系统的快速安全启动装置,它包括闪存、外部随机存取存储器、具有内部随机存取存储器的微控制单元,闪存和外部随机存取存储器的数据线均连接上述微控制单元的数据总线、闪存和外部随机存取存储器的地址线均连接上述微控制单元的地址总线,它还包括循环冗余校验码校验器,循环冗余校验码校验器的数据线连接上述微控制单元的数据总线,循环冗余校验码校验器的地址线连接上述微控制单元的地址总线。本发明能使嵌入式系统快速且安全的启动。
【专利说明】嵌入式系统的快速安全启动装置以及启动方法
【技术领域】
[0001]本发明涉及嵌入式系统应用【技术领域】,具体地指一种嵌入式系统的快速安全启动装置以及启动方法。
【背景技术】
[0002]现有的嵌入式系统的启动装置由微控制单元、闪存和外部随机存取存储器组成,嵌入式设备上电后,先通过引导程序(Bootloader)对系统的硬软件进行基本的初始化工作,然后进入系统启动流程。嵌入式系统的启动通常有两种方式,一种是直接从闪存上启动,另一种是将镜像文件从闪存中复制、解压到外部随机存取存储器中,再从外部随机存取存储器运行,相比而言,由于后者有拷贝和解压的过程,启动时间比较长,但后者在内存中运行的是镜像文件的拷贝,安全性比较高,在一些对安全要求高的场合使用比较多。
[0003]但这种安全性有一定的局限,因为闪存上的镜像文件一旦损坏系统将无法启动。有的系统虽然通过引导程序对镜像文件进行校验以判断文件的合法性,但这会增加启动时间,如果镜像文件比较大,将严重影响用户的体验。

【发明内容】

[0004]本发明的目的就是要提供一种嵌入式系统的快速安全启动装置以及启动方法,该装置和方法能提高嵌入式系统启动时的速度和安全性。
[0005]为实现此目的,本发明所设计的嵌入式系统的快速安全启动装置,它包括闪存、夕卜部随机存取存储器、微控制单元,所述闪存和外部随机存取存储器的数据线均连接上述微控制单元的数据总线、闪存和外部随机存取存储器的地址线均连接上述微控制单元的地址总线,其特征在于:它还包括循环冗余校验码校验器,其中,所述循环冗余校验码校验器的数据线连接上述微控制单元的数据总线,循环冗余校验码校验器的地址线连接上述微控制单元的地址总线。
[0006]所述微控制单元为具有内部随机存取存储器的微控制单元。
[0007]所述循环冗余校验码校验器为现场可编程门阵列循环冗余校验码校验器。
[0008]一种利用上述嵌入式系统的快速安全启动装置的嵌入式系统启动方法,其特征在于,它包括如下步骤:
[0009]步骤1:嵌入式系统的快速安全启动装置上电,微控制单元内部的固件程序将闪存上的引导程序拷贝到微控单元的内部随机存取存储器中,然后微控制单元内部的固件程序跳转到引导程序的入口启动引导程序;
[0010]步骤2:所述引导程序取出闪存上嵌入式系统镜像文件的循环冗余校验码记录值;
[0011]步骤3:所述引导程序将存储在闪存上嵌入式系统镜像文件的一个分段加载到外部随机存取存储器中;
[0012]步骤4:在步骤3进行的同时,引导程序控制循环冗余校验码校验器通过直接内存存取方式从闪存上取出嵌入式系统镜像文件中的一个分段,该分段与步骤3中的分段位置
一样;
[0013]步骤5:控制循环冗余校验码校验器对上述提取的嵌入式系统镜像文件中的分段进行循环冗余校验处理,所述引导程序将循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值进行比较,如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值一致,则说明嵌入式系统镜像文件中的这一个分段没有损坏,将该分段加载到外部随机存取存储器中;如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值不一致,则说明嵌入式系统镜像文件中的这一个分段损坏,则引导程序从存储在闪存上的嵌入式系统备份镜像文件中取出与步骤3的嵌入式系统镜像文件分段对应的嵌入式系统备份镜像文件分段,引导程序将嵌入式系统备份镜像文件分段,加载到外部随机存取存储器中来替换上述损坏的嵌入式系统镜像文件分段;
[0014]步骤6:对嵌入式系统镜像文件剩下的所有分段按照步骤3?步骤5的操作,在外部随机存取存储器内加载经过循环冗余校验处理后的嵌入式系统镜像文件;
[0015]步骤7:引导程序跳转到上述经过循环冗余校验处理的嵌入式系统镜像文件加载后的内核系统的入口地址,即完成嵌入式系统的启动工作。
[0016]本发明中由于新增了循环冗余校验码校验器,且新增的循环冗余校验码校验器是基于现场可编程门阵列实现的,而现场可编程门阵列能以快速的逻辑运算能力完成循环冗余校验工作,通过这种方式加载嵌入式系统,可以使得嵌入式设备系统快速又安全的启动。
[0017]另外,本发明可以使嵌入式系统镜像文件分段加载到外部随机存取存储器和循环冗余校验的两个过程并发执行(步骤3?步骤5中描述),通过将嵌入式系统镜像文件分段校验,并且拷贝(嵌入式系统镜像文件分段加载到外部随机存取存储器)和校验(校验采用物理器件)同步进行的方式,从而能够在速度和安全上同时兼顾。这种方法相对于【背景技术】中介绍的传统方式(传统方式中均没有进行嵌入式系统镜像文件的分段校验,安全性难以保证,并且,也没有设计嵌入式系统镜像文件拷贝和校验同时进行的方法),其优势是能够适应高速度和高安全性要求的场合。实现系统的快速安全启动,即使镜像文件有损坏部分也可以通过备份的镜像文件来进行替换,不存在【背景技术】的第二种方案中出现的嵌入式系统无法启动的问题。
【专利附图】

【附图说明】
[0018]图1为本发明的结构示意图;
[0019]其中,1一微控制单兀、1.1一数据总线、1.2—地址总线、2—闪存、3—外部随机存取存储器、4 一循环冗余校验码校验器。
【具体实施方式】
[0020]以下结合附图和具体实施例对本发明作进一步的详细说明:
[0021]如图1所示的嵌入式系统的快速安全启动装置,它包括闪存2、外部随机存取存储器3、微控制单元1,所述闪存2和外部随机存取存储器3的数据线均连接上述微控制单元I的数据总线1.1、闪存2和外部随机存取存储器3的地址线均连接上述微控制单元I的地址总线1.2,其特征在于:它还包括循环冗余校验码校验器4,其中,所述循环冗余校验码校验器4的数据线连接上述微控制单元I的数据总线1.1,循环冗余校验码校验器4的地址线连接上述微控制单元I的地址总线1.2。
[0022]上述微控制单元I为具有内部随机存取存储器的微控制单元。
[0023]上述循环冗余校验码校验器4为现场可编程门阵列循环冗余校验码校验器,即所述循环冗余校验码校验器4为基于现场可编程门阵列实现。
[0024]一种利用上述嵌入式系统的快速安全启动装置的嵌入式系统启动方法,它包括如下步骤:
[0025]步骤1:嵌入式系统的快速安全启动装置上电,微控制单元I内部的固件程序将闪存2上的引导程序拷贝到微控单元I的内部随机存取存储器中,然后微控制单元I内部的固件程序跳转到引导程序的入口启动引导程序;
[0026]步骤2:所述引导程序取出闪存2上嵌入式系统镜像文件的循环冗余校验码记录值;
[0027]步骤3:所述引导程序将存储在闪存2上嵌入式系统镜像文件的一个分段加载到外部随机存取存储器3中;
[0028]步骤4:在步骤3进行的同时,引导程序控制循环冗余校验码校验器4通过直接内存存取方式从闪存2上取出嵌入式系统镜像文件中的一个分段,该分段与步骤3中的分段
位置一样;
[0029]步骤5:控制循环冗余校验码校验器4对上述提取的嵌入式系统镜像文件中的分段进行循环冗余校验处理,所述引导程序将循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值进行比较,如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值一致,则说明嵌入式系统镜像文件中的这一个分段没有损坏,将该分段加载到外部随机存取存储器3中;如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值不一致,则说明嵌入式系统镜像文件中的这一个分段损坏,则引导程序从存储在闪存2上的嵌入式系统备份镜像文件中取出与步骤3的嵌入式系统镜像文件分段对应的嵌入式系统备份镜像文件分段,引导程序将嵌入式系统备份镜像文件分段,加载到外部随机存取存储器3中来替换上述损坏的嵌入式系统镜像文件分段;
[0030]步骤6:对嵌入式系统镜像文件剩下的所有分段按照步骤3?步骤5的操作,在外部随机存取存储器3内加载经过循环冗余校验处理后的嵌入式系统镜像文件;
[0031]步骤7:引导程序跳转到上述经过循环冗余校验处理的嵌入式系统镜像文件加载后的内核系统的入口地址,即完成嵌入式系统的启动工作。
[0032]本实施例中,嵌入式系统镜像文件大小是10兆,一个分段的大小为I兆。
[0033]上述技术方案中,在制作上述嵌入式系统镜像文件时,将按照一定大小比例产生的循环冗余校验码进行记录并存放在嵌入式系统镜像文件的特定位置。
[0034]本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【权利要求】
1.一种嵌入式系统的快速安全启动装置,它包括闪存(2)、外部随机存取存储器(3)、微控制单元(I ),所述闪存(2)和外部随机存取存储器(3)的数据线均连接上述微控制单元Cl)的数据总线(1.1)、闪存(2)和外部随机存取存储器(3)的地址线均连接上述微控制单元(I)的地址总线(1.2),其特征在于:它还包括循环冗余校验码校验器(4),其中,所述循环冗余校验码校验器(4)的数据线连接上述微控制单元(I)的数据总线(1.1 ),循环冗余校验码校验器(4)的地址线连接上述微控制单元(I)的地址总线(1.2)。
2.根据权利要求1所述的嵌入式系统的快速安全启动装置,其特征在于:所述微控制单元(I)为具有内部随机存取存储器的微控制单元。
3.根据权利要求1所述的嵌入式系统的快速安全启动装置,其特征在于:所述循环冗余校验码校验器(4 )为现场可编程门阵列循环冗余校验码校验器。
4.一种利用权利要求2所述嵌入式系统的快速安全启动装置的嵌入式系统启动方法,其特征在于,它包括如下步骤: 步骤1:嵌入式系统的快速安全启动装置上电,微控制单元(I)内部的固件程序将闪存(2)上的引导程序拷贝到微控单元(I)的内部随机存取存储器中,然后微控制单元(I)内部的固件程序跳转到引导程序的入口启动引导程序; 步骤2:所述引导程序取出闪存(2)上嵌入式系统镜像文件的循环冗余校验码记录值; 步骤3:所述引导程序将存储在闪存(2)上嵌入式系统镜像文件的一个分段加载到外部随机存取存储器(3)中; 步骤4:在步骤3进行的同时,引导程序控制循环冗余校验码校验器(4)通过直接内存存取方式从闪存(2)上取出嵌入式系统镜像文件中的一个分段,该分段与步骤3中的分段位置一样; 步骤5:控制循环冗余校验码校验器(4)对上述提取的嵌入式系统镜像文件中的分段进行循环冗余校验处理,所述引导程序将循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值进行比较,如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值一致,则说明嵌入式系统镜像文件中的这一个分段没有损坏,将该分段加载到外部随机存取存储器(3)中;如果循环冗余校验处理的结果与步骤2中取出的嵌入式系统镜像文件相应分段对应的循环冗余校验码记录值不一致,则说明嵌入式系统镜像文件中的这一个分段损坏,则引导程序从存储在闪存(2)上的嵌入式系统备份镜像文件中取出与步骤3的嵌入式系统镜像文件分段对应的嵌入式系统备份镜像文件分段,引导程序将嵌入式系统备份镜像文件分段,加载到外部随机存取存储器(3)中来替换上述损坏的嵌入式系统镜像文件分段; 步骤6:对嵌入式系统镜像文件剩下的所有分段按照步骤3?步骤5的操作,在外部随机存取存储器(3)内加载经过循环冗余校验处理后的嵌入式系统镜像文件; 步骤7:引导程序跳转到上述经过循环冗余校验处理的嵌入式系统镜像文件加载后的内核系统的入口地址,即完成嵌入式系统的启动工作。
【文档编号】G06F9/445GK103793250SQ201410054372
【公开日】2014年5月14日 申请日期:2014年2月18日 优先权日:2014年2月18日
【发明者】彭骞, 梁红军, 赵正, 祁焱, 沈亚非, 陈凯, 秦明, 唐奇林 申请人:武汉精立电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1