zoukankan      html  css  js  c++  java
  • 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程序结构图

     



  • 相关阅读:
    【转】Yii的url美化管理
    【转】通过文件锁实现,程序开始运行时,先判断文件是否存在,若存在则表明该程序已经在运行了,如果不存在就用open函数创建该文件,程序退出时关闭文件并删除文件
    【转】关于C execlp函数的理解
    【转】shell循环,判断介绍,以及实例
    【转】Yii framework config 可以被配置的项目
    高级着色语言HLSL入门(7)
    c++中的string用法
    关于链表的创建 代码
    c++笔试题汇总
    TCP Socket编程 C/C++实现 (Windows Platform SDK)
  • 原文地址:https://www.cnblogs.com/yuanqiangfei/p/13049594.html
Copyright © 2011-2022 走看看