[发明专利]一种基于GPT分区表的多文件多级启动加载方法及装置有效
申请号: | 202210459755.2 | 申请日: | 2022-04-24 |
公开(公告)号: | CN114706533B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 姜志颖;王飞;范东睿 | 申请(专利权)人: | 苏州睿芯集成电路科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/445;G06F16/16 |
代理公司: | 北京科龙寰宇知识产权代理有限责任公司 11139 | 代理人: | 孙皓晨 |
地址: | 215125 江苏省苏州市苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpt 分区表 文件 多级 启动 加载 方法 装置 | ||
本发明涉及一种基于GPT分区表的多文件多级启动加载方法及装置,该方法包括如下步骤:步骤S1:在每个分区入口中存放一个文件的名称、占用空间大小和补齐大小;步骤S2:在每个分区中存放文件数据;步骤S3:生成存储镜像。本发明对存储介质采用GPT格式分区,将每个启动文件的数据直接存放于各个分区,并且,将文件名作为分区名用于检索。依靠分区提高了灵活性和空间利用率,同时,未引入文件系统,因此降低了复杂度和计算量。
技术领域
本发明涉及多文件多级启动加载方法技术领域,特别涉及一种基于GPT分区表的多文件多级启动加载方法及装置。
背景技术
系统启动通常需要多个文件(例如多级Bootloader文件,内核Image文件和配置文件),这些文件位于一个存储介质(例如Flash)当中。
目前对存储空间的管理方法有2类:
1、直接寻址:将每个启动文件的数据存放在固定地址。例如图1所示,为直接寻址的数据存放的示意图。
该方法的特点是:定位简单迅速,但是数据位置和大小受限,不够灵活。启动程序需要预知各个地址,一旦确定不能调整。不同数据之间需要预留一定空闲空间,以备将来扩展。
2、分区+文件系统:首先对存储介质进行分区(采用MBR格式或者GPT格式),然后在分区上建立文件系统(采用EFI格式或者EXT2格式),最后将所有启动文件存放于文件系统中。例如图2所示,为分区+文件系统的数据存放的示意图。
该方法的特点是:存放位置和数据大小可以灵活调整,但是寻址复杂耗时。启动程序需要集成文件系统的功能,增加了自身的代码体积和运行时的计算量。
因此,如何将上述问题加以解决,即为本领域技术人员的研究方向所在。
发明内容
发明所要解决的问题
本发明的主要目的是提供基于GPT分区表的多文件多级启动加载方法及装置,以解决上述技术中存在的分区问题。
用于解决问题的方案
为了达到上述目的,本发明提供一种基于GPT分区表的多文件多级启动加载方法,包括如下步骤:
步骤S1:在每个分区入口中存放一个文件的名称、占用空间大小和补齐大小;
步骤S2:在每个分区中存放文件数据;
步骤S3:生成存储镜像。
较佳的实施方式,还包括步骤S4:进行存储镜像的解析。
较佳的实施方式,步骤S3中的存储镜像的生成步骤具体包括:
步骤S31:获取需要存放的所有文件的描述信息,并且根据GPT的块对齐要求,计算其占用的块数量及补齐长度;
步骤S32:将文件名称作为分区名称;
步骤S33:将文件序号和补齐长度均转换为字符串形式的16进制数,与特定的前缀拼接,作为分区标识;
步骤S34:利用GPT工具依据每组分区名称、分区标识、块数量信息对存储介质进行分区;
步骤S35:按照文件序号,确定对应分区的起止地址,并将文件数据存放至对应分区内。
较佳的实施方式,所述步骤S4具体包括以下步骤:
步骤S41:获取GPT头部及所有有效分区的分区入口;
步骤S42:根据指定的文件名称,按照字符串匹配分区名称;
步骤S43:提取步骤S42中匹配分区的起始地址,占用块数和补齐长度,然后计算文件长度=占用块数*块大小-补齐长度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州睿芯集成电路科技有限公司,未经苏州睿芯集成电路科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210459755.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种农业用种子筛选装置
- 下一篇:一种乳木果油连续化精制设备及其精制工艺