[发明专利]一种防止CPU自锁的安全启动方法有效

专利信息
申请号: 201210054189.3 申请日: 2012-03-05
公开(公告)号: CN102622249A 公开(公告)日: 2012-08-01
发明(设计)人: 卢方勇;李峰;张洪柳;赵阳 申请(专利权)人: 山东华芯半导体有限公司
主分类号: G06F9/445 分类号: G06F9/445;G06F11/10
代理公司: 济南泉城专利商标事务所 37218 代理人: 丁修亭
地址: 250101 山东省济南市历下区(*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 防止 cpu 安全 启动 方法
【说明书】:

技术领域

发明涉及一种防止CPU自锁的安全启动方法。

背景技术

根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。嵌入式系统实际上是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

嵌入式系统中的软件通常被固化,而被称为固件(Firmware)。固件担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。

早期的固件指的是写入EROM或EPROM中的程序,对终端用户是不可见的,终端用户无法或者很难改变固件,当然,一般情况下也没有必要对固件进行操作。不过随着集成电路技术的发展,升级固件也变得越来越简单,越来越没有危险,固件程序与我们通常所说的程序的区别已经越来越小。

基于以上描述,会有这样的启动方式,在嵌入式开发过程中,嵌入式系统的启动大致分为两个阶段:先是引导程序的加载,然后才是固件程序启动。

一般,为了提高固件升级安全可靠,固件被封成两个部分被分开存放,其中,用于控制器启动的固件,即引导程序固化存储在芯片ROM中,用户不可见,一般不做修改;另一部分固件程序则存储在比较廉价的外部扩展存储系统中,比如闪存存储器(NAND Flash)。

上面提到的启动方式普遍应用在嵌入式系统的出厂生产中,以及在线升级当中。虽然固件升级(又叫固件刷新,刷写,重写,烧录或者刷机)的风险越来越小,但仍然有一定的风险型。例如,如果对嵌入式系统固件版本下载错误或者固件本身读取过程中出错,都可能将导致嵌入式系统无法启动甚至无法重新进行下载固件而导致报废的情况发生。因此,固件的正确性与否或者待加载的固件损坏与否是固件在线升级或者出厂生产中需要保证的重要条件之一。显见的是,除非专业人员,固件的正确性识别将是非常困难的,固件是否损坏更无法判断。同时,这种升级通常只保留一份固件,若升级失败,只能将Flash返厂修复。

发明内容

因此,本发明的目的在于通过对固件的正确性识别和损坏与否的判断,有效地防止CPU自锁的安全启动方法。

为了实现上述目的,所采用的技术方案为:

一种防止CPU自锁的安全启动方法,在嵌入式系统中,存在片上系统和作为该片上系统的外部存储扩展的闪存,其中片上系统含有CPU模块及集成在片上的功能模块,在所述闪存中开辟一存储空间,存放多份固件镜像;

系统初始化,在所述存储空间查找一份固件加载到片上系统,若查到,则判断所查到固件的正确性和完整性,并在同时满足正确性条件和完整性条件时,运行该固件;反之,则在所述存储空间查找下一份固件;

若在所述存储空间查找不到固件或者查找不到正确且完整的固件,转入固件加载失败流程。

依据上述防止CPU自锁的安全启动方法,通过线性验证固件的完整性与正确性,在满足这些条件后再加载该固件,从而避开了固件与嵌入式系统硬件平台不对应或者固件本身损坏时可能造成的CPU死锁。同时在闪存开辟的存储空间中存放多份固件镜像,可以保持固件的使用寿命,当一份固件不能满足加载条件时,可以查找下一份固件镜像,系统启动失败的概率被降低。由于固件不需要频繁更新,也就是相应的存储空间不会频繁的擦写,该存储空间的使用寿命通常要高于闪存的其他区域。

当所有固件都不能被加载时,因其本身没有进入加载程序,使得系统能够正常退出,还可以通过对闪存上的固件进行更新,也避免了固件下载错误或者失败可能导致启动自锁。

上述防止CPU自锁的安全启动方法,固件含有固件信息描述头和固件程序,其中固件信息描述头含有描述头标志、对应固件支持的功能模块识别码,从而判断所查到固件正确性与否的步骤为:

检查读取的数据中含有描述头标志,则说明此数据为固件描述头,否则扫描下一个闪存单元;

读取该固件支持的功能模块识别码,并与片上系统中的功能模块识别码做一致性比较,若一致,则表示当前固件是正确的固件,否则查找下一份固件或在所述存储空间被遍历的条件下等待固件更新。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东华芯半导体有限公司,未经山东华芯半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210054189.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top