第25章 串行FLASH文件系统FatFs (3)

第25章 串行FLASH文件系统FatFs

25-4 FatFs程序结构图

用户应用程序需要由用户编写,想实现什么功能就编写什么的程序,一般我们只用到f_mount()f_open()f_write()f_read()就可以实现文件的读写操作。

FatFs组件是FatFs的主体,文件都在源码src文件夹中,其中ff.cff.hinteger.h以及diskio.h四个文件我们不需要改动,只需要修改ffconf.hdiskio.c两个文件。

底层设备输入输出要求实现存储设备的读写操作函数、存储设备信息获取函数等等。我们使用QSPI Flash芯片作为物理设备,在上一章节已经编写好了QSPI Flash芯片的驱动程序,这里我们就直接使用。

25.3.2  硬件设计

FatFs属于软件组件,不需要附带其他硬件电路。我们使用QSPI Flash芯片作为物理存储设备,其硬件电路在上一章已经做了分析,这里就直接使用。

25.3.3  FatFs移植步骤

上一章我们已经实现了QSPI Flash芯片驱动程序,并实现了读写测试,为移植FatFs方便,我们直接拷贝一份工程,我们在工程基础上添加FatFs组件,并修改main函数的用户程序即可。

1) 先拷贝一份QSPI Flash芯片测试的工程文件(整个文件夹),并修改文件夹名为“QSPIFatFs文件系统”。将FatFs源码中的src文件夹整个文件夹拷贝一份至“QSPIFatFs文件系统\USER\”文件夹下并修改名为“FATFS”,见 25-5。

第25章 串行FLASH文件系统FatFs

25-5 拷贝FatFs源码到工程

2) 使用KEIL软件打开工程文件(..\QSPIFatFs文件系统\Project\RVMDK(uv5)\ BH-F767.uvprojx),并将FatFs组件文件添加到工程中,需要添加有ff.cdiskio.ccc936.c三个文件,见 25-6。

第25章 串行FLASH文件系统FatFs

 

25-6  添加FatFS文件到工程

3) 添加FATFS文件夹到工程的include选项中。打开工程选项对话框,选择“C/C++”选项下的“Include Paths”项目,在弹出路径设置对话框中选择添加“FATFS”文件夹,见 25-7。

第25章 串行FLASH文件系统FatFs

25-7 添加FATFS路径到工程选项

4) 如果现在编译工程,可以发现有两个错误,一个是来自diskio.c文件,提示有一些头文件没找,diskio.c文件内容是与底层设备输入输出接口函数文件,不同硬件设计驱动就不同,需要的文件也不同;另外一个错误来自cc936.c文件,提示该文件不是工程所必需的,这是因为FatFs默认使用日语,我们想要支持简体中文需要修改FatFs的配置,即修改ffconf.h文件。至此,将FatFs添加到工程的框架已经操作完成,接下来要做的就是修改diskio.c文件和ffconf.h文件。

25.3.4  FatFs底层设备驱动函数

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzsjd.html