一种基于SPI Flash存储器的自定义文件系统技术方案

技术编号:25707824 阅读:15 留言:0更新日期:2020-09-23 02:54
本发明专利技术提供一种基于SPI Flash存储器的自定义文件系统,涉及一种嵌入式设备的数据存储领域,该系统包括硬件驱动层和文件驱动层,所述硬件驱动层包括SPI驱动层和Flash驱动层,所述SPI驱动层用于实现SPI通信,所述Flash驱动层用于实现Flash的读写和擦除操作;所述文件驱动层用于实现文件操作接口,所述文件驱动层包括初始化区、根文件区和数据区;所述初始化区用于判断是否初始化,所述根文件区用于存储文件信息,所述数据区包括数据扇区表和数据扇区,用于解决现有技术中嵌入式产品如何安全、简单、高效地存储数据的问题。

【技术实现步骤摘要】
一种基于SPIFlash存储器的自定义文件系统
本专利技术涉及嵌入式设备的数据存储领域,特别是涉及一种基于SPIFlash存储器的自定义文件系统。
技术介绍
嵌入式产品一般由处理器、外围电路等组成,产品在运行过程中会产生运行数据,特别是通信类的网关产品中会产生更多的数据,那么数据如何安全、简单、高效地存储是一个很重要的问题。对于比较简单的产品来说,如果数据量很少,可以选择将数据存储在处理器内部的可编程Flash中,或者外扩小容量的EEPROM。这种方法的缺点就是所有数据的操作都基于存储地址去实现,用户需要规划整个空间的存储空间,新增加数据时必须考虑数据的兼容性问题,不能破坏原有数据的存储,增加了软件设计的难度。另外一种则是采用较复杂的软件系统,比如Wince和嵌入式Linux系统,本身具有或者可以很方便的移植各种文件系统。这种方案本身对文件及数据存储支持友好,但是一般需要外扩较大容量的存储器及内存,以运行嵌入式操作系统,对硬件的要求较高,适合用在相对来说比较复杂的应用场景。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于SPIFlash存储器的自定义文件系统,用于解决现有技术中嵌入式产品如何安全、简单、高效地存储数据的问题。为实现上述目的及其他相关目的,本专利技术提供一种基于SPIFlash存储器的自定义文件系统,该系统包括硬件驱动层和文件驱动层,所述硬件驱动层包括SPI驱动层和Flash驱动层,所述SPI驱动层用于实现SPI通信,所述Flash驱动层用于实现Flash的读写和擦除操作;所述文件驱动层用于实现文件操作接口,所述文件驱动层包括初始化区、根文件区和数据区;所述初始化区用于判断是否初始化,所述根文件区用于存储文件信息,所述数据区包括数据扇区表和数据扇区。于本专利技术的一实施例中,所述SPIFlash存储器容量为16M,有4096个扇区,所述扇区编号根据扇区0—扇区4095依次排序。于本专利技术的一实施例中,所述初始化区位于扇区0;所述根文件区位于扇区1—扇区20,所述数据区位于扇区21—扇区4095。于本专利技术的一实施例中,所述根文件区中两个扇区为一对,其中一个扇区用于记录文件信息,另一个扇区用于记录数据区中空闲扇区的信息。于本专利技术的一实施例中,所述数据扇区用于存储文件数据,所述文件数据至少存储在数据扇区的一个扇区中,所述数据扇表区用于记录文件数据存储在数据扇区中的扇区编号。如上所述,本专利技术的完整的专利技术名称,具有以下有益效果:1.本文件系统所占占用的硬件资源少,仅需要小于10K的Rom,和5K左右的ram空间。2.本文件系统中的算法方便移植,用户只需要简单修改几个函数后即可以移植到其他平台。3.由于提供了标准化的读写存储器接口,特别是能够以文件的形式读写数据,软件工程师开发数据存储功能时无须关心底层存储器的读写实现方法,使用通用的接口访问存储器即可,同时也缩短了产品开发周期。4.本文件系统开创性地实现了文本的随机写功能,特别是在嵌入式设备中,具有很高的使用价值。附图说明图1显示为本专利技术实施例中公开的系统结构示意图。图2显示为本专利技术实施例中公开存储结构划分图。标号说明1-初始化区;2-根文件区;3-数据区。具体实施方式以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效。请参阅图1至图2。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本专利技术可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本专利技术所能产生的功效及所能达成的目的下,均应仍落在本专利技术所揭示的
技术实现思路
得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本专利技术可实施的范围,其相对关系的改变或调整,在无实质变更
技术实现思路
下,当亦视为本专利技术可实施的范畴。请参阅图1和图2,本专利技术提供一种基于SPIFlash存储器的自定义文件系统,该系统包括硬件驱动层和文件驱动层,所述硬件驱动层包括SPI驱动层和Flash驱动层,所述SPI驱动层用于实现SPI通信,所述Flash驱动层用于实现Flash的读写和擦除操作;所述文件驱动层用于实现文件操作接口,比如打开文件、读写文件、删除文件等操作,所述文件驱动层包括初始化区、根文件区和数据区;所述初始化区用于判断是否初始化,所述根文件区用于存储文件信息,所述数据区包括数据扇区表和数据扇区。其中,所述硬件驱动层至少包括MCU、SPIFlash存储器以及外围电路,所述MCU用于运行应用程序和文件系统代码,所述SPIFlash存储器用于存储文件系统数据。具体地,所述SPIFlash存储器容量为16M,有4096个扇区,所述扇区编号根据扇区0--扇区4095依次排序。具体地,所述初始化区位于扇区0,用于判断Flash驱动层中的数据是否已经初始化,仅需要在开机的时候判断处理即可;所述根文件区位于扇区1—扇区20,所述数据区位于扇区21—扇区4095。具体地,所述根文件区中两个扇区为一对,其中一个扇区用于记录文件信息,另一个扇区用于记录数据区中空闲扇区的信息,标记所述数据区中的扇区是否被占用。具体地,所述数据扇区用于存储文件数据,所述文件数据至少存储在数据扇区的一个扇区中,所述数据扇表区用于记录文件数据存储在数据扇区中的扇区编号。其中,单个文件的存储结构分为文件信息和文件数据,所述文件信息包括文件名和文件大小,均位于所述根文件区内,所述文件数据存储在数据扇区表中的扇区中,一个文件的数据可能需要存储在多个扇区,其所需扇区的数量取决于数据的大小,并且将存储后的扇区编号一一对应存储在数据扇区表中。综上所述,本专利技术以文件的方法读写SPIFlash存储器上的数据,实现了对嵌入式设备的数据存储,同时又不会过多的增加硬件成本。所以,本专利技术有效克服了现有技术中的种种缺点而具高度产业利用价值。上述实施例仅例示性说明本专利技术的原理及其功效,而非用于限制本专利技术。任何熟悉此技术的人士皆可在不违背本专利技术的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属
中具有通常知识者在未脱离本专利技术所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本专利技术的权利要求所涵盖。本文档来自技高网
...

