CN103412779B - 一种嵌入式实时操作***的补丁文件***实现方法 - Google Patents
一种嵌入式实时操作***的补丁文件***实现方法 Download PDFInfo
- Publication number
- CN103412779B CN103412779B CN201310351780.XA CN201310351780A CN103412779B CN 103412779 B CN103412779 B CN 103412779B CN 201310351780 A CN201310351780 A CN 201310351780A CN 103412779 B CN103412779 B CN 103412779B
- Authority
- CN
- China
- Prior art keywords
- patch
- patch file
- space
- file
- page space
- 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
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000000151 deposition Methods 0.000 abstract description 3
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本发明公开了一种嵌入式实时操作***的补丁文件***实现方法,包括如下步骤:S10:建立补丁***表、补丁集合表以及补丁信息表;S11:选取补丁文件存放基地址;S12:根据补丁文件的大小分配页空间数;S13:分配页空间数完成之后,检查页空间的位置信息;S14:往分配的空间中写入补丁文件;S15:写入补丁文件后,更新该补丁对应模块的补丁集合表。本发明通过上述嵌入式实时操作***补丁文件***可以快速完成补丁文件的存放和读取操作;其中,补丁文件按页大小分配空间,大幅度减少了存储空间的浪费;而且按照需要进行块擦除,最大化减少Nand Flash的擦除次数,延长使用寿命。
Description
技术领域
本发明属于涉及嵌入式技术领域,涉及一种嵌入式实时操作***的补丁文件***实现方法。
背景技术
在嵌入式实时操作***中,如果需要实现动态更新功能,就会涉及到补丁文件***的设计和实现。现在的嵌入式开发板外部存储大部分是采用Nand Flash。Nand Flash有这么一个特点,写数据的最小单位是页(page,2KB),擦除数据的最小单位是块(block,128KB,一个块一般由64个页组成)。
传统的补丁文件***为了在写入补丁数据之前方便实现存储空间的清空,使用一个块来存放单个补丁文件,这极大的造成了Flash存储空间的浪费。
其次,Nand Flash块擦除次数有限制,超过最大擦除次数就会报废,传统的补丁文件***涉及频繁的擦除块,这将对***带来严重的损耗。
另外,所有补丁文件按照写入Nand Flash时间顺序存储,当需要使用某一补丁时,需要遍历整个补丁***表,导致时间复杂度高。
针对上述现有技术存在的缺陷,实有必要进行开发研究,以提供一种方案,克服传统补丁文件***空间开销大、***损耗大和时间复杂度高的缺点。
发明内容
为解决上述问题,本发明的目的在于提供一种嵌入式实时操作***的补丁文件***实现方法,可快速完成补丁文件的存放和读取操作,大幅度减少了存储空间的浪费,且最大化减少Nand Flash的擦除次数,延长使用寿命。
为实现上述目的,本发明的技术方案为:
一种嵌入式实时操作***的补丁文件***实现方法,包括如下步骤:
S10:根据可更新模块数建立补丁***表,并根据每个模块最多补丁版本数建立补丁集合表,建立补丁信息表;
S11: 选取补丁文件存放基地址;
S12: 根据补丁文件的大小分配页空间数;
S13: 分配页空间数完成之后,检查页空间的位置信息;
S14: 往分配的空间中写入补丁文件;
S15: 写入补丁文件后,更新该补丁对应模块的补丁集合表。
进一步地,步骤S11中,所述补丁文件存放基地址为Nand Flash一个块的起始地址。
进一步地,步骤S12中,所述页空间数为能存放补丁文件的最小页数。
进一步地,步骤S13中,若新分配的页空间都在当前块,此时不需要擦除下一个块;若新分配的页空间在前后空间都有,此时需要擦除下一个块;若新分配的页空间全部在下一个块,此时需要擦除下一个块。
进一步地,当需要使用某版本补丁时,首先通过补丁***表快速定位到该补丁对应模块的补丁集合表,接着根据补丁集合表快速定位到该版本补丁的补丁信息表,然后通过补丁信息表获取到该版本补丁在Nand Flash中的存放首地址,最后调用读操作读取该补丁文件
相较于现有技术,本发明一种嵌入式实时操作***的补丁文件***实现方法通过上述嵌入式实时操作***补丁文件***可以快速完成补丁文件的存放和读取操作;其中,补丁文件按页大小分配空间,大幅度减少了存储空间的浪费;而且按照需要进行块擦除,最大化减少Nand Flash的擦除次数,延长使用寿命。
附图说明
图1是本发明的流程图示。
图2是本发明的分配的页空间都在当前块的示意图。
图3是本发明的分配的页空间前后两个块都有的示意图。
图4是本发明的分配的页空间都在后一个块的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明一种嵌入式实时操作***的补丁文件***实现方法,包括如下步骤:
S10:根据可更新模块数建立补丁***表,并根据每个模块最多补丁版本数建立补丁集合表,建立补丁信息表;
S11:选取补丁文件存放基地址,其中,该地址为Nand Flash一个块的起始地址;
S12:根据补丁文件的大小分配Nand Flash的页空间数,该页空间数为能存放补丁文件的最小页数;
S13:分配页空间数完成之后,检查页空间的位置信息;其中,当新分配的页空间都在当前块,此时不需要擦除下一个块;若新分配的页空间在前后空间都有,此时需要擦除下一个块;若新分配的页空间全部在下一个块,此时需要擦除下一个块;
S14:往分配的Nand Flash空间中写入补丁文件;
S15:写入补丁文件后,更新该补丁对应模块的补丁集合表。
当需要使用某版本补丁时,首先通过补丁***表快速定位到该补丁对应模块的补丁集合表,接着根据补丁集合表快速定位到该版本补丁的补丁信息表,然后通过补丁信息表获取到该版本补丁在Nand Flash中的存放首地址,最后调用读操作读取该补丁文件。
作为本发明一实施例,如表1所示,根据可更新模块数建立补丁***表,包括有可更新模块编号以及该模块补丁集合表。
如表2所示,根据每个模块最多补丁版本数建立补丁集合表,包括有补丁版本号以及该版本补丁信息。
如表3所示,建立补丁信息表,包括字段以及该字段的含义。
选取补丁文件存放基地址,该地址必须为一个块的起始地址。当需要存放补丁文件时,根据补丁文件的大小分配Nand Flash的页空间数,该页空间数为能存放补丁文件的最小页数。比如当补丁文件为3.5KB时,就需要分配2个页空间。分配完成之后,检查页空间的位置信息,其中,分以下三种情况:如图2所示,新分配的页空间都在当前块,此时不需要擦除下一个块;如图3所示,新分配的页空间在前后空间都有,此时需要擦除下一个块;如图4所示,新分配的页空间全部在下一个块,此时需要擦除下一个块。
往分配的Nand Flash空间中写入补丁文件,写入补丁文件数据之后,需要更新该补丁对应模块的补丁集合表。若需要使用某版本补丁,首先补丁***表快速定位到该补丁对应模块的补丁集合表,接着根据补丁集合表快速定位到该版本补丁的补丁信息表,然后通过补丁信息表获取到该版本补丁在Nand Flash中的存放首地址,最后调用读操作读取该补丁文件。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种嵌入式实时操作***的补丁文件***实现方法,其特征在于,包括如下步骤:
S10:根据可更新模块数建立补丁***表,并根据每个模块最多补丁版本数建立补丁集合表,建立补丁信息表;
S11:选取补丁文件存放基地址,所述补丁文件存放基地址为一个块的起始地址;
S12:根据补丁文件的大小分配页空间数,所述页空间数为能存放补丁文件的最小页数;
S13:分配页空间数完成之后,检查页空间的位置信息,若新分配的页空间都在当前块,此时不需要擦除下一个块;若新分配的页空间在前后空间都有,此时需要擦除下一个块;若新分配的页空间全部在下一个块,此时需要擦除下一个块;
S14:往分配的空间中写入补丁文件;
S15:写入补丁文件后,更新该补丁对应模块的补丁集合表。
2.如权利要求1所述嵌入式实时操作***的补丁文件***实现方法,其特征在于:当需要使用某版本补丁时,首先通过补丁***表快速定位到该补丁对应模块的补丁集合表,接着根据补丁集合表快速定位到该版本补丁的补丁信息表,然后通过补丁信息表获取到该版本补丁在Nand Flash中的存放首地址,最后调用读操作读取该补丁文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310351780.XA CN103412779B (zh) | 2013-08-14 | 2013-08-14 | 一种嵌入式实时操作***的补丁文件***实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310351780.XA CN103412779B (zh) | 2013-08-14 | 2013-08-14 | 一种嵌入式实时操作***的补丁文件***实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103412779A CN103412779A (zh) | 2013-11-27 |
CN103412779B true CN103412779B (zh) | 2016-12-28 |
Family
ID=49605792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310351780.XA Active CN103412779B (zh) | 2013-08-14 | 2013-08-14 | 一种嵌入式实时操作***的补丁文件***实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103412779B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645917B (zh) * | 2013-12-03 | 2016-09-14 | 北京中电华大电子设计有限责任公司 | Java卡的Java代码补丁方法 |
CN110333885B (zh) * | 2019-06-28 | 2022-11-01 | 兆讯恒达科技股份有限公司 | 一种嵌入式操作***补丁设置方法 |
CN110888654A (zh) * | 2019-11-13 | 2020-03-17 | 重庆秦嵩科技有限公司 | 一种嵌入式操作***的升级方法 |
CN110928570A (zh) * | 2019-11-27 | 2020-03-27 | 北京知道创宇信息技术股份有限公司 | 一种固件升级的方法及装置、可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140586A (zh) * | 2007-09-30 | 2008-03-12 | 浙江大学 | 嵌入式***中NAND Flash存储器上建立文件***的方法 |
CN102841851A (zh) * | 2012-07-19 | 2012-12-26 | 深圳市江波龙电子有限公司 | 闪存管理方法和闪存设备 |
CN102955741A (zh) * | 2011-08-30 | 2013-03-06 | 联咏科技股份有限公司 | 存储器装置及其写入方法 |
-
2013
- 2013-08-14 CN CN201310351780.XA patent/CN103412779B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140586A (zh) * | 2007-09-30 | 2008-03-12 | 浙江大学 | 嵌入式***中NAND Flash存储器上建立文件***的方法 |
CN102955741A (zh) * | 2011-08-30 | 2013-03-06 | 联咏科技股份有限公司 | 存储器装置及其写入方法 |
CN102841851A (zh) * | 2012-07-19 | 2012-12-26 | 深圳市江波龙电子有限公司 | 闪存管理方法和闪存设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103412779A (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103412779B (zh) | 一种嵌入式实时操作***的补丁文件***实现方法 | |
CN101923448B (zh) | 一种nand闪存的转换层读写方法 | |
DE112015004536T5 (de) | Hardware-Automatisierung für Speicherverwaltung | |
CN102541851B (zh) | 页面模块化生成方法及*** | |
RU2009133317A (ru) | Выборочное использование множества различающихся ячеек твердотельного запоминающего устройства | |
CN103744614A (zh) | 固态硬盘访问的方法及其固态硬盘 | |
CN102141933A (zh) | 提供计算机应用程序多次复用粘贴的***及其方法 | |
CN102841851A (zh) | 闪存管理方法和闪存设备 | |
DE112010004667T5 (de) | Speichervorrichtung und Speichersteuerung | |
CN103309812A (zh) | 一种智能卡内存空间的分配方法及装置 | |
CN105302737A (zh) | 一种内存分配管理方法及*** | |
CN105468542A (zh) | 地址分配方法及装置 | |
CN104252419A (zh) | 一种内存分配的方法及装置 | |
CN102023843A (zh) | 函数的调用方法、装置及智能卡 | |
CN102467525A (zh) | 单据关联方法及*** | |
CN103699493B (zh) | 智能卡dtr内存空间的控制***及方法 | |
CN103218305A (zh) | 存储空间的分配方法 | |
CN106708422B (zh) | 数据储存装置及其数据维护方法 | |
CN101719131A (zh) | 一种报表数据的处理方法、装置和*** | |
CN103377686B (zh) | Nand Flash 存储器及实现 Nand Flash 存储器连续读操作的方法 | |
CN109271247A (zh) | 内存优化方法、装置、计算机装置以及存储介质 | |
CN104268097A (zh) | 一种元数据处理方法及*** | |
CN103455438A (zh) | 一种内存管理方法及设备 | |
CN102103530B (zh) | 快照方法、设备及*** | |
CN106326132A (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 |