[发明专利]嵌入式设备上使用双代码镜像运行的方法无效
申请号: | 201110197027.0 | 申请日: | 2011-07-14 |
公开(公告)号: | CN102289395A | 公开(公告)日: | 2011-12-21 |
发明(设计)人: | 刘宏钧;王志波;汪澜 | 申请(专利权)人: | 深圳市共进电子有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F9/445 |
代理公司: | 深圳市智科友专利商标事务所 44241 | 代理人: | 陈润生 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 设备 使用 代码 运行 方法 | ||
技术领域
本发明涉及嵌入式设备的闪存中的代码镜像管理技术,通过对闪存空间结构的改进,添加了辅代码镜像存储空间作为主代码镜像存储空间的补充来保证嵌入式设备程序代码的安全可靠,特别适合于程序代码通过网络自动升级的设备。
背景技术
现有技术中,嵌入式设备的程序代码一般都保存在闪存等非易失性存储器里面。最初程序代码都是只读的,但是由于技术发展很快,代码需要不断升级更新版本,或者由于其他需要保存程序以外的其它数据,如修改配置,记录运行相关的数据进行改写。而在改写或升级的过程中可能会出现断电,电压信号不稳定形成错误的指令,等等情况都可能造成程序代码的损坏,从而导致嵌入式设备无法正常工作。因此程序代码的备份与安全加载就显得非常重要。
现有技术有提出过交叉双备份的机制,但目前已不能完全满足需要。主要原因是目前嵌入式设备的功能越来越多,越来越复杂,代码容量越来越大,nor flash可能达到8MB,16MB,甚至32MB,nand flash就更大了。因此原有双备份技术需要两倍大小的flash,和单个的代码镜像价格差别很明显了,使得flash成本增加很多。在许多行业嵌入式设备的利润率非常低,因此降低成本就变成了一个迫切的课题。
发明内容
本发明的目的就是为了提供一种大大降低成本,且满足嵌入式设备安全备份及加载的方法,在flash存储空间中增加分配辅代码镜像的存储空间,通过辅代码镜像存储空间与主代码镜像存储空间形成了双代码镜像的运行与更新的机制,一旦主镜像存储空间中的镜像文件损坏,可以加载辅代码镜像来运行和升级。
本发明为实现发明目的采用的技术方案是,嵌入式设备上使用双代码镜像运行的方法,以上方法是通过闪存单元中的镜像代码存储区实现加载运行的过程,闪存单元的结构中包括启动代码区、非易失性随即存储区、配置信息命令存储区、代码镜像存储区、以及用户代码区,关键是:所述的代码镜像存储区包括一个主代码镜像存储区和至少一个辅代码镜像存储区,双代码镜像运行的步骤包括:
a、启动系统启动引导区中的引导程序;
b、从非易失性随即存储区读取配置以及两个代码镜像中镜像的信息;
c、分别借助主代码镜像存储区和辅代码镜像存储区中的crc校验码对主镜像信息和辅镜像信息进行校验,校验结果按以下3种情况进行处理:
c1、如果主镜像信息完整,从主代码镜像存储区启动,并跳至步骤d;
c2、如果主镜像信息不完整、辅镜像信息完整,从辅代码镜像存储区启动,并跳至步骤d;
c3、主镜像信息不完整、辅镜像信息不完整,报警出错,并跳至步骤d;
d、双代码镜像运行过程结束。
本发明提出了一种新的代码镜像的生成、加载、运行及更新机制,在主代码镜像的基础上增加了辅代码镜像作为备份和补充,其中辅代码镜像存储空间是一个最小的应用系统或者包含其它被认为有必要的功功能,包含基本的系统功能,便于维护和升级,通常是对主代码镜像的功能进行裁剪后编译生成的,相比以往用双flash进行交叉备份的方式,可以节省一半flash的存储空间,成本更加低廉,具有很好的经济效益。
下面结合附图对本发明进行详细说明。
附图说明
图1是本发明中的flash空间结构示意图,以16MB的nor flash为例。
图2是本发明的方法流程图。
具体实施方式
嵌入式设备上使用双代码镜像运行的方法,以上方法是通过闪存单元中的镜像代码存储区实现加载运行的过程,闪存单元的结构中包括启动代码区、非易失性随即存储区、配置信息命令存储区、代码镜像存储区、以及用户代码区,关键是:所述的代码镜像存储区包括一个主代码镜像存储区和至少一个辅代码镜像存储区,双代码镜像运行的步骤包括:
a、启动系统启动引导区中的引导程序;
b、从非易失性随即存储区读取配置以及两个代码镜像中镜像的信息;
c、分别借助主代码镜像存储区和辅代码镜像存储区中的crc校验码对主镜像信息和辅镜像信息进行校验,校验结果按以下3种情况进行处理:
c1、如果主镜像信息完整,从主代码镜像存储区启动,并跳至步骤d;
c2、如果主镜像信息不完整、辅镜像信息完整,从辅代码镜像存储区启动,并跳至步骤d;
c3、主镜像信息不完整、辅镜像信息不完整,报警出错,并跳至步骤d;
d、双代码镜像运行过程结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市共进电子有限公司,未经深圳市共进电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110197027.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种烘干机电机用外壳
- 下一篇:一种烘干机电机用外壳组件