CN105740287A - 可固化于flash的只读文件系统的创建方法 - Google Patents
可固化于flash的只读文件系统的创建方法 Download PDFInfo
- Publication number
- CN105740287A CN105740287A CN201410765839.4A CN201410765839A CN105740287A CN 105740287 A CN105740287 A CN 105740287A CN 201410765839 A CN201410765839 A CN 201410765839A CN 105740287 A CN105740287 A CN 105740287A
- Authority
- CN
- China
- Prior art keywords
- file
- file system
- read
- flash
- system structure
- 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的只读文件系统的创建方法,其包括:1)创建文件系统所需的文件系统结构;文件系统所需的文件系统结构是以C文件的形式呈现的;2)将C文件形式的文件系统结构转换成二进制文件格式,在二进制文件的头部和尾部加上数据信息;头部数据信息包括4个字节数据,4个字节数据是文件系统结构的长度;尾部数据信息包括4个字节数据,4个字节数据是文件的数量;3)将含有头部数据信息和尾部数据信息的二进制文件格式以二进制文件格式固化到用户FLASH中。本发明提供了一种可通过FLASH实现快速可靠的文件数据存储、可屏蔽掉FLASH操作的具体细节以及给嵌入式计算机应用开发带来了极大使用方便的用于嵌入式Vxworks中并可固化于FLASH的只读文件系统的创建方法。
Description
技术领域
本发明属于嵌入式计算机应用领域,涉及一种可固化于FLASH的只读文件系统的创建方法,尤其涉及一种用于嵌入式Vxworks中并可固化于FLASH的只读文件系统的创建方法。
背景技术
嵌入式Vxworks在开发过程中,随着开发任务日益增多,处理的数据量日益增大,开发人员经常会希望像windows系统中操作文件那样直接操作文件数据,而不是将文件数据通过一系列复杂的算法转换成可以直接操作和使用的二进制数据。这就需要使用Vxworks操作系统自带的文件系统来管理大量的文件数据。目前Vxworks支持的文件系统主要有TSFS、dosFs、rawFs等。在结构上,Vxworks中的文件系统可以说是比较复杂。他们向上需要提供通用的I/O接口甚至一些专用接口,向下需要连接块设备驱动程序。所以当使用文件系统时,首先需要执行一个个复杂的安装流程。包括安装必要的支持库、执行文件系统初始化、初始化块设备驱动、初始化文件系统设备等。
但是在很多应用中,大量文件数据在使用过程中是不需要去写入的,只是作为只读文件数据来使用,如已经测绘好的地图数据等。这些文件数据的使用就不需要通过上面那些复杂的文件系统去管理,只需在操作系统中实现只读文件系统即可方便操作和使用。这样做的好处是,开发人员既可以利用文件系统的优点去操作和管理只读文件数据,又对那些复杂的文件系统实现了功能“裁剪”,省去了开发工作中的一些不必要的消耗。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种可通过FLASH实现快速可靠的文件数据存储、可屏蔽掉FLASH操作的具体细节以及给嵌入式计算机应用开发带来了极大使用方便的用于嵌入式Vxworks中并可固化于FLASH的只读文件系统的创建方法。
本发明的技术解决方案是:本发明提供了一种可固化于FLASH的只读文件系统的创建方法,其特殊之处在于:所述方法包括以下步骤:
1)创建文件系统所需的文件系统结构;所述文件系统所需的文件系统结构是以C文件的形式呈现的;
2)将C文件形式的文件系统结构转换成二进制文件格式,并且在二进制文件的头部和尾部加上数据信息;所述头部数据信息包括4个字节数据;所述4个字节数据是文件系统结构的长度;所述尾部数据信息包括4个字节数据;所述4个字节数据是文件的数量;
3)将步骤2)所得到的含有头部数据信息和尾部数据信息的二进制文件格式以二进制文件格式固化到用户FLASH中。
上述步骤1)的具体实现方式是:
1.1)在Vxworks操作系统中将个人PC操作系统中文件目录及其中的所有文件转换成一个可编译到Vxworks中的C文件;
1.2)生成了一个文件表,所述文件表中包含了文件目录中每一个独立文件的文件名和大小。
上述方法在步骤3)之后还包括:
4)对创建的内容进行读取的步骤。
上述步骤4)的具体实现方式是:
4.1)从已经固化的文件系统结构数据的起始地址分别读出文件系统结构的长度信息;
4.2)通过读出的长度信息计算文件系统结构的末尾地址;
4.3)读出文件的数目;
4.4)获取文件系统结构的文件表,安装内存设备驱动并创建用于多个文件的内存设备。
本发明针对嵌入式计算机开发过程中对只读文件数据操作和管理的需求设计一种可固化于FLASH的、具有特殊文件系统结构的只读文件系统的创建方法,该方法具有如下创新点:
1、具有特殊的文件系统结构,结合嵌入式计算机的具体应用,将C文件形式的文件系统结构转换成二进制文件格式,并且在二进制文件的头部和尾部加上数据信息,头部4个字节数据代表文件系统结构的长度,尾部4个字节数据表示文件的数量。
2、只读文件系统结构数据可以固化到FLASH中,方便于开发人员的获取和使用,开发人员需要使用文件数据时可以很方便的将二进制文件读取出来,配合头部信息和尾部信息快速的还原文件数据。并且通过创建Vxworks中的内存设备,用户可以使用标准的文件系统接口操作文件系统数据,通过FLASH实现快速可靠的文件数据存储,同时屏蔽掉FLASH操作的具体细节,给嵌入式计算机应用开发带来了极大的方便。
3、实现了对关键数据的有效保护,防止C文件形式的文件系统结构被轻松破解。
具体实施方式
下面对本发明做进一步详细说明。
在Vxworks操作系统中将个人PC操作系统中文件目录及其中的所有文件转换成一个可编译到Vxworks中的C文件,同时文件目录中的每一个独立文件都被转换成了这个C文件中的数组,数组中的数据以一定的格式反映了文件中的内容。同时上述过程还生成了一个文件表,文件表中包含了文件目录中每一个独立文件的文件名和大小。完成这步操作,文件系统所需的文件系统结构就被创建。
这样,个人PC操作系统中的文件目录及所含文件的内容和信息就被“导入”到Vxworks中。此时可以安装内存设备驱动并创建用于多个文件的内存设备来生成文件系统,该文件系统可以做只读用。
一个问题是,上述过程生成的文件系统结构是以C文件的形式呈现的,且文件系统结构数据量巨大,加大了应用程序编译、调试及下载固化的时间和工作量,且C文件形式的文件系统结构不利于关键数据的保护,易于被破解。
本发明中很大的一个创新点是结合嵌入式计算机的具体应用,将C文件形式的文件系统结构转换成二进制文件格式,并且人为的在二进制文件的头部和尾部加上数据信息,头部4个字节数据代表文件系统结构的长度,尾部4个字节数据表示文件的数量。
具有上述特殊结构的文件系统结构数据可以方便快捷的以二进制文件格式固化到用户FLASH中。开发人员需要使用文件数据时也可以很方便的将二进制文件读取出来,配合头部信息和尾部信息快速的还原文件数据。并且通过创建Vxworks中的内存设备,用户可以使用标准的文件系统接口操作文件系统数据,通过FLASH实现快速可靠的文件数据存储,同时屏蔽掉FLASH操作的具体细节,给嵌入式计算机应用开发带来了极大的方便。具体的操作流程为:首先从固化文件系统结构数据的起始地址读出文件系统结构的长度信息,通过读出的长度信息计算文件系统结构的末尾地址,并读出文件的数目,然后获取文件系统结构的文件表,安装内存设备驱动并创建用于多个文件的内存设备。完成这些操作,只读文件系统便创建成功,开发人员就可以利用文件系统的优点去操作文件数据了。
具体实施过程表明,只读文件系统简单方便,容易操作,对于一些只读需求的文件数据来说,可以省去创建复杂的文件系统的麻烦,只需在操作系统中实现只读文件系统即可使用标准的文件系统接口方便的操作文件数据,省去了开发工作中的一些不必要的消耗。
Claims (4)
1.一种可固化于FLASH的只读文件系统的创建方法,其特征在于:所述方法包括以下步骤:
1)创建文件系统所需的文件系统结构;所述文件系统所需的文件系统结构是以C文件的形式呈现的;
2)将C文件形式的文件系统结构转换成二进制文件格式,并且在二进制文件的头部和尾部加上数据信息;所述头部数据信息包括4个字节数据;所述4个字节数据是文件系统结构的长度;所述尾部数据信息包括4个字节数据;所述4个字节数据是文件的数量;
3)将步骤2)所得到的含有头部数据信息和尾部数据信息的二进制文件格式以二进制文件格式固化到用户FLASH中。
2.根据权利要求1所述的可固化于FLASH的只读文件系统的创建方法,其特征在于:所述步骤1)的具体实现方式是:
1.1)在Vxworks操作系统中将个人PC操作系统中文件目录及其中的所有文件转换成一个可编译到Vxworks中的C文件;
1.2)生成了一个文件表,所述文件表中包含了文件目录中每一个独立文件的文件名和大小。
3.根据权利要求1或2所述的可固化于FLASH的只读文件系统的创建方法,其特征在于:所述方法在步骤3)之后还包括:
4)对创建的内容进行读取的步骤。
4.根据权利要求3所述的可固化于FLASH的只读文件系统的创建方法,其特征在于:所述步骤4)的具体实现方式是:
4.1)从已经固化的文件系统结构数据的起始地址分别读出文件系统结构的长度信息;
4.2)通过读出的长度信息计算文件系统结构的末尾地址;
4.3)读出文件的数目;
4.4)获取文件系统结构的文件表,安装内存设备驱动并创建用于多个文件的内存设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410765839.4A CN105740287B (zh) | 2014-12-11 | 2014-12-11 | 可固化于flash的只读文件系统的创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410765839.4A CN105740287B (zh) | 2014-12-11 | 2014-12-11 | 可固化于flash的只读文件系统的创建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740287A true CN105740287A (zh) | 2016-07-06 |
CN105740287B CN105740287B (zh) | 2019-09-10 |
Family
ID=56241308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410765839.4A Active CN105740287B (zh) | 2014-12-11 | 2014-12-11 | 可固化于flash的只读文件系统的创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740287B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632765A (zh) * | 2004-12-31 | 2005-06-29 | 大唐微电子技术有限公司 | 一种闪存文件系统管理方法 |
US20060004895A1 (en) * | 2004-06-07 | 2006-01-05 | Samsung Electronics Co., Ltd. | Apparatus and method for creating a binary file for function-based data storage and a computer-readable storage medium for storing the method |
CN102467522A (zh) * | 2010-11-10 | 2012-05-23 | 中兴通讯股份有限公司 | 一种基于nand闪存的文件系统的自编程方法及装置 |
CN103049300A (zh) * | 2012-12-17 | 2013-04-17 | 福建天晴数码有限公司 | C和c++代码在支持flash的web平台上运行的方法 |
-
2014
- 2014-12-11 CN CN201410765839.4A patent/CN105740287B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060004895A1 (en) * | 2004-06-07 | 2006-01-05 | Samsung Electronics Co., Ltd. | Apparatus and method for creating a binary file for function-based data storage and a computer-readable storage medium for storing the method |
CN1632765A (zh) * | 2004-12-31 | 2005-06-29 | 大唐微电子技术有限公司 | 一种闪存文件系统管理方法 |
CN102467522A (zh) * | 2010-11-10 | 2012-05-23 | 中兴通讯股份有限公司 | 一种基于nand闪存的文件系统的自编程方法及装置 |
CN103049300A (zh) * | 2012-12-17 | 2013-04-17 | 福建天晴数码有限公司 | C和c++代码在支持flash的web平台上运行的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105740287B (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102096639B (zh) | 用于修剪在非易失性闪速介质上的数据的方法 | |
US8250523B2 (en) | Source code wrapper generation | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
CN101983376B (zh) | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 | |
CN106775842B (zh) | 一种可自定义的dex分包的方法 | |
CN102141923B (zh) | 内存文件系统加载方法及装置 | |
CN107111726B (zh) | 对fat文件系统的文件加密支持 | |
CN108172249B (zh) | 一种NAND Flash访问操作方法、装置及系统 | |
CN100585561C (zh) | 在嵌入式系统剪裁可重定位的elf文件的方法 | |
CN102207884A (zh) | 一种文件编译方法及装置 | |
CN102520976B (zh) | 一种dsp程序的固化方法 | |
CN111045686B (zh) | 一种提高应用反编译速度的方法、智能终端及存储介质 | |
CN108694052B (zh) | 一种固件升级方法、固件升级装置及固件升级系统 | |
CN105528425A (zh) | 云计算环境下基于文件实现异步数据存储的方法 | |
CN116578234B (zh) | 闪存访问系统及方法 | |
CN105740287A (zh) | 可固化于flash的只读文件系统的创建方法 | |
US8661425B1 (en) | Method, apparatus, and computer-readable medium for storing data associated with a firmware program | |
CN101089842A (zh) | 复制文件到嵌入式设备中的方法 | |
JP5996129B2 (ja) | 不揮発性半導体マスメモリを安全に消去するための方法、コンピュータシステム、及びコンピュータプログラム | |
CN113721928B (zh) | 一种基于二进制分析的动态库裁剪方法 | |
CN102567210B (zh) | 闪存芯片数据分析环境重组方法和装置 | |
CN110990018B (zh) | 一种嵌入式系统的编译方法及编译系统 | |
US9720660B2 (en) | Binary interface instrumentation | |
CN114327292A (zh) | 文件管理方法、系统、电子设备和存储介质 | |
CN116185891B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |