嵌入式设备文件系统实现方法转让专利

申请号 : CN201010114859.7

文献号 : CN101777077B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 常吕伦靳国荣郝建伟

申请人 : 四川长虹电器股份有限公司

摘要 :

本发明涉及嵌入式技术。本发明解决了目前嵌入式设备使用文件复杂的问题,提供了一种嵌入式设备文件系统实现方法,其技术方案可概括为:将所有文件按照固定格式打包成至少一个分区文件包,其中只读文件和可写文件必须分开打包,再将所有分区文件包写入存储介质上,不同的存储地址存储不同的分区文件包,在启动后建立分区信息表,将各分区中分区文件包中的包头信息存放在分区信息表中,并建立每个分区的分区文件表,将各分区中分区文件包中的文件表信息存放在分区文件表中,若需要读写某文件,则根据分区信息表中查找分区,并根据分区文件表查找该需读写的文件,调用读写操作进行读写。其有益效果是,设计简单,适用于嵌入式设备文件系统。

权利要求 :

1.嵌入式设备文件系统实现方法,其特征在于,包括以下步骤:a.将所有需要读取及写入的文件进行分类,将所有只读文件及可写文件提取出来;

b.在所有可写文件中预先写入最大长度的无效数据;

c.判断步骤a是否提取出了只读文件,若是则进入d步骤,若不是则进入e步骤;

d.将所有只读文件按照固定格式根据系统需要打包成至少一个分区文件包,所述分区文件包包括包头、文件表信息及文件数据,并进入e步骤;

e.将所有可写文件按照固定格式根据系统需要打包成至少一个分区文件包,所述分区文件包包括包头、文件表信息及文件数据;

f.将所有分区文件包写入存储介质上,不同的存储地址存储不同的分区文件包,代表不同的分区;

g.嵌入式设备软件在启动后建立分区信息表,将各个分区中分区文件包中的包头信息读取出来存放在分区信息表中;

h.建立每个分区的分区文件表,将每个分区中分区文件包中的文件表信息读取出来存放在分区文件表中;

i.若需要读写某文件,则根据文件系统的分区信息表中查找分区;

j.根据该分区的分区文件表查找该需读写的文件,调用嵌入式软件的读写操作进行读写。

2.根据权利要求1所述嵌入式设备文件系统实现方法,其特征在于,步骤d和/或步骤e所述包头包括文件系统验证字符、分区名称、文件总大小及文件个数。

3.根据权利要求1所述嵌入式设备文件系统实现方法,其特征在于,步骤d和/或步骤e所述文件表信息包括各文件的文件名称、文件偏移地址及文件大小。

4.根据权利要求1或2或3所述嵌入式设备文件系统实现方法,其特征在于,步骤d和/或步骤e所述文件数据是根据文件表信息中的各文件的文件偏移地址和大小进行相应存放的各文件数据。

说明书 :

嵌入式设备文件系统实现方法

技术领域

[0001] 本发明涉及嵌入式技术,特别涉及嵌入式设备文件系统的技术。

背景技术

[0002] 传统上在开发嵌入式设备软件时,很多都会涉及到文件的简单读写操作,例如机顶盒软件中,会使用一些配置文件用于启动,字库文件用于显示文字,很多图片文件用于显示界面,若在嵌入式设备的软件中要使用文件,一般是两种方法:第一种方法是做一个完整的文件系统,但完整文件系统复杂而庞大,不能在很多资源有限的环境中使用,也不一定适合嵌入式软件环境的存储介质;第二种方法是把众多的文件数据放在指定的存储地址上,每个文件对应一个存储地址,操作文件时不使用文件名,直接使用地址读取数据,这种方法的缺点在于维护众多的地址不直观,不利于管理。

发明内容

