|
第二十二章 FATFS实验 上一章,我们学习了SD卡的使用,并实现了简单的读写扇区功能。在电脑上我们的资料常以文件的形式保存,通过文件名我们可以快速对自己的文件数据等进行分类。对于SD卡这种容量可以达到非常大的存储介质,按扇区去管理数据已经变得不方便,我们希望单片机也可以像电脑一样方便地用文件的形式去管理,在需要做数据采集的场合也会更加便利。 本章,我们将介绍FATFS这个软件工具,利用它在Kendryte K210上实现类似电脑上的文件管理功能,方便管理SD卡上的数据。 本章分为如下几个小节: 22.1 FATFS简介 22.2 硬件设计 22.3 程序设计 22.4 运行验证 22.1 FATFS简介 FATFS是一个完全免费开源的FAT/exFAT文件系统模块,专门为小型的嵌入式系统而设计。它完全用标准C语言(ANSI C C89)编写,所以具有良好的硬件平台独立性,只需做简单的修改就可以移植到8051、PIC、AVR、ARM、Z80、RX等系列单片机上。它支持FATl2、FATl6和FAT32,支持多个存储媒介;有独立的缓冲区,可以对多个文件进行读/写,并特别对8位单片机和16位单片机做了优化。FATFS的特点有: l Windows/dos系统兼容的FAT/exFAT文件系统 l 独立于硬件平台,方便跨硬件平台移植 l 代码量少、效率高 l 多种配置选项 l 支持多卷(物理驱动器或分区,最多10个卷) l 多个ANSI/OEM代码页包括DBCS l 支持长文件名、ANSI/OEM或Unicode l 支持RTOS l 支持多种扇区大小 l 只读、最小化的API和I/O缓冲区等 l 新版的exFAT文件系统,突破了原来FAT32对容量管理32Gb的上限,可支持更巨大的存储 FATFS的这些特点,加上免费、开源的原则,使得FATFS应用非常广泛。FATFS模块的层次结构如图22.1.1所示:
剩余内容请下载PDF文件查看:
|