版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、串行FLASH文件系統(tǒng)FatFs零死角玩轉STM32淘寶: 論壇: 掃描進入淘寶店鋪主講內容01文件系統(tǒng)簡介02FatFs文件系統(tǒng)簡介03FatFs文件系統(tǒng)移植實驗FatFs功能使用實驗04參考資料:零死角玩轉STM32“SPI串行FLASH文件系統(tǒng)FatFs”章節(jié)串行FLASH文件系統(tǒng)FatFs 文件的打開操作 fopen 打開一個文件 文件的關閉操作 fclose 關閉一個文件 文件的讀寫操作 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 文件結束 ferror 文件讀/寫出錯 clearerr 清除文件錯誤標志 ftell 了解文件指針的當前位置 文件定位函數(shù) rewind 反繞 fseek 隨機定位C語言中的文件操作 串行FLASH文件系統(tǒng)FatFsFATFS文件系統(tǒng)簡介FatFs是面向小型嵌入式系統(tǒng)的一種通用的FAT文件系統(tǒng)。它完全是由AISI C語言編寫并且完全獨立于底層的I/O介質。因此它可以很容易地不加修改地移植到其他
3、的處理器當中,如8051、PIC、AVR、SH、Z80、H8、ARM等。FatFs支持FAT12、FAT16、FAT32等格式。FatFs文件系統(tǒng)的源碼可以從fatfs官網下載: 利用前面寫好的SPI Flash芯片驅動,把FatFs文件系統(tǒng)代碼移植到工程之中,就可以利用文件系統(tǒng)的各種函數(shù),對SPI Flash芯片以“文件”格式進行讀寫操作了。串行FLASH文件系統(tǒng)FatFsFatFs的目錄結構下載FatFs源碼包解壓后,在doc 文件夾里面是一些使用幫助文檔;在src 是FatFs文件系統(tǒng)的源代碼。串行FLASH文件系統(tǒng)FatFsFatFs幫助文檔其中 en 和 ja 這兩個文件夾里面是編譯
4、好的html文檔,講的是FATFS里面各個函數(shù)的使用方法。 00index_e.html和00index_j.html是一些關于FATFS的簡介。串行FLASH文件系統(tǒng)FatFsFATFS源碼integer.h:文件中包含了一些數(shù)值類型定義。diskio.c:包含底層存儲介質的操作函數(shù),這些函數(shù)需要用戶自己實現(xiàn),主要添加底層驅動函數(shù)。ff.c: FatFs核心文件,文件管理的實現(xiàn)方法。該文件獨立于底層介質操作文件的函數(shù),利用這些函數(shù)實現(xiàn)文件的讀寫。cc936.c:本文件在option目錄下,是簡體中文支持所需要添加的文件,包含了簡體中文的GBK和Unicode相互轉換功能函數(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文件并會調用ff.c文件中的函數(shù)就可以了。串行FLASH文件系統(tǒng)FatFsFatF
6、s在程序中的關系網絡用戶應用程序需要由用戶編寫,想實現(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總是需要底層設備驅動函數(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國美甲行業(yè)資本規(guī)劃與股權融資戰(zhàn)略制定與實施研究報告
- 2025-2030年中國社區(qū)養(yǎng)老服務行業(yè)并購重組擴張戰(zhàn)略制定與實施研究報告
- 2025-2030年中國智能公交行業(yè)并購重組擴張戰(zhàn)略制定與實施研究報告
- 2025-2030年中國旅居康養(yǎng)行業(yè)開拓第二增長曲線戰(zhàn)略制定與實施研究報告
- 2025-2030年中國動態(tài)稱重儀器儀表行業(yè)營銷創(chuàng)新戰(zhàn)略制定與實施研究報告
- 新形勢下乘用車變速器行業(yè)快速做大市場規(guī)模戰(zhàn)略制定與實施研究報告
- 市政道路監(jiān)理質量評估報告
- 建設項目從前期立項到竣工備案所有手續(xù)辦理詳細流程
- 者柯哨安全工作總結報告
- 建設監(jiān)理對工程質量控制的方法和程序
- 山東省煙臺市2025屆高三上學期期末學業(yè)水平診斷政治試卷(含答案)
- 2025北京石景山初二(上)期末數(shù)學真題試卷(含答案解析)
- 北師大版四年級下冊數(shù)學課件第1課時 買文具
- 青貯產品銷售合同樣本
- 2024年冷庫倉儲服務協(xié)議3篇
- 中國轎貨車的車保養(yǎng)項目投資可行性研究報告
- 人工智能在體育訓練中的應用
- 2024-2030年中國液態(tài)金屬行業(yè)市場分析報告
- 住宅樓智能化系統(tǒng)工程施工組織設計方案
- 高二上學期數(shù)學北師大版(2019)期末模擬測試卷A卷(含解析)
- 2024-2025學年度第一學期四年級數(shù)學寒假作業(yè)
評論
0/150
提交評論