Embedded System Studying note 1/26
About FAT
File Allocation Table 是微軟的招牌檔案系統 (FS)
從 DOS 時代用到現在, 隨便找一台電腦都能讀寫
如果能讓嵌入式系統讀寫 FAT
如此嵌入式系統很容易和電腦互通, 很有移植的價值
我有抓了微軟的 FAT spec 來讀
http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx
讀得差不多, 也比對 spec 和 SD 卡的資料後, 我相信微軟說的是對的
但我沒打算寫FS, 畢竟我不是專業資訊玩家, 自己刻 FS 太辛苦了
Internet時代, 業餘玩家要懂得站在巨人的肩榜上...
----
About FatFs
http://elm-chan.org/fsw/ff/00index_e.html
FatFs 是一套不用錢的嵌入式 FAT filesystem, 可以支援 FAT12/16/32
我的 SD card driver 寫完以後, 希望能讓我的系統支援 FAT
這樣我的 ARM9 和電腦就有一個方便的介面互通
大陸人有個網站有提供移植的方法
看起來移植的難度不高, 看完了我信心大增
http://home.eeworld.com.cn/?uid-78216-action-viewspace-itemid-13069
----
這套 library 的移植很簡單, 只要提供以下的東西...
1. SD card 初始化函數
2. 讀寫 sector 的程式
這兩組函數很早就在我的 SD driver 裡了
移植到 FatFs 只要填類似下面的 API 就大致完成了..
----
移植完下面幾支 function
disk_initialize()
disk_status()
disk_read()
disk_write()
disk_ioctl()
get_fattime()
我試著跑網站上的 file-copy 的範例, 超順利, 一次就OK
列出 SD 卡裡所有的檔案也沒問題
這樣看來 FatFs 應該是順利移植上來了 :)
----
TODO:
SD driver 的 Read/ Write 現在都是 blocking & polling 的暴力寫法
一定要想辦法讓 SD driver 跑在 low-priority task...
File Allocation Table 是微軟的招牌檔案系統 (FS)
從 DOS 時代用到現在, 隨便找一台電腦都能讀寫
如果能讓嵌入式系統讀寫 FAT
如此嵌入式系統很容易和電腦互通, 很有移植的價值
我有抓了微軟的 FAT spec 來讀
http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx
讀得差不多, 也比對 spec 和 SD 卡的資料後, 我相信微軟說的是對的
但我沒打算寫FS, 畢竟我不是專業資訊玩家, 自己刻 FS 太辛苦了
Internet時代, 業餘玩家要懂得站在巨人的肩榜上...
----
About FatFs
http://elm-chan.org/fsw/ff/00index_e.html
FatFs 是一套不用錢的嵌入式 FAT filesystem, 可以支援 FAT12/16/32
我的 SD card driver 寫完以後, 希望能讓我的系統支援 FAT
這樣我的 ARM9 和電腦就有一個方便的介面互通
大陸人有個網站有提供移植的方法
看起來移植的難度不高, 看完了我信心大增
http://home.eeworld.com.cn/?uid-78216-action-viewspace-itemid-13069
----
這套 library 的移植很簡單, 只要提供以下的東西...
1. SD card 初始化函數
2. 讀寫 sector 的程式
這兩組函數很早就在我的 SD driver 裡了
移植到 FatFs 只要填類似下面的 API 就大致完成了..
DSTATUS disk_initialize (BYTE drv)
{
switch (drv) {
case SDMMC:
if(SD_card_init() == -1)
return STA_NOINIT;
else
return 0; // function OK
default:
return STA_NOINIT;
}
}
----
移植完下面幾支 function
disk_initialize()
disk_status()
disk_read()
disk_write()
disk_ioctl()
get_fattime()
我試著跑網站上的 file-copy 的範例, 超順利, 一次就OK
列出 SD 卡裡所有的檔案也沒問題
這樣看來 FatFs 應該是順利移植上來了 :)
----
TODO:
SD driver 的 Read/ Write 現在都是 blocking & polling 的暴力寫法
一定要想辦法讓 SD driver 跑在 low-priority task...
留言