STMCU小助手
发布时间:2022-3-1 12:15
|
一. FatSL 介绍 FatSL 是嵌入式软件供应商 HCC 开发的一种 FAT 类型的文件系统。FatSL 具有以下特性: 极低的 RAM 和 ROM 需求 <1K bytes RAM, 大约 4K bytes ROM 高性能,针对 FAT 风险的安全特性设计 支持 FAT12,FAT16,FAT32 类型 FatSL 的结构如下图所示 (FatSL 的软件结构设置的非常清晰,赞)
二.FatSL 的移植 如果了解 FAT 的系统结构,并理解了 FatSL 的软件结构,那么文件系统移植并不困难(其实文件系统移植都是大同小异的)。本文给出的例子是基于 STEVAL-CCM007V1 硬件平台,通过 NFTL层(NAND Flash Translation Layer)在 NAND Flash 上建立该文件系统的情况。 1. 数据结构 F_PHY 主要是对存储介质的描述
_F_DRIVER 就是文件系统对存储介质的驱动接口了,通过 user_ptr 指针(例如指向用户自定 义的存储介质的数据结构)可以为驱动实现更好的设计。
2. 驱动函数的编写 F_DRIVER *( *F_DRIVERINIT )( unsigned long ulDriverParameter ); 初始化文件系统和存储介质驱动的接口,为 F_DRIVER 结构体添加内容
typedef int ( *F_GETPHY )( F_DRIVER * pxDriver, F_PHY * pxPhy ); 将存储介质的信息添加到 F_PHY 结构体中
typedef int ( *F_READSECTOR )( F_DRIVER * pxDriver, void * pvBuffer, unsigned long ulSector ); 读扇区函数,从逻辑扇区 ulSector 中将数据读到 pvBuffer 所指向的缓存中
typedef int ( *F_WRITESECTOR )( F_DRIVER * pxDriver, void * pvBuffer, unsigned long ulSector ); 写扇区函数,把 pvBuffer 指向的数据写入逻辑扇区 ulSector 中
typedef long ( *F_GETSTATUS )( F_DRIVER * pxDriver ); typedef void ( *F_RELEASE )( F_DRIVER * pxDriver ); 这两个函数是检测设备拔插的。 三. 经验杂谈 关于文件系统的移植,推荐大家阅读一些 FAT 结构的资料,至少要做到对 FAT 结构心中有数,对调试会有很大的帮助的(工欲善其事,必先利其器)。 |
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
OpenSTLinux 6.1发布:M33-TD加持+安全升级,STM32MPU开发效率翻倍!
【经验分享】STM32CubeIDE汉化
手把手教你VSCode搭建STM32开发环境
RTOS在STM32中的应用
微信公众号
手机版