• 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程序结构图

     



  • 相关阅读:
    mybatis源码(八) Mybatis中的#{} 和${} 占位符的区别
    mybatis源码(七)mybatis动态sql的解析过程下篇
    mybatis源码(六)mybatis动态sql的解析过程上篇
    JDBC的API介绍
    mybatis源码(五)mybatis日志实现
    jmeter: 报错锦集
    python3升级后pip提示TLS/SSL错误问题
    Pytest+Jenkins+Allure
    建议
    Android Studio Button事件的三种方式
  • 原文地址:https://www.cnblogs.com/yuanqiangfei/p/13049594.html
Copyright © 2020-2023  润新知