瑞萨RA系列FSP库开发实战指南之基于FLASH的FatFs文件系统移植实验
24.4
FatFs文件系统移植实验
24.4.1
硬件设计及FSP
FatFs属于软件组件,瑞萨不需要附带其他硬件电路。系列系统我们使用串行Flash芯片作为物理存储设备,库开其硬件电路在上一章已经做了分析,实战实验这里就直接使用。指南之基
24.4.2
FatFs移植步骤概述
基本步骤:
实现底层驱动接口
修改配置文件
移植FatFs之前我们先通过FatFs的于F移植程序结构图了解FatFs在程序中的关系网络,见图FatFs程序结构图。文件

用户应用程序需要由用户编写,瑞萨想实现什么功能就编写什么的系列系统程序,一般我们只用到f_mount()、库开f_open()、实战实验f_write()、指南之基f_read()就可以实现文件的于F移植读写操作。
FatFs组件是文件FatFs的主体,文件都在源码src文件夹中,瑞萨其中ff.c、ff.h、ffsystem.c以及ffunicode.c4个文件我们不需要改动,只需要修改ffconf.h和diskio.c/.h3个文件。
底层设备输入输出要求实现存储设备的读写操作函数、存储设备信息获取函数等等。我们使用串行Flash芯片作为物理设备,在上一章节已经编写好了串行Flash芯片的驱动程序,这里我们就直接使用。
24.4.2.1
实现底层驱动接口
FatFs文件系统与底层介质的驱动分离开来,对底层介质的操作都要交给用户去实现,它仅仅是提供了一个函数接口而已。表FatFs移植需要用户支持函数为FatFs移植时用户必须支持的函数。
通过表FatFs移植需要用户支持函数我们可以清晰知道很多函数是在一定条件下才需要添加的,只有前三个函数是必须添加的。我们完全可以根据实际需求选择所需用到的函数。
前三个函数是实现读文件最基本需求。接下来三个函数是实现创建文件、修改文件需要的。为实现格式化功能,需要在disk_ioctl添加两个获取物理设备信息选项。我们一般只要实现前面六个函数就可以了,已经足够满足大部分功能。
为支持简体中文长文件名称需要添加ff_uni2oem、ff_oem2uni和ff_wtoupper 函数,实际这三个已经在ffunicode.c文件中实现,我们只要直接把ffunicode.c文件添加到工程中就可以。

底层设备驱动函数是存放在diskio.c文件,我们的目的就是把diskio.c中的函数接口与串行Flash芯片驱动连接起来。总共有五个函数,分别为设备状态获取(disk_status)、设备初始化(disk_initialize)、扇区读取(disk_read)、扇区写入(disk_write)、其他控制(disk_ioctl)。
接下来,我们对每个函数结合串行Flash芯片驱动做详细讲解。
24.4.2.2
修改配置文件
ffconf.h文件是FatFs的配置文件。
下面是ffconf.h文件中,需要修改的部分,只把需要修改的部分放出来:
列表1:
代码清单24‑1 FatFs的配置文件:ffconf.h
左右滑动查看完整内容
/
相关文章
在3月14日苏宁举办的“2007京城空调发展趋势论坛”上,松下、LG、三星、三洋、大金、三菱重工这些外资品牌工厂老总对降价还是三缄其口、羞羞答答。但在不到一周的时间内,这些品牌对于价格操作的态度就发生2026-07-11
持续的高温使空调市场迎来一轮消费热潮,相关投诉也明显增加。昨日06年6月27日),记者从市工商局了解到,仅6月份,该局12315中心接到有关空调的投诉就达647条,比5月猛翻了三番。 刘先生在新华路一2026-07-11
三巨头本周再打空调价格战 空调的价格到底谁说了算?在上游供货商拼命喊涨,连锁终端拼命抑价的情况下,空调价格走势对于老百姓来说成了一个看不透的谜。“其实不管是供货商还是连锁卖场,都不是空调价格的真正主导2026-07-11
记者昨日获悉,格兰仕正在就推期权家电这一新的家电消费模式的合作事宜与全国家电连锁巨头国美、苏宁进行紧急协商。据了解,由于原材料不断上涨,不少中小经销商与团购单位纷纷要求国美、苏宁、格兰仕接受预购订单,2026-07-11
随着天气的变暖,空调的需求量也逐渐增大,但是消费者如何挑选好一件称心如意的产品也是非常重要的。今天,小编就在这里列出了八条购买空调的心得,您可以作为购买空调保证质量的参考。一、外观检查。观看空调各个部2026-07-11
入夏以来,围绕空调价格走势的反复纷争,已经喋喋不休到让人产生逆反心理:一会厂商集体喊涨,一会又有家电卖场跳出来“放水”;一会是标牌价上涨,一会是限价在跌……在记者的采访中,一位消费者无奈地说:“印象2026-07-11

最新评论