瑞萨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 左右滑动查看完整内容

/
- 最近发表
- 随机阅读
-
- 39元抽iPhone14?市场监管部门:网上参与抽奖要谨慎
- 男子开车未及时让路被路人暴打一顿 打人者获刑
- 安徽新增确诊病例52例、无症状感染者179例
- 双奖加冕!深视智能斩获省级制造业单项冠军企业及大湾区专精特新标杆企业百强双料大荣
- RJ45转接头的用途和分类 如何判断RJ45线缆质量
- 男子患恋物癖专拿女性鞋子 不是偷而是嗅闻
- 泉州一男子疑跳下刺桐大桥 留下一对子女
- 罕见!中华白海豚惊现泉州湾跨海大桥海域戏水
- SATA硬盘的性能优化技巧
- 泰芯半导体携手生态伙伴助力AI硬件产业规模化落地
- 泉州行政服务中心:买卖二手房 周末也能办手续
- 惠安两伙男子火拼 刀砍车撞一人身亡!
- 燧原科技亮相2024中国人工智能大会
- 北师大泉州附中师生 募捐9万救助白血病少年
- 泉州市住建局:加强安全文明施工标准化专项整治
- 泉州东湖公园东北虎生三胞胎 憾仅一只虎崽存活
- 新思科技推出超以太网与UALink IP解决方案
- 涉嫌泄露公司内幕亲友获利上千万 泉州一基金经理被起诉
- 更深视野,更真细节:Bamtone K系列盲孔显微镜性能优势深度评测
- Nullmax MaxDrive智驾方案AEB系统斩获五星安全认证
- 搜索
-