移植Fatfs遇到f open返回FR NO

2021-07-24 21:03:41 字數 849 閱讀 8670

1、函式disk_ioctl()內部*(ffdword *)buff = fatfs_flash_sector_size;這句**在有些m0的arm核上會硬體錯誤,改為*(ffword *)buff = fatfs_flash_sector_size;即可,是因為字對齊訪問的問題;

2、寫測試函式時,fatfs定義的變數最好是全域性變數,否則可能因為棧空間不足出現奇怪問題,如f_open返回fr_no_file,讀到的資料為0;

3、第一次掛載讀寫測試要先呼叫f_mkfs()函式格式化下,後面可去掉,直接f_mount、f_open、f_write、f_read就行了。

測試**:

fatfs fatfs_test;

void fatfstest() ;

unsigned char buf_write = "1234567890";

int res = 0;

res = f_mount(0, &fatfs_test);

//res = f_mkfs(0,0,256*4096);// 1mb大小 第一次執行需要格式化扇區

//return;

res = f_open(&fil, "0:/testfile.txt", fa_create_new | fa_write);

if(res == fr_ok)

else

else

} res = f_open(&fil, "0:/testfile.txt", fa_open_existing | fa_read);

printf("res:%d\r\n",res);

for(;;)

f_close(&fil);

f_mount(0,0); }

FatFS檔案系統詳解 附移植建議

最近做的spi flash,本打算弄個檔案系統,由於之前用過了jffs yaffs和trueffs,量都相當的大,這次想找款 量不那麼嚇人的,學習一下,聽說配置會相對複雜一些。選來選去,最終選定了fatfs,量足夠的小,最新的r0.09版本只有1個.c檔案 當然,還有乙個底層的要自己寫,option...

FatFS檔案系統詳解 附移植建議

最近做的spi flash,本打算弄個檔案系統,由於之前用過了jffs yaffs和trueffs,量都相當的大,這次想找款 量不那麼嚇人的,學習一下,聽說配置會相對複雜一些。選來選去,最終選定了fatfs,量足夠的小,最新的r0.09版本只有1個.c檔案 當然,還有乙個底層的要自己寫,option...

基於stm32移植FATFS檔案系統

2.ff14a source 下就是需要的檔案。ff.c fatfs模組。ffconf.h fatfs模組的配置檔案。ff.h fatfs和應用程式模組的通用包含檔案。diskio.h fatfs 和disk i o模組的公用包含檔案。diskio.c 將現有disk i o模組連線到fatfs的粘...