【文件属性】:
文件名称:文件系统-基于hmm的语音识别系统的matlab仿真
文件大小:29.31MB
文件格式:PDF
更新时间:2021-07-11 10:58:46
STM32 F103
26.1 文件系统
即使读者可能不了解文件系统,读者也一定对“文件”这个概念十分熟悉。数据在 PC
上是以文件的形式储存在磁盘中的,这些数据的形式一般为 ASCII 码或二进制形式。在上
一章我们已经写好了 SPI Flash 芯片的驱动函数,我们可以非常方便的在 SPI Flash 芯片上读
写数据。如需要记录本书的书名“零死角玩转 STM32-F103 系列”,可以把这些文字转化
成 ASCII 码,存储在数组中,然后调用 SPI_FLASH_BufferWrite 函数,把数组内容写入到
SPI Flash 芯片的指定地址上,在需要的时候从该地址把数据读取出来,再对读出来的数据
以 ASCII 码的格式进行解读。
但是,这样直接存储数据会带来极大的不便,如难以记录有效数据的位置,难以确定
存储介质的剩余空间,以及应以何种格式来解读数据。就如同一个巨大的图书馆无人管理,
杂乱无章地存放着各种书籍,难以查找所需的文档。想象一下图书馆的采购人员购书后,
把书籍往馆内一扔,拍拍屁股走人,当有人来借阅某本书的时候,就不得不一本本地查找。
这样直接存储数据的方式对于小容量的存储介质如 EEPROM 还可以接受,但对于 SPI Flash
芯片或者 SD 卡之类的大容量设备,我们需要一种高效的方式来管理它的存储内容。
这些管理方式即为文件系统,它是为了存储和管理数据,而在存储介质建立的一种组
织结构,这些结构包括操作系统引导区、目录和文件。常见的 windows 下的文件系统格式
包括 FAT32、NTFS、exFAT。在使用文件系统前,要先对存储介质进行格式化。格式化先
擦除原来内容,在存储介质上新建一个文件分配表和目录。这样,文件系统就可以记录数
据存放的物理地址,剩余空间。
使用文件系统时, 数据都以文件的形式存储。写入新文件时,先在目录中创建一个文
件索引,它指示了文件存放的物理地址,再把数据存储到该地址中。当需要读取数据时,
可以从目录中找到该文件的索引,进而在相应的地址中读取出数据。具体还涉及到逻辑地
址、簇大小、不连续存储等一系列辅助结构或处理过程。