完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1,磁盘分区
磁盘每一面被分为若干磁道离圆心越近磁道越小,每一个磁道被以512字节为单位划分,叫做扇区,最外圈扇区最多,最里圈扇区最少。 磁盘驱动器在向磁盘读取和写入数据都是以扇区为单位的,为了对扇区进行管理和查找,对扇区进行编号,从第0(最里圈)磁道开始累积计数。 2,文件系统 3,FATFS简介 FATFS 是一个完全免费开源的 FAT 文件系统模块,专门为小型的嵌入式系统而设计。它完 全用标准 C 语言编写,所以具有良好的硬件平***立性,可以移植到 8051、PIC、AVR、SH、 Z80、H8、ARM 等系列单片机上而只需做简单的修改。它支持 FATl2、FATl6 和 FAT32,支持 多个存储媒介;有独立的缓冲区,可以对多个文件进行读/写,并特别对 8 位单片机和 16 位 单片机做了优化。 FATFS 的特点有: ⚫ Windows 兼容的 FAT 文件系统(支持 FAT12/FAT16/FAT32) ⚫ 与平台无关,移植简单 ⚫ 代码量少、效率高 ⚫ 多种配置选项 支持多卷(物理驱动器或分区,最多 10 个卷) 多个 ANSI/OEM 代码页包括 DBCS 支持长文件名、ANSI/OEM 或 Unicode 支持 RTOS 支持多种扇区大小 只读、最小化的 API 和 I/O 缓冲区等 FATFS结构如下: 应用层只需要调用相关API进行操作,无需理会FAT协议,中间层 FATFS 模块,实现了 FAT 文件读/写协议。FATFS 模块提供的是 ff.c 和 ff.h。除非有必要,使用者一般不用修改,使用时将头文件直接包含进去即可。需要我们编写移植代码的是 FATFS 模块提供的底层接口,它包括存储媒介读/写接口(disk I/O)和供给文件创建修改时间的实时时钟。 FAT源文件大概介绍: ffconf.h FATFS 模块配置文件 ff.h FATFS 和应用模块公用的包含文件 ff.c FATFS 模块 diskio.h FATFS 和 disk I/O 模块公用的包含文件 interger.h 数据类型定义 option 可选的外部功能(比如支持中文等) 与平台相关的代码(需要用户提供)是:diskio.c FATFS 和 disk I/O 模块接口层文件 FATFS 模块在移植的时候,我们一般只需要修改 2 个文件,即 ffconf.h 和 diskio.c。FATFS 模块的所有配置项都是存放在 ffconf.h 里面,我们可以通过配置里面的一些选项,来满足自己 的需求。 通过以下三步,我们即可完成对 FATFS 的移植。 第一步,查看我们使用的 编译器,数据类型和 integer.h 里面定义的是否一致。 第二步,关于 ffconf.h 里面的相关配置我们将需要的功能对应配置修改为我们介绍时候的值即可,其他的配置用默认配置。 第三步,因为 FATFS 模块完全与磁盘 I/O 层分开,因此需要一些函数来实现底层物理磁 盘的读写与获取当前时间。底层磁盘 I/O 模块并不是 FATFS 的一部分,并且必须由用户提供。 以SD卡和spi flash(外部flash)为例。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1847浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
609浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
503浏览 3评论
507浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
488浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 15:52 , Processed in 0.592040 second(s), Total 45, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号