在标准C语言中,有专门对文件进行操作的函数,如下所示。这些函数在windows或者linux系统中,都可以直接方便地使用。但是,在stm32中,这些函数不能直接使用。因为,windows和linux系统,都已经在平台上支持了这些c语言函数,类似于之前重定向printf到串口操作。
FatFs是面向小型嵌入式系统的一种通用的 FAT 文件系统。它完全是由ANSI C语言编写并且完全独立于底层的 I/O 介质。因此它可以很容易地不加修改地移植到其他的处理器当中,如8051、PIC、AVR、SH、Z80、H8、ARM 等。FatFs 支持 FAT12、FAT16、FAT32 等格式,所以我们利用前面写好的SPI Flash芯片驱动,把FatFs文件系统代码移植到工程之中,就可以利用文件系统的各种函数,对SPI Flash芯片以“文件”格式进行读写操作了。
FatFs源码结构:
FatFs在程序中的关系网络
通过配置宏定义,来实现整个FatFs文件系统的裁剪,如下所示: