FatFs 檔案系統 ffconf h的配置

2021-09-28 23:05:14 字數 970 閱讀 6514

#define	_use_strfunc	1	//啟用字串函式,但是不進行lf-crlf轉換的。

#define _use_mkfs 1 //啟用(1)f_mkfs功能。在邏輯驅動器上建立fat卷

#define _use_fastseek 1 //啟用(1)快速查詢功能可啟用f_lseek,f_read和f_write功能的加速模式。

#define _use_label 1 //啟用(1) f_getlabel和f_setlabel 函式。f_getlabel-獲取卷標. f_setlabel-設定卷標.

#define _code_page 936 //採用中文gbk編碼

#define _use_lfn 3 // 在heap上啟用具有動態工作緩衝區的lfn。( malloc free )

#define _volumes 2 //支援2個磁碟 sd 卡 and nand flash.(邏輯驅動器最多10個)

ff_use_lfn

此選項可切換對長檔名(lfn)的支援。 啟用 lfn 時,需要將 unicode 支援模組 ffunicode.c 新增到專案中。 當使用堆疊作為工作緩衝區時,請注意堆疊溢位。 當使用堆記憶體作為工作緩衝區時,需要將 ffsystem.c 新增到專案中,並實現其中的記憶體管理函式 ff_memalloc 和 ff_memfree。

0: 不啟用。預設值。ff_max_lfn 無效

1: 啟用。且 lfn 在**段 bss 上具有靜態工作緩衝區。 始終不是執行緒安全的。

2: 啟用。且在 stack 上具有動態工作緩衝區的 lfn。需要注意棧溢位的問題。

3: 啟用。且在 heap 上具有動態工作緩衝區的 lfn。此時,必須要啟用 ffsystem.c 中的動態記憶體申請函式 ff_memalloc() 和 ff_memfree()

注意:長檔名與上面的編碼頁有關係!有些編碼頁就是 unicode 字符集,也因此需要長檔名支援!

fatfs檔案系統

使用stm32cubemx新增fatfs下的user defined,開啟工程,檢視 可以發現 中先呼叫了mx fatfs init 函式,而此函式又呼叫了 fatfs linkdriver 函式,繼續查詢fatfs linkdriver 函式,發現此函式第乙個變數為diskio drvtypede...

FATFS檔案系統

二 修改fatfs 主要修改底層裝置驅動函式 diskio.c 目的 就是把 diskio.c 中的函式介面與spi flash 晶元驅動連線起來。總共有五個函式,分別為裝置狀態獲取 disk status 裝置初始化 disk initialize 扇區讀取 disk read 扇區寫入 disk...

FATFS檔案系統讀寫資料

fatfs檔案系統靈活易用,很適合小型嵌入式系統的開發,比如漢字儲存或者將感測器測得的實時資料直接儲存到tf sd卡中,避免了記錄實驗資料的繁重工作,也提高了後期進一步處理資料的效率。fatfs檔案系統參考手冊和 本次試驗採用的是最新的ff12,版本之間的差異詳見版本說明。1.新建工程 新版本直接加...