視頻配套的和程序匯總里寫代碼都放在這里flashfatfs_第1頁
視頻配套的和程序匯總里寫代碼都放在這里flashfatfs_第2頁
視頻配套的和程序匯總里寫代碼都放在這里flashfatfs_第3頁
視頻配套的和程序匯總里寫代碼都放在這里flashfatfs_第4頁
免費預覽已結(jié)束,剩余7頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、串行FLASH文件系統(tǒng)FatFs零死角玩轉(zhuǎn)STM32淘寶: 論壇: 掃描進入淘寶店鋪主講內(nèi)容01文件系統(tǒng)簡介02FatFs文件系統(tǒng)簡介03FatFs文件系統(tǒng)移植實驗FatFs功能使用實驗04參考資料:零死角玩轉(zhuǎn)STM32“SPI串行FLASH文件系統(tǒng)FatFs”章節(jié)串行FLASH文件系統(tǒng)FatFs 文件的打開操作 fopen 打開一個文件 文件的關(guān)閉操作 fclose 關(guān)閉一個文件 文件的讀寫操作 fgetc 從文件中讀取一個字符 fputc 寫一個字符到文件中去 fgets 從文件中讀取一個字符串 fputs 寫一個字符串到文件中去 fprintf 往文件中寫格式化數(shù)據(jù) fscanf 格式化

2、讀取文件中數(shù)據(jù) fread 以二進制形式讀取文件中的數(shù)據(jù) fwrite 以二進制形式寫數(shù)據(jù)到文件中去 getw 以二進制形式讀取一個整數(shù) putw 以二進制形式存貯一個整數(shù) 文件狀態(tài)檢查函數(shù) feof 文件結(jié)束 ferror 文件讀/寫出錯 clearerr 清除文件錯誤標志 ftell 了解文件指針的當前位置 文件定位函數(shù) rewind 反繞 fseek 隨機定位C語言中的文件操作 串行FLASH文件系統(tǒng)FatFsFATFS文件系統(tǒng)簡介FatFs是面向小型嵌入式系統(tǒng)的一種通用的FAT文件系統(tǒng)。它完全是由AISI C語言編寫并且完全獨立于底層的I/O介質(zhì)。因此它可以很容易地不加修改地移植到其他

3、的處理器當中,如8051、PIC、AVR、SH、Z80、H8、ARM等。FatFs支持FAT12、FAT16、FAT32等格式。FatFs文件系統(tǒng)的源碼可以從fatfs官網(wǎng)下載: 利用前面寫好的SPI Flash芯片驅(qū)動,把FatFs文件系統(tǒng)代碼移植到工程之中,就可以利用文件系統(tǒng)的各種函數(shù),對SPI Flash芯片以“文件”格式進行讀寫操作了。串行FLASH文件系統(tǒng)FatFsFatFs的目錄結(jié)構(gòu)下載FatFs源碼包解壓后,在doc 文件夾里面是一些使用幫助文檔;在src 是FatFs文件系統(tǒng)的源代碼。串行FLASH文件系統(tǒng)FatFsFatFs幫助文檔其中 en 和 ja 這兩個文件夾里面是編譯

4、好的html文檔,講的是FATFS里面各個函數(shù)的使用方法。 00index_e.html和00index_j.html是一些關(guān)于FATFS的簡介。串行FLASH文件系統(tǒng)FatFsFATFS源碼integer.h:文件中包含了一些數(shù)值類型定義。diskio.c:包含底層存儲介質(zhì)的操作函數(shù),這些函數(shù)需要用戶自己實現(xiàn),主要添加底層驅(qū)動函數(shù)。ff.c: FatFs核心文件,文件管理的實現(xiàn)方法。該文件獨立于底層介質(zhì)操作文件的函數(shù),利用這些函數(shù)實現(xiàn)文件的讀寫。cc936.c:本文件在option目錄下,是簡體中文支持所需要添加的文件,包含了簡體中文的GBK和Unicode相互轉(zhuǎn)換功能函數(shù)。ffconf.h

5、:這個頭文件包含了對FatFs功能配置的宏定義,通過修改這些宏定義就可以裁剪FatFs的功能。如需要支持簡體中文,需要把ffconf.h中的_CODE_PAGE 的宏改成936并把上面的cc936.c文件加入到工程之中。串行FLASH文件系統(tǒng)FatFsFATFS源碼建議閱讀這些源碼的順序為:integer.h - diskio.c - ff.c 。閱讀文件系統(tǒng)源碼ff.c文件需要一定的功底,建議先閱讀FAT32的文件格式,再去分析ff.c文件。若僅為了使用文件系統(tǒng),則只需要理解integer.h及diskio.c文件并會調(diào)用ff.c文件中的函數(shù)就可以了。串行FLASH文件系統(tǒng)FatFsFatF

6、s在程序中的關(guān)系網(wǎng)絡用戶應用程序需要由用戶編寫,想實現(xiàn)什么功能就編寫什么的程序,一般我們只用到f_mount()、f_open()、f_write()、f_read()就可以實現(xiàn)文件的讀寫操作。這些應用層函數(shù)使用方法與標準C的文件操作函數(shù)類似。FatFs組件是FatFs的主體,文件都在源碼src文件夾中,其中ff.c、ff.h、integer.h以及diskio.h四個文件我們不需要改動,只需要修改ffconf.h和diskio.c兩個文件。底層設備輸入輸出要求實現(xiàn)存儲設備的讀寫操作函數(shù)、存儲設備信息獲取函數(shù)等等。串行FLASH文件系統(tǒng)FatFsFatFs移植需要用戶支持函數(shù)函數(shù)條件(ffco

7、nf.h)備注disk_statusdisk_initializedisk_read總是需要底層設備驅(qū)動函數(shù)disk_writeget_fattimedisk_ioctl (CTRL_SYNC)_FS_READONLY = 0disk_ioctl (GET_SECTOR_COUNT)disk_ioctl (GET_BLOCK_SIZE)_USE_MKFS = 1disk_ioctl (GET_SECTOR_SIZE)_MAX_SS != _MIN_SSdisk_ioctl (CTRL_TRIM)_USE_TRIM = 1ff_convertff_wtoupper_USE_LFN != 0Unicode支持,為支持簡體中文,添加cc936.c到工程即可ff_cre_syncobjff_del_syncobjff_req_grantff_rel_grant_FS_REENTRANT = 1FatFs可重入配置,需要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論