2019独角兽企业重金招聘Python工程师标准>>>
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" )
水平有限,如有错误,给出指正。