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" )
水平有限,如有錯誤,給出指正。