STM32(十四)串行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程序结构图

 

 

 



posted @   轻轻的吻  阅读(932)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2018-06-05 shell中的dd命令使用详解
点击右上角即可分享
微信分享提示