CN102508728B - 一种对固化于flash载体的目标文件的检错及读取方法 - Google Patents
一种对固化于flash载体的目标文件的检错及读取方法 Download PDFInfo
- Publication number
- CN102508728B CN102508728B CN201110387858.4A CN201110387858A CN102508728B CN 102508728 B CN102508728 B CN 102508728B CN 201110387858 A CN201110387858 A CN 201110387858A CN 102508728 B CN102508728 B CN 102508728B
- Authority
- CN
- China
- Prior art keywords
- file destination
- content
- length
- verification
- read
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种对固化于FLASH载体的目标文件的检错及读取方法。首先,设置固化存储格式:将固化存储区域按照读取顺序依次分为目标文件的长度、长度MD5校验、内容MD5校验、目标文件的内容四个部分进行固化;然后,依次读取目标文件中存储的四部分信息,当机载嵌入式计算机读取固化到FLASH中的目标文件时,如果判断目标文件的长度MD5校验和内容MD5校验出错,则直接返回并告警,不再读出后面存储的内容信息。这样,当写入目标文件的过程中发生数据错误或丢失时,可以及时的发现该问题,方便用户发现错误并及时更正,丰富和便利了机载嵌入式计算机开发应用。
Description
技术领域
本发明涉及一种对固化于FLASH载体的目标文件的检错及读取方法。
背景技术
机载嵌入式计算机靠运行固化在FLASH中的.out或.bin等目标文件来工作,如操作系统、系统引导程序、BIT、应用程序等。直接将目标文件固化到FLASH简单方便,但是在写入过程中如果某一段数据出错或者丢失,则会造成读出的数据错误,而用户却无法判断读出数据的正确性,这将会影响机载嵌入式计算机的正常运行,甚至可能造成计算机的严重故障。
发明内容
本发明提供了一种对固化于FLASH载体的目标文件的检错及读取方法,以解决将目标文件直接写入FLASH存在读出数据时现有技术手段无法判断正确性的缺陷。
本发明的技术方案如下:
一种对固化于FLASH载体的目标文件的检错及读取方法,包括以下步骤:
(1)设置固化存储格式
将固化存储区域按照读取顺序依次分为目标文件的长度、长度MD5校验、内容MD5校验、目标文件的内容四个部分进行固化;
(2)读取目标文件
(2.1)首先读出目标文件的长度信息,然后继续读出长度MD5校验,如果正确,则继续步骤(2.2);如果有误则直接返回并告警,不再读出目标文件的内容;
(2.2)读出内容MD5校验,如果正确,则进行步骤(2.3);如果有误则直接返回并告警,不再读出目标文件的内容;
(2.3)正确读出目标文件的内容
按照目标文件中约定的函数名查找程序入口,发起一个任务来运行目标文件。
上述固化存储格式具体可以是:以偏移地址0x0为起始地址的四个连续地址存储的是目标文件的长度信息,以偏移地址0x10为起始地址的十六个连续地址存储长度MD5校验,以偏移地址0x20为起始地址的十六个连续地址存储内容MD5校验,以偏移地址0x40为起始地址的length个连续地址存储目标文件的内容;其中,length等于目标文件的长度。
上述步骤(2.1)和(2.2)中,如果有误则直接返回并告警,不再读出后面存储的内容;然后可以立即查找错误,重新固化目标文件;再返回步骤(2.1)开始读取。
本发明具有以下优点:
采用本发明的代码固化格式进行固化和读取,有效地提高了信息存储和程序运行的可靠性。代码固化格式由长度、长度MD5校验、内容MD5校验和内容组成。当机载嵌入式计算机读取固化到FLASH中的目标文件时,如果判断目标文件的长度MD5校验和内容MD5校验出错,则直接返回并告警,不再读出后面存储的内容信息。这样,当写入目标文件的过程中发生数据错误或丢失时,可以及时的发现该问题,方便用户发现错误并及时更正,丰富和便利了机载嵌入式计算机开发应用。
附图说明
图1为本发明的代码固化格式图。
图2为本发明的检错及读取流程示意图。
具体实施方式
本发明提供了一种简单高效的目标文件的检错及读取方法。固化到FLASH的目标文件由长度、长度MD5校验、内容MD5校验和内容组成,系统上电执行时首先读出长度信息,然后分别判断长度和内容的MD5校验,如果任一校验和有错则直接返回并告警,不再读出后面存储的内容。
目标文件具体的固化格式如图1所示,以偏移地址0x0为起始地址的4个连续地址存储的是目标文件的长度信息,以偏移地址0x10为起始地址的16个连续地址存储长度MD5校验,以偏移地址0x20为起始地址的16个连续地址存储内容MD5校验,以偏移地址0x40为起始地址的length(等于目标文件的长度)个连续地址存储目标文件的内容。
当从FLASH中读取目标文件时,若目标文件存储的起始地址为BASE_ADDR(基地址),首先从BASE_ADDR为起始地址读出目标文件的长度信息,然后从(BASE ADDR+0x10)为起始地址读出目标文件的长度MD5校验,如果有误则直接返回并告警,不再读出后面存储的内容。接着从(BASE_ADDR+0x20)为起始地址读出目标文件的内容MD5校验,如果有误则直接返回并告警,不再读出后面存储的内容。最后从(BASE_ADDR+0x40)为起始地址读出目标文件的内容。具体的流程如图2所示。
当从FLASH中读取已存取的数据时,通过判断长度和内容的MD5校验就可以知道写入的数据是否有错或丢失。当长度MD5校验和内容MD5校验有误时则不运行目标文件的内容并及时提示用户。
Claims (2)
1.一种对固化于FLASH载体的目标文件的检错及读取方法,包括以下步骤:
1)设置固化存储格式
将固化存储区域按照读取顺序依次分为目标文件的长度、长度MD5校验、内容MD5校验、目标文件的内容四个部分进行固化,具体是:以偏移地址0x0为起始地址的四个连续地址存储的是目标文件的长度信息,以偏移地址0x10为起始地址的十六个连续地址存储长度MD5校验,以偏移地址0x20为起始地址的十六个连续地址存储内容MD5校验,以偏移地址0x40为起始地址的length个连续地址存储目标文件的内容;其中,length等于目标文件的长度;
2)读取目标文件
2.1)首先读出目标文件的长度信息,然后继续读出长度MD5校验,如果正确,则继续步骤2.2);如果有误则直接返回并告警,不再读出目标文件的内容;
2.2)读出内容MD5校验,如果正确,则进行步骤2.3);如果有误则直接返回并告警,不再读出目标文件的内容;
2.3)正确读出目标文件的内容
按照目标文件中约定的函数名查找程序入口,发起一个任务来运行目标文件。
2.根据权利要求1所述的方法,其特征在于:步骤2.1)和2.2)中,如果有误则直接返回并告警,不再读出后面存储的内容;然后查找错误,重新固化目标文件;再返回步骤2.1)开始读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110387858.4A CN102508728B (zh) | 2011-11-29 | 2011-11-29 | 一种对固化于flash载体的目标文件的检错及读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110387858.4A CN102508728B (zh) | 2011-11-29 | 2011-11-29 | 一种对固化于flash载体的目标文件的检错及读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102508728A CN102508728A (zh) | 2012-06-20 |
CN102508728B true CN102508728B (zh) | 2014-10-29 |
Family
ID=46220820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110387858.4A Active CN102508728B (zh) | 2011-11-29 | 2011-11-29 | 一种对固化于flash载体的目标文件的检错及读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508728B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373747A (zh) * | 2015-12-09 | 2016-03-02 | 上海斐讯数据通信技术有限公司 | 防止系统被篡改的文件生成方法、文件验证方法及系统 |
CN105869309A (zh) * | 2016-03-24 | 2016-08-17 | 广州广电运通信息科技有限公司 | 驱动模块内存数据监测方法及装置 |
CN112214415B (zh) * | 2020-11-03 | 2023-04-18 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载嵌入式系统的可执行文件可信管理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553349A (zh) * | 2003-05-29 | 2004-12-08 | 联想(北京)有限公司 | 一种安全芯片及基于该芯片的信息安全处理设备和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7907531B2 (en) * | 2005-06-13 | 2011-03-15 | Qualcomm Incorporated | Apparatus and methods for managing firmware verification on a wireless device |
-
2011
- 2011-11-29 CN CN201110387858.4A patent/CN102508728B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553349A (zh) * | 2003-05-29 | 2004-12-08 | 联想(北京)有限公司 | 一种安全芯片及基于该芯片的信息安全处理设备和方法 |
Non-Patent Citations (2)
Title |
---|
嵌入式系统固件文件格式分析研究;陈培新等;《计算机技术与发展》;20090228;第19卷(第2期);第45页至第47页 * |
陈培新等.嵌入式系统固件文件格式分析研究.《计算机技术与发展》.2009,第19卷(第2期),第45页至第47页. |
Also Published As
Publication number | Publication date |
---|---|
CN102508728A (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541676B (zh) | 一种nand flash的状态检测及映射方法 | |
CN102231852B (zh) | 一种机顶盒序列号烧写方法及装置 | |
CN102467440A (zh) | 内存错误检测系统及方法 | |
CN107818269B (zh) | 一种基于Flash的文件保存方法及系统 | |
WO2009095902A3 (en) | Systems and methods for handling immediate data errors in flash memory | |
CN104969168A (zh) | 具有用于分级写入的nvram的持久性存储装置 | |
CN103577121A (zh) | 一种基于nand flash的高可靠线性文件存取方法 | |
CN103839591A (zh) | 存储器自动检错和容错电路及控制方法 | |
TWI486957B (zh) | Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統 | |
CN101419843A (zh) | 快闪存储器识别方法、识别装置、芯片控制器 | |
CN102508728B (zh) | 一种对固化于flash载体的目标文件的检错及读取方法 | |
CN103823642A (zh) | 用于Flash均衡存储的方法及系统 | |
CN101794261A (zh) | 映射表数据恢复方法及装置 | |
CN104899114A (zh) | 一种固态硬盘上的连续时间数据保护方法 | |
CN102279757A (zh) | 一种系统程序启动的方法及装置 | |
CN103226505A (zh) | 一种校验基本输入输出系统bios的方法及设备 | |
CN108664208B (zh) | 基于flash存储器的文件追加写操作方法及装置 | |
CN103593301B (zh) | 坏块管理方法及系统 | |
CN102237143A (zh) | 一种闪存块信息的重建方法、系统及重建设备 | |
CN102486719B (zh) | 智能存储卡及其事务写的方法 | |
CN101794248A (zh) | 构建多重引导存储结构与备份的方法 | |
CN111610936B (zh) | 一种对象存储平台以及对象聚合方法、装置和服务器 | |
CN101281027A (zh) | 检测不合格丝印标记的方法及装置 | |
CN102623066A (zh) | 固化代码参数表的保存及获取方法 | |
CN102737716B (zh) | 存储器储存装置、存储器控制器与数据写入方法 |
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 |