STM14(十四)串行FLASH文件系统FatFs

1、文件系统简介

  • FatFs 是面向小型嵌入式系统的一种通用的 FAT 文件系统 
  • ANSI C 语言编写并且完全独立于底层的 I/O 介质 ,因此它可以很容易地不加修改地移植到其他的处理器
    当中,如 8051PICAVRSHZ80H8ARM 等。 FatFs 支持 FAT12FAT16
    FAT32 等格式。

在移植 FatFs 文件系统到开发板之前,我们先要到 FatFs 的官网获取源码, 官网有对FatFs做详细的介绍 解压之后可看到里面有 doc src 这两个文件夹,见图 26-2doc 文件夹里面是一些使用帮助文档; src 才是 FatFs 文件系统的源码。 

src目录下有option目录、diskio.c、00history.txt、00readme.txt,这几个文件主要有以下几个作用:

  • option 文件夹下是一些可选的外部 c 文件,包含了多语言支持需要用到的文件和转换函数。
  • diskio.c 文件是 FatFs 移植最关键的文件,它为文件系统提供了最底层的访问 SPI Flash芯片的方法, FatFs 有且仅有它需要用到与 SPI Flash 芯片相关的函数。 diskio.h 定义了FatFs 用到的宏,以及 diskio.c 文件内与底层硬件接口相关的函数声明 
  • 00history.txt 介绍了 FatFs 的版本更新情况。 
  • 00readme.txt 说明了当前目录下 diskio.c diskio.hff.cff.hinteger.h 的功能。 

src 文件夹下的源码文件功能简介如下:

  • integer.h: 文件中包含了一些数值类型定义。
  • diskio.c: 包含底层存储介质的操作函数,这些函数需要用户自己实现,主要添加底层驱动函数。
  • ff.cFatFs 核心文件,文件管理的实现方法。该文件独立于底层介质操作文件的函数,利用这些函数实现文件的读写。
  • cc936.c: 本文件在 option 目录下,是简体中文支持所需要添加的文件,包含了简体中文的 GBK Unicode 相互转换功能函数。
  • ffconf.h:这个头文件包含了对 FatFs 功能配置的宏定义, 通过修改这些宏定义就可以裁剪 FatFs 的功能。如需要支持简体中文,需要把 ffconf.h 中的_CODE_PAGE的宏改成 936 并把上面的 cc936.c 文件加入到工程之中。 

2、FatFs程序结构图

 



原文地址:https://www.cnblogs.com/yuanqiangfei/p/13049594.html