|
組件使用R0.11a (September 05, 2015)版。
Fatfs文件組件移植時(shí)只需修改diskio.c和ffconf.h文件即可,其他文件不用修改任何東西。option文件夾里面的根據(jù)使用情況添加,一般使用英文文件名可以都不用添加,要使用中文文件名需要添加cc936.c文件,但是評(píng)估板ROM容量小,中文字庫(kù)太大會(huì)導(dǎo)致內(nèi)存溢出,編譯不通過(guò)。還有一個(gè)關(guān)于長(zhǎng)文件名的使用,要用到ccsbcs.c文件,要修改宏#define _USE_LFN為 1(默認(rèn)為0不支持)才能支持長(zhǎng)文件名的使用 。本實(shí)驗(yàn)使用的是英文文件名,可以使用長(zhǎng)文件名。
ffconf.h文件要修改的宏為:
#define _USE_MKFS 1 //格式化功能
#define _CODE_PAGE 437 //語(yǔ)言功能選擇 437為英文
#define _USE_LFN 1 //長(zhǎng)文件名支持 默認(rèn)為0不支持長(zhǎng)文件名
#define _VOLUMES 3 // 指定的物理設(shè)備數(shù)量 #define _MIN_SS 512 // 指定扇區(qū)大小的最小值
#define _MAX_SS 4096 //指定扇區(qū)大小的最大值
移植完成的目錄為:
diskio.c文件修改的比較多,這里就不粘貼,有想瀏覽的可以下載附件。下面直接附測(cè)試截圖:第二張截圖是長(zhǎng)文件名測(cè)試。
最后總結(jié)一下,實(shí)驗(yàn)總體比較成功,但是過(guò)程中也出現(xiàn)很多問(wèn)題,主要一個(gè)由于ROM容量問(wèn)題不能實(shí)現(xiàn)中文文件名,希望以后能用到大容量的板子在實(shí)現(xiàn)。其他問(wèn)題是移植時(shí)粗心造成一些錯(cuò)誤,比如首次格式化時(shí)能夠格式化成功,但是就是不能讀寫操作,最后才發(fā)現(xiàn)是disk_write函數(shù)在修改過(guò)程中要擦出一個(gè)扇區(qū),把輸入?yún)?shù)扇區(qū)號(hào)弄成了地址。。。。所以,發(fā)現(xiàn)問(wèn)題99.99%的是自己編寫的代碼問(wèn)題,就不要懷疑人家Fatfs組件的問(wèn)題了,更不要懷疑是硬件問(wèn)題了。共勉。
|
-
1.jpg
(16.97 KB, 下載次數(shù): 225)
下載附件
2021-5-25 21:57 上傳
-
2.jpg
(22.15 KB, 下載次數(shù): 213)
下載附件
2021-5-25 21:57 上傳
-
3.jpg
(7.95 KB, 下載次數(shù): 215)
下載附件
2021-5-25 21:57 上傳
-
4.jpg
(15.19 KB, 下載次數(shù): 218)
下載附件
2021-5-25 21:57 上傳
-
-
CH32_FUN.7z
2021-5-25 21:57 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
512.53 KB, 下載次數(shù): 25, 下載積分: 黑幣 -5
評(píng)分
-
查看全部評(píng)分
|