版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、串行FLASH文件系統(tǒng)FatFs零死角玩轉(zhuǎn)STM32淘寶: 論壇: 掃描進(jìn)入淘寶店鋪主講內(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 以二進(jìn)制形式讀取文件中的數(shù)據(jù) fwrite 以二進(jìn)制形式寫數(shù)據(jù)到文件中去 getw 以二進(jìn)制形式讀取一個整數(shù) putw 以二進(jìn)制形式存貯一個整數(shù) 文件狀態(tài)檢查函數(shù) feof 文件結(jié)束 ferror 文件讀/寫出錯 clearerr 清除文件錯誤標(biāo)志 ftell 了解文件指針的當(dāng)前位置 文件定位函數(shù) rewind 反繞 fseek 隨機(jī)定位C語言中的文件操作 串行FLASH文件系統(tǒng)FatFsFATFS文件系統(tǒng)簡介FatFs是面向小型嵌入式系統(tǒng)的一種通用的FAT文件系統(tǒng)。它完全是由AISI C語言編寫并且完全獨立于底層的I/O介質(zhì)。因此它可以很容易地不加修改地移植到其他
3、的處理器當(dāng)中,如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芯片以“文件”格式進(jìn)行讀寫操作了。串行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)絡(luò)用戶應(yīng)用程序需要由用戶編寫,想實現(xiàn)什么功能就編寫什么的程序,一般我們只用到f_mount()、f_open()、f_write()、f_read()就可以實現(xiàn)文件的讀寫操作。這些應(yīng)用層函數(shù)使用方法與標(biāo)準(zhǔn)C的文件操作函數(shù)類似。FatFs組件是FatFs的主體,文件都在源碼src文件夾中,其中ff.c、ff.h、integer.h以及diskio.h四個文件我們不需要改動,只需要修改ffconf.h和diskio.c兩個文件。底層設(shè)備輸入輸出要求實現(xiàn)存儲設(shè)備的讀寫操作函數(shù)、存儲設(shè)備信息獲取函數(shù)等等。串行FLASH文件系統(tǒng)FatFsFatFs移植需要用戶支持函數(shù)函數(shù)條件(ffco
7、nf.h)備注disk_statusdisk_initializedisk_read總是需要底層設(shè)備驅(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度藝術(shù)品拍賣買賣與專業(yè)運輸保障合同4篇
- 二零二五年度文化產(chǎn)業(yè)園區(qū)承包經(jīng)營合同范本8篇
- 2025年度個人信用卡延期還款及免息期調(diào)整合同4篇
- 2025版羅馬柱裝飾工程合同二零二五年度安全施工管理協(xié)議4篇
- 2025年度個人股份轉(zhuǎn)讓與公司治理優(yōu)化合同4篇
- 2025年度房產(chǎn)證外銷備案及交易合同4篇
- 二零二五年度公積金貸款房產(chǎn)離婚協(xié)議及公積金提取規(guī)定完善3篇
- 二零二五年度新能源汽車充電樁車位代理合作協(xié)議4篇
- 二零二五年度新型材料圍墻施工與研發(fā)合同4篇
- 2025年度汽車維修行業(yè)市場調(diào)研承包合同2篇
- 春節(jié)文化常識單選題100道及答案
- 12123交管學(xué)法減分考試題及答案
- 2024年杭州師范大學(xué)附屬醫(yī)院招聘高層次緊缺專業(yè)人才筆試真題
- 制造業(yè)BCM業(yè)務(wù)連續(xù)性管理培訓(xùn)
- 商場停車場管理制度
- 24年追覓在線測評28題及答案
- TGDNAS 043-2024 成人靜脈中等長度導(dǎo)管置管技術(shù)
- 《陸上風(fēng)電場工程概算定額》NBT 31010-2019
- 皮帶輸送機(jī)工程施工電氣安裝措施要點
- 藥房(冰柜)溫濕度表
- QJ903.9A-1995航天產(chǎn)品工藝文件管理制度管理用工藝文件編制規(guī)則
評論
0/150
提交評論