国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FATFS文件系統詳解(三)

冬至子 ? 來源:jaffer ? 作者:jaffer ? 2023-06-07 14:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

5.3 根目錄區分析

注意,根目錄區只有 FAT12 / FAT16 系統上存在,在FAT32系統上不存在此區域。

根目錄區用來記錄根目錄下的文件內容,根據 4.3 章節計算可知,根目錄區起始地址為:==0x3C000==,大小為==0x4000==,數據內容如下:

1.jpg

以下是對數據字段進行分析后的內容,如下圖所示:

1.jpg

格式化之后,默認會生成一個System Volume Infomation的系統文件夾,同時此文件夾是根目錄下唯一的一個文件,因此在根目錄的數據如上圖所示。

此文件夾為目錄屬性,是隱藏的系統目錄

長文件名為System Volume Information,短文件名為SYSTEM~1

==此目錄指向存放的數據在2號簇(對應數據區第一個簇),文件大小字段,由于此文件為目錄屬性,此字段無意義,因此強制為0==

至此,根目錄區分析完了,同時根目錄區的 System Volume Information文件指向數據區第一個簇(2號簇),接下來我們便進入數據區進行分析。

5.4 數據區分析

根據 4.3 章節計算可知,數據區起始地址為:0x40000,大小為242176 * 512 = 0x764 0000,數據內容如下:

1.jpg

對應數據字段分析如下:

1.jpg

System Volume Information 目錄下存在兩個文件,分別是IndexerVolumeGuid 和 WPSettings.dat。根據上述分析可知:

IndexerVolumeGuid文件的數據存放在 FAT[3],3號簇上,即數據區的第3個簇(數據區的第1個簇為2號簇);

WPSettings.dat 文件的數據存放在 FAT[4],4號簇上,即數據區的第2個簇(數據區的第1個簇為2號簇);

首先,我們跳轉到4號簇上查看IndexerVolumeGuid的數據,對應地址計算方式為:

FirstSectorofCluster = DataStartSector + (N - 2) BPB_SecPerClus = 512 + (4 - 2) 4

= 520;

對應地址為: FirstSectorofCluster BPB_BytsPerSec = 520 512 = 0x0004 1000

1.jpg

接著跳轉到3號簇上查看WPSettings.dat的數據,對應地址計算方式為:

FirstSectorofCluster = DataStartSector + (N - 2) BPB_SecPerClus = 512 + (3 - 2) 4

= 516;

對應地址為: FirstSectorofCluster BPB_BytsPerSec = 520 512 = 0x0004 0800

1.jpg

5.5 新增文件測試

在根目錄下新增 test 目錄,使用winhex更新磁盤數據,觀察各數據區變化

保留區無變化

FAT區變化如下:

1.jpg

根目錄區變化如下:

1.jpg

數據區變化:

1.jpg

新增long file test文件夾,里面存入一個 ==長度為 2050 Byte(占據兩個簇的空間)== 的test.txt文件,使用winhex重新打開磁盤進行分析。

1.jpg

保留區無變化

FAT區變化如下:

1.jpg

根目錄區變化如下:

1.jpg

數據區變化如下:

long file test 目錄數據指向6號簇,跳轉至6號簇,地址 DataStartSector + (N - 2) * BPB_SecPerClus = 0x40000 + (6-2) * 4 * 512 = 0x420000

1.jpg

test.txt 文件指向 7號簇,跳轉至7號簇,地址 DataStartSector + (N - 2) * BPB_SecPerClus = 0x40000 + (7-2) * 4 * 512 = 0x428000,均為test.txt的實際有效數據,如下:

1.jpg

  1. 總結

    以上便是關于FAT文件系統的全部分析了,通過上述分析,外加新增文件輔助理解,對于文件在FAT文件系統下如何管理、存儲,相信已經有了非常深入的了解。

FAT文件系統分為四個區:

保留區最重要的是里面包含引導扇區,引導扇區內存放著BIOS參數信息,通過此參數可以知道FAT文件系統的flash布局,以及flash大小,fat塊大小、簇大小等關鍵信息;

FAT區,記錄了文件所占用簇的情況,以及對于文件大小大于一個簇的文件,在FAT區內形成簇鏈,記錄文件由哪幾個簇組成

根目錄區,只有FAT12/16系統所有,記錄了根目錄下的文件/目錄條目信息