【技术保护点】
1.一种基于SPI Flash存储器的自定义文件系统,其特征在于,该系统包括硬件驱动层和文件驱动层,所述硬件驱动层包括SPI驱动层和Flash驱动层,所述SPI驱动层用于实现SPI通信,所述Flash驱动层用于实现Flash的读写和擦除操作;/n所述文件驱动层用于实现文件操作接口,所述文件驱动层包括初始化区、根文件区和数据区;所述初始化区用于判断是否初始化,所述根文件区用于存储文件信息,所述数据区包括数据扇区表和数据扇区。/n

【技术特征摘要】
1.一种基于SPIFlash存储器的自定义文件系统,其特征在于,该系统包括硬件驱动层和文件驱动层,所述硬件驱动层包括SPI驱动层和Flash驱动层,所述SPI驱动层用于实现SPI通信,所述Flash驱动层用于实现Flash的读写和擦除操作;
所述文件驱动层用于实现文件操作接口,所述文件驱动层包括初始化区、根文件区和数据区;所述初始化区用于判断是否初始化,所述根文件区用于存储文件信息,所述数据区包括数据扇区表和数据扇区。


2.根据权利要求1所述的一种基于SPIFlash存储器的自定义文件系统,其特征在于:所述SPIFlash存储器容量为16M,有4096个扇区,所述扇区编号根据扇区0—扇区4095依次排序。

【专利技术属性】
技术研发人员:黄保伟马龙
申请(专利权)人:成都易联智通信息技术有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1