[0003] 本发明所要解决的技术问题,就是为了克服目前嵌入式设备使用文件复杂的缺点,提供一种嵌入式设备文件系统实现方法。
[0004] 本发明解决其技术问题,采用的技术方案是,嵌入式设备文件系统实现方法,其特征在于,包括以下步骤:
[0005] a.将所有需要读取和/或写入的文件进行分类,将所有只读文件及可写文件提取出来;
[0006] b.在所有可写文件中预先写入最大长度的无效数据;
[0007] c.判断步骤a是否提取出了只读文件,若是则进入d步骤,若不是则进入e步骤;
[0008] d.将所有只读文件按照固定格式根据系统需要打包成至少一个分区文件包,所述分区文件包包括包头、文件表信息及文件数据,并进入e步骤;
[0009] e.将所有可写文件按照固定格式根据系统需要打包成至少一个分区文件包,所述分区文件包包括包头、文件表信息及文件数据;
[0010] f.将所有分区文件包写入存储介质上,不同的存储地址存储不同的分区文件包,代表不同的分区;
[0011] g.嵌入式设备软件在启动后建立分区信息表,将各个分区中分区文件包中的包头信息读取出来存放在分区信息表中;
[0012] h.建立每个分区的分区文件表,将每个分区中分区文件包中的文件表信息读取出来存放在分区文件表中;
[0013] i.若需要读写某文件,则根据文件系统的分区信息表中查找分区;
[0014] j.根据该分区的分区文件表查找该需读写的文件,调用嵌入式软件的读写操作进行读写。
[0015] 具体的,步骤d和/或步骤e所述包头包括文件系统验证字符、分区名称、文件总大小及文件个数。
[0016] 进一步的,步骤d和/或步骤e所述文件表信息包括各文件的文件名称、文件偏移地址及文件大小。
[0017] 具体的,步骤d和/或步骤e所述文件数据是根据文件表信息中的个文件的文件偏移地址和大小进行相应存放的各文件数据。
[0018] 本发明的有益效果是,通过上述嵌入式设备文件系统实现方法可以迅速的寻找到需要读取和/或写入的文件,由于分区进行存储,并使用文件名进行查找,利于管理,并将只读文件与可写文件区分开来进行存储,避免了在写入文件时破坏只读文件,且整体设计简单。

具体实施方式

[0019] 下面结合实施例,详细描述本发明的技术方案。
[0020] 本发明提供了一种嵌入式设备文件系统实现方法,首先将所有需要读取和/或写入的文件进行分类,将所有只读文件及可写文件提取出来,并在所有可写文件中预先写入最大长度的无效数据,其次判断是否提取出了只读文件,若是则将所有只读文件按照固定格式根据系统需要打包成至少一个分区文件包并将所有可写文件按照固定格式根据系统需要打包成至少一个分区文件包,若不是则将所有可写文件按照固定格式根据系统需要打包成至少一个分区文件包,所述分区文件包包括包头、文件表信息及文件数据,再将所有分区文件包写入存储介质上,不同的存储地址存储不同的分区文件包,代表不同的分区,然后嵌入式设备软件在启动后建立分区信息表,将各个分区中分区文件包中的包头信息读取出来存放在分区信息表中,并建立每个分区的分区文件表,将每个分区中分区文件包中的文件表信息读取出来存放在分区文件表中,若需要读写某文件,则根据文件系统的分区信息表中查找分区,并根据该分区的分区文件表查找该需读写的文件,调用嵌入式软件的读写操作进行读写。实施例
[0021] 本例的包头包括文件系统验证字符、分区名称、文件总大小及文件个数;文件表信息包括各文件的文件名称、文件偏移地址及文件大小;文件数据是根据文件表信息中的个文件的文件偏移地址和大小进行相应存放的各文件数据。
[0022] 首先将所有需要读取和/或写入的文件进行分类,将所有只读文件及可写文件提取出来,并在所有可写文件中预先写入最大长度的无效数据,其次判断是否提取出了只读文件,若是则将所有只读文件按照固定格式根据系统需要打包成至少一个分区文件包并将所有可写文件按照固定格式根据系统需要打包成至少一个分区文件包,若不是则将所有可写文件按照固定格式根据系统需要打包成至少一个分区文件包,所述分区文件包包括包头、文件表信息及文件数据,其中,包头包括文件系统验证字符、分区名称、文件总大小及文件个数,文件系统验证字符为8个字节,分区名称为16个字节,文件总大小为4个字节,文件个数为4个字节,文件表信息包括各文件的文件名称、文件偏移地址及文件大小,文件名称为32个字节,文件偏移地址为4个字节,文件大小为4个字节,文件数据是根据文件表信息中的个文件的文件偏移地址和大小进行相应存放的各文件数据,再将所有分区文件包写入存储介质上,不同的存储地址存储不同的分区文件包,代表不同的分区,然后嵌入式设备