數據區,記錄數據分為兩個部分,第一部分為目錄信息,除根目錄外,每個文件夾需要占據一個及以上的簇描述對應目錄下的文件情況;第二部分為具體文件數據。兩部分數據通過短文件名SFN字段進行關聯!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SFN
    SFN
    +關注

    關注

    0

    文章

    5

    瀏覽量

    9229
  • fat32文件系統

    關注

    0

    文章

    7

    瀏覽量

    6935
  • FAT12
    +關注

    關注

    0

    文章

    2

    瀏覽量

    1892
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FATFS文件系統移植

    FatFs 是用于小型嵌入式系統的通用 FAT/exFAT 文件系統模塊。FatFs 模塊是按照 ANSI C (C89) 編寫的,與磁盤 I/O 層完全分離。因此它獨立于平臺。它可以
    的頭像 發表于 06-06 09:28 ?6670次閱讀
    <b class='flag-5'>FATFS</b><b class='flag-5'>文件系統</b>移植

    STM32CubeMx入門教程(10):Fatfs文件系統的應用

    導語"fatfs是一個小型的文件系統,在小型的嵌入式系統中使用非常的廣泛,STM32CubeMx自帶該文件系統,我們通過簡單的配置就能夠使用,將前面的SD卡的讀寫操作進行修改,將
    發表于 07-12 11:39 ?7574次閱讀
    STM32CubeMx入門教程(10):<b class='flag-5'>Fatfs</b><b class='flag-5'>文件系統</b>的應用

    FATFS文件系統移植

    這是本人,整理的FATFS文件系統移植資料,很少的一部分,希望大家把自己搜到的比較好的資料,分享一下,本人正在學習fatfs文件系統,希望和高手討論,
    發表于 09-11 16:05

    FATFS文件系統簡介

    FATFS文件系統1.FATFS文件系統簡介2. 硬件設計3. 軟件設計3.1 STM32CubeMX設置3.2 MDK-ARM編程4. 下載驗證
    發表于 08-10 08:14

    FatFs文件系統的原理是什么?如何對FATFS進行移植?

    FatFs文件系統的原理是什么?FatFs文件系統的移植方法是什么?如何實現eMMC卡中文件的讀寫及其它操作?
    發表于 11-25 07:52

    stm32+sdio+fatfs文件系統_源碼分析

    stm32+sdio+fatfs文件系統介紹,通俗易懂。
    發表于 11-06 09:52 ?26次下載

    FatFs文件系統使用

    STM系列FatFs文件系統使用文件,希望對大家有幫助。
    發表于 11-06 18:10 ?10次下載

    基于SD卡的FATFS文件系統的研究與應用_崔鵬偉

    基于SD卡的FATFS文件系統的研究與應用_崔鵬偉。
    發表于 04-14 16:46 ?40次下載

    FatFs通用FAT文件系統模塊_中文手冊

    FatFs通用FAT文件系統_0.09A中文手冊,學習嵌入式的肯定要用到它。FatFs 是一個為小型嵌入式系統設計的通用FAT(File Allocation Table)
    發表于 07-13 15:40 ?96次下載

    CH579 SPIFLASH W25Q64 FATFS文件系統

    CH579 SPIFLASH W25Q64 FATFS文件系統(arm嵌入式開發平臺PB)-W25Qxx的SPIFlash掛載文件系統,實現掛載fatfs
    發表于 08-04 11:44 ?78次下載
    CH579 SPIFLASH W25Q64 <b class='flag-5'>FATFS</b><b class='flag-5'>文件系統</b>

    Fatfs文件系統的移植)

    Fatfs文件系統的移植)一、文件系統介紹二、移植條件、說明1、FatFs模塊在可移植性方面設定了以下條件:2、數據類型說明3、系統框架
    發表于 11-15 18:51 ?22次下載
    <b class='flag-5'>Fatfs</b>(<b class='flag-5'>文件系統</b>的移植)

    FATFS文件系統詳解

    采用的獨特的文件系統結構CDFS:CDFS是大部分的光盤的文件系統exFATFATFS文件系統FATFS是一個完全免費開源的FAT 文件系統
    發表于 11-29 09:51 ?30次下載
    <b class='flag-5'>FATFS</b><b class='flag-5'>文件系統</b><b class='flag-5'>詳解</b>

    文件系統FatFs文件系統在嵌入式芯片LPC18XX上的移植

    文件系統FatFs文件系統在嵌入式芯片LPC18XX上的移植
    發表于 12-04 10:51 ?12次下載
    【<b class='flag-5'>文件系統</b>】<b class='flag-5'>FatFs</b><b class='flag-5'>文件系統</b>在嵌入式芯片LPC18XX上的移植

    FATFS文件系統原版文件下載

    FATFS文件系統原版文件下載
    發表于 06-25 09:02 ?0次下載

    文件系統FatFs的移植

    FATFS是一個完全免費開源的FAT文件系統模塊,專門為小型的嵌入式系統而設計。它完全用標準C語言編寫,所以具有良好的硬件平臺獨立性,甚至可以移植到8位的單片機上而只需做簡單的修改。
    的頭像 發表于 03-01 14:38 ?3505次閱讀
    <b class='flag-5'>文件系統</b><b class='flag-5'>FatFs</b>的移植