在SD/MMC卡中可读写的FAT文件系统

FAT文件系统

关于eLua中FAT文件系统的实现是使用了来自Elm Chan的一个很好的FatFS文件包。它可以在读写模式中处理FAT12,FAT16和FAT32文件系统。而且它打包了很多功能通过封装的形式。跟ROM文件系统一样它也与C库集成在一起,所以相似的POSIX操作可以控制此文件系统,或者通过Lua的io模块。eLua在FatFS之上增加了一个平台抽象层使之可以容易的在不同的eLua目标之间进行移植。因为大多数的SD/MMC卡可以通过通用SPI接口控制,并且eLua已经提供了一个SPI平台接口。所以移植FAT文件系统到不同的elua目标板上相当容易的一个过程。

为了在你的eLua目标板上使用FAT文件系统,首先确保在你的平台上elua的SPI平台接口处于工作中(目前elua只支持通过SPI控制SD/MMC卡)。然后你需要在eLua二进制镜像中使能FAT文件系统模块。


使用FAT文件系统

为了使用FAT文件系统,首先确保你的SD/MMC卡的格式为FAT格式。下一步,确认你的SD/MMC卡通过下表描述的引脚来控制。

eLua PIN Static Config SD Card Pin MMC Card Pin
CS MMCFS_CS_PORT,
MMCFS_CS_PIN
DAT3/CS RES/CS
SPI DO MMCFS_SPI_NUM CMD/DI CMD/DI
SPI DI MMCFS_SPI_NUM DAT0/DO DAT0/DO
SPI SCLK MMCFS_SPI_NUM CLK CLK

一旦配置好,连接上,并且eLua启动了,你就可以和你存储卡的文件打交道了。为了打开一个在SD/MMC卡中的文件,你需要做的就是在文件名前面加上前缀/mmc/,就像下面这样:

# lua /mmc/info.lua

与之相似,如果你想打开一个文本文件a.txt,你可以如下操作:

f = fopen( "/mmc/a.txt", "rb" )


水平有限,如有错误,给出指正。

你可能感兴趣的:(在SD/MMC卡中可读写的FAT文件系统)