【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(五)-文件管理初步介紹


其他鏈接

【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(一)-初步認識SD卡

【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(二)-了解SD總線,命令的相關介紹

【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(三)-SD卡的操作流程

【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(四)-介紹庫函數,獲取一些SD卡的信息

【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(五)-文件管理初步介紹

【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(六)-FatFs使用的思路介紹

【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(七)-准備移植FatFs

【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(八)-認識內存管理

【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(終)-配合內存管理來遍歷SD卡

 

本章只是介紹文件管理是如何處理的,和我們要調用第三方開源庫,是沒任何關系的

具體要不要讀這章,各位客官隨意吧

 

一、文件管理的作用是什么?

是為了把存儲區域不浪費的使用

只要在存儲區域內,划出一部分空間,給文件管理代碼使用,它就能有效的利用剩余空間

硬盤、U盤、SD卡等,執行格式化后,也就是在做這個動作

截這張圖,我還特別緊張,E盤都是我的重要文件,一旦開始格式化我就完了...

NTFS是另一個文件管理

FatFs支持FAT12、FAT16、FAT32

 

 

二、格式化做了什么?

在格式化的時候,會做兩件事情

1.添加文件分配表(記錄文件存放的位置)

2.添加目錄(記錄文件名、開始簇、日期時間等信息)

 

這里介紹一下,什么是

簇,是文件管理最小的一個存儲單位,由文件管理決定多少字節為一個簇

像上圖,格式化的時候,可以設定分配單元大小,4096字節就是一個簇

有了簇的概念,后面可以講《文件分配表》和《目錄》

 

 

三、文件是如何進行管理的?

這里我們先舉個例子,先往空間里面存儲3個檔案,分別為A、B、C

A、B、C的文件大小,分別為1、2、3簇

那么它的存儲情況、文件分配表,以及目錄如下

 

 

這時候呢,我們把B文件刪除

 

 

第3和4簇就空出來了,接着,我們添加一個D文件,文件大小為4簇

由於D文件有4簇,超過了原本B文件所占的2簇

所以文件會把D文件里的2簇,存在B原本的位置,然后再往后找剩余的位置,存儲剩余的檔案

 

事實上,文件存儲在何處,我們可以不用管,這些,文件管理FatFs會去處理

而我們只要調用這些接口就行了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM