CN102508728A - 一种对固化于flash载体的目标文件的检错及读取方法 - Google Patents
一种对固化于flash载体的目标文件的检错及读取方法 Download PDFInfo
- Publication number
- CN102508728A CN102508728A CN2011103878584A CN201110387858A CN102508728A CN 102508728 A CN102508728 A CN 102508728A CN 2011103878584 A CN2011103878584 A CN 2011103878584A CN 201110387858 A CN201110387858 A CN 201110387858A CN 102508728 A CN102508728 A CN 102508728A
- Authority
- CN
- China
- Prior art keywords
- file destination
- read
- content
- length
- verification
- 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
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 (3)
1.一种对固化于FLASH载体的目标文件的检错及读取方法,包括以下步骤:
(1)设置固化存储格式
将固化存储区域按照读取顺序依次分为目标文件的长度、长度MD5校验、内容MD5校验、目标文件的内容四个部分进行固化;
(2)读取目标文件
(2.1)首先读出目标文件的长度信息,然后继续读出长度MD5校验,如果正确,则继续步骤(2.2);如果有误则直接返回并告警,不再读出目标文件的内容;
(2.2)读出内容MD5校验,如果正确,则进行步骤(2.3);如果有误则直接返回并告警,不再读出目标文件的内容;
(2.3)正确读出目标文件的内容
按照目标文件中约定的函数名查找程序入口,发起一个任务来运行目标文件。
2.根据权利要求1所述的方法,其特征在于,所述固化存储格式具体是:以偏移地址0x0为起始地址的四个连续地址存储的是目标文件的长度信息,以偏移地址0x10为起始地址的十六个连续地址存储长度MD5校验,以偏移地址0x20为起始地址的十六个连续地址存储内容MD5校验,以偏移地址0x40为起始地址的length个连续地址存储目标文件的内容;其中,length等于目标文件的长度。
3.根据权利要求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 true CN102508728A (zh) | 2012-06-20 |
CN102508728B 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) |
Cited By (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 | 广州广电运通信息科技有限公司 | 驱动模块内存数据监测方法及装置 |
CN112214415A (zh) * | 2020-11-03 | 2021-01-12 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载嵌入式***的可执行文件可信管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553349A (zh) * | 2003-05-29 | 2004-12-08 | 联想(北京)有限公司 | 一种安全芯片及基于该芯片的信息安全处理设备和方法 |
US20060280150A1 (en) * | 2005-06-13 | 2006-12-14 | 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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553349A (zh) * | 2003-05-29 | 2004-12-08 | 联想(北京)有限公司 | 一种安全芯片及基于该芯片的信息安全处理设备和方法 |
US20060280150A1 (en) * | 2005-06-13 | 2006-12-14 | Qualcomm Incorporated | Apparatus and methods for managing firmware verification on a wireless device |
Non-Patent Citations (1)
Title |
---|
陈培新等: "嵌入式***固件文件格式分析研究", 《计算机技术与发展》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373747A (zh) * | 2015-12-09 | 2016-03-02 | 上海斐讯数据通信技术有限公司 | 防止***被篡改的文件生成方法、文件验证方法及*** |
CN105869309A (zh) * | 2016-03-24 | 2016-08-17 | 广州广电运通信息科技有限公司 | 驱动模块内存数据监测方法及装置 |
CN112214415A (zh) * | 2020-11-03 | 2021-01-12 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载嵌入式***的可执行文件可信管理方法 |
CN112214415B (zh) * | 2020-11-03 | 2023-04-18 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载嵌入式***的可执行文件可信管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102508728B (zh) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541676B (zh) | 一种nand flash的状态检测及映射方法 | |
CN102231852B (zh) | 一种机顶盒序列号烧写方法及装置 | |
WO2009095902A3 (en) | Systems and methods for handling immediate data errors in flash memory | |
CN101539883A (zh) | 嵌入式***的错误追踪方法和装置 | |
CN104969168A (zh) | 具有用于分级写入的nvram的持久性存储装置 | |
CN104091617A (zh) | 一种闪存存储设备检测的方法及装置 | |
CN101419843A (zh) | 快闪存储器识别方法、识别装置、芯片控制器 | |
TWI486957B (zh) | Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統 | |
TWI420313B (zh) | 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置 | |
CN103823642A (zh) | 用于Flash均衡存储的方法及*** | |
CN101308471A (zh) | 一种恢复数据的方法及装置 | |
CN104899114A (zh) | 一种固态硬盘上的连续时间数据保护方法 | |
CN102508728B (zh) | 一种对固化于flash载体的目标文件的检错及读取方法 | |
CN101794261A (zh) | 映射表数据恢复方法及装置 | |
CN102279757A (zh) | 一种***程序启动的方法及装置 | |
CN102929740A (zh) | 检测存储设备坏块的方法和装置 | |
CN102789407A (zh) | 内存块有效性检测方法 | |
CN101246429A (zh) | 将闪存模块用作主存储器的电子***和相关***引导方法 | |
CN103593301B (zh) | 坏块管理方法及*** | |
CN103544097B (zh) | 嵌入式***的日志存储方法、***及日志读取方法和*** | |
CN107807791A (zh) | 一种计算机硬盘序列绑定方法及*** | |
CN102520976B (zh) | 一种dsp程序的固化方法 | |
CN102237143A (zh) | 一种闪存块信息的重建方法、***及重建设备 | |
CN101794248A (zh) | 构建多重引导存储结构与备份的方法 | |
CN101281027A (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 |