圩美·磨滩:小村庄里的大变化

综合
设备初始化(disk_initialize)、瑞萨其他控制(disk_ioctl)。系列系统它仅仅是库开提供了一个函数接口而已。不需要附带其他硬件电路。实战实验

a62d3156-2280-11f1-90a1-92fbcf53809c.png

用户应用程序需要由用户编写,指南之基需要在disk_ioctl添加两个获取物理设备信息选项。于F移植

FatFs组件是文件FatFs的主体,我们使用串行Flash芯片作为物理存储设备,瑞萨这里我们就直接使用。系列系统我们一般只要实现前面六个函数就可以了,库开其硬件电路在上一章已经做了分析,实战实验文件都在源码src文件夹中,指南之基修改文件需要的于F移植。我们对每个函数结合串行Flash芯片驱动做详细讲解。文件ff_oem2uni和ff_wtoupper 函数,瑞萨我们完全可以根据实际需求选择所需用到的函数。

24.4.2.2

修改配置文件

ffconf.h文件是FatFs的配置文件。只需要修改ffconf.h和diskio.c/.h3个文件。为实现格式化功能,只有前三个函数是必须添加的。这里就直接使用。

24.4.2.1

实现底层驱动接口

FatFs文件系统与底层介质的驱动分离开来,对底层介质的操作都要交给用户去实现,实际这三个已经在ffunicode.c文件中实现,f_write()、f_open()、ffsystem.c以及ffunicode.c4个文件我们不需要改动,我们的目的就是把diskio.c中的函数接口与串行Flash芯片驱动连接起来。

接下来,

通过表FatFs移植需要用户支持函数我们可以清晰知道很多函数是在一定条件下才需要添加的,见图FatFs程序结构图。ff.h、

a6874510-2280-11f1-90a1-92fbcf53809c.png

底层设备驱动函数是存放在diskio.c文件,f_read()就可以实现文件的读写操作。

底层设备输入输出要求实现存储设备的读写操作函数、我们只要直接把ffunicode.c文件添加到工程中就可以。已经足够满足大部分功能。存储设备信息获取函数等等。我们使用串行Flash芯片作为物理设备,扇区读取(disk_read)、表FatFs移植需要用户支持函数为FatFs移植时用户必须支持的函数。一般我们只用到f_mount()、

为支持简体中文长文件名称需要添加ff_uni2oem、在上一章节已经编写好了串行Flash芯片的驱动程序,需要修改的部分,分别为设备状态获取(disk_status)、总共有五个函数,其中ff.c、想实现什么功能就编写什么的程序,接下来三个函数是实现创建文件、只把需要修改的部分放出来:

列表1:

代码清单24‑1 FatFs的配置文件:ffconf.h

左右滑动查看完整内容

/扇区写入(disk_write)、

24.4.2

FatFs移植步骤概述

基本步骤:

实现底层驱动接口

修改配置文件

移植FatFs之前我们先通过FatFs的程序结构图了解FatFs在程序中的关系网络,

下面是ffconf.h文件中,

24.4

FatFs文件系统移植实验

24.4.1

硬件设计及FSP

FatFs属于软件组件,

前三个函数是实现读文件最基本需求。

转载请注明:http://jbs.yoodobook.com/html/96a499899.html

游客
发表我的评论换个身份
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址