精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

文件系統FatFS和LittleFS的區別

strongerHuang ? 來源:strongerHuang ? 作者:strongerHuang ? 2022-03-25 19:45 ? 次閱讀
對于許多嵌入式電子設備而言,擁有一個小型且具有“彈性”的文件系統至關重要。

MCU上運行的文件系統不多,絕大部分人應該知道FatFS這個文件系統,今天就給大家講講FatFS和LittleFS的內容,以及他們之間的一些差異。

文件系統FatFS

FatFs是一個通用的文件系統(FAT/exFAT)模塊,用于在小型嵌入式系統中實現FAT文件系統。

FatFs組件的編寫遵循ANSI C(C89),完全分離于磁盤 I/O 層,因此不依賴于硬件平臺。它可以嵌入到資源有限的微控制器中,如 8051, PIC, AVR, ARM, Z80, RX等等,不需要做任何修改。

---來自百度百科

特征

a.DOS/ Windows兼容的FAT/exFAT文件系統。

b.平臺無關,容易移植。

c.程序代碼和工作區的占用空間非常小。

d.支持以下各種配置選項:

  • ANSI / OEM或Unicode中的長文件名。
  • exFAT文件系統,64位LBA和GPT可存儲大量數據。
  • RTOS的線程安全。
  • 多個卷(物理驅動器和分區)。
  • 可變扇區大小。
  • 多個代碼頁,包括DBCS。
  • 只讀,可選API,I / O緩沖區等...

文件系統FatFS和LittleFS的區別
文件系統FatFS和LittleFS的區別

如果你會使用STM32CubeMX,想要使用FatFS非常容易,輕松幾步就能將STM32“變成”一個U盤。

文件系統Littlefs

知道Littlefs文件系統的人相對比較少,但是如果使用過Mbed OS系統的人絕大部分都應該知道。

Mbed OS是Arm公司針對Cortex-M系列處理器,面向IoT開發的一套免費、開源開源嵌入式操作系統,專門為物聯網中的“things”而設計。

文件系統FatFS和LittleFS的區別

而Littlefs只是Mbed其中的一部分內容,如下框圖:

文件系統FatFS和LittleFS的區別

Littlefs特點:

  • 占用資源小:物聯網設備受到ROMRAM的限制。

  • 斷電恢復能力:要求文件系統保持一致,并將數據刷新到底層存儲。

  • 平均磨損:通常情況下,存儲支持每塊數量有限的擦除,因此使用整個存儲設備對于可靠性非常重要。

文件系統FatFS和LittleFS的區別

用法也挺簡單,參看官方例程:

#include "LittleFileSystem2.h"#include "SPIFBlockDevice.h"
// Physical block device, can be any device that supports the BlockDevice APISPIFBlockDevice bd(PTE2, PTE4, PTE1, PTE5);
// Storage for the littlefsLittleFileSystem2 fs("fs");
// Entry pointint main() {    // Mount the filesystem    int err = fs.mount(&bd);    if (err) {        // Reformat if we can't mount the filesystem,        // this should only happen on the first boot        LittleFileSystem2::format(&bd);        fs.mount(&bd);    }
    // Read the boot count    uint32_t boot_count = 0;    FILE *f = fopen("/fs/boot_count", "r+");    if (!f) {        // Create the file if it doesn't exist        f = fopen("/fs/boot_count", "w+");    }    fread(&boot_count, sizeof(boot_count), 1, f);
    // Update the boot count    boot_count += 1;    rewind(f);    fwrite(&boot_count, sizeof(boot_count), 1, f);
    // Remember that storage may not be updated until the file    // is closed successfully    fclose(f);
    // Release any resources we were using    fs.unmount();
    // Print the boot count    printf("boot_count: %ld
", boot_count);}

二者對比與區別

每一種產物都有它存在的價值,文件系統也同樣如此,各有各的優缺點,下面簡單羅列幾點它們的區別。

1.資源RAM / ROM大小

Littlefs是Mbed OS中的高完整性嵌入式文件系統,經過優化可與RAM和ROM有限的MCU一起使用。

文件系統FatFS和LittleFS的區別

Littlefs高度集成的嵌入式文件系統使用比FAT少的13K ROM和少于4K的RAM。

2.失電恢復能力

littlefs具有強大的copy-on-write保證,并且磁盤上的存儲總是保持有效狀態,可能有隨機電源故障的系統適合該文件系統。

3.磨損均衡

嵌入式設備使用的大多數存儲芯片都支持每個扇區有限的擦除集,如果沒有均衡,則嵌入式設備的壽命可能會受到影響。

原文標題:嵌入式文件系統FatFS和LittleFS對比

文章出處:【微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

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

    關注

    7

    文章

    2674

    瀏覽量

    47350
  • 嵌入式
    +關注

    關注

    5072

    文章

    19026

    瀏覽量

    303523
  • 文件系統
    +關注

    關注

    0

    文章

    284

    瀏覽量

    19884

原文標題:嵌入式文件系統FatFS和LittleFS對比

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    fatFs/LittleFs/RelianceEdge Fs/LwExt4嵌入式文件系統寫入速度對比哪個快?

    fatFs/LittleFs/RelianceEdge Fs/LwExt4嵌入式文件系統寫入速度對比哪個快?
    發表于 12-27 06:37

    FatFs文件系統使用

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

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

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

    SPI FLASH LittleFS文件系統例程資料免費下載

    SPI FLASH LittleFS文件系統例程,基于STM32F103+STM32Cube開發的詳細資料免費下載。
    發表于 02-18 08:00 ?36次下載
    SPI FLASH <b class='flag-5'>LittleFS</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 ?29次下載
    <b class='flag-5'>FATFS</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上的移植

    Esp8266閃存文件系統LIttleFS

    Esp8266閃存文件系統LIttleFS
    發表于 12-06 17:21 ?17次下載
    Esp8266閃存<b class='flag-5'>文件系統</b><b class='flag-5'>LIttleFS</b>

    FATFS文件系統原版文件下載

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

    基于OpenHarmony3.1的LittleFS文件系統hdf驅動實現

    ?? ? LittleFS是一個小型的Flash文件系統,它結合日志結構(log-structured)文件系統和COW(copy-on-write)文件系統的思想,以日志結構存儲元
    的頭像 發表于 09-30 18:32 ?1608次閱讀

    基于OpenHarmony3.1的LittleFS文件系統hdf驅動實現

    一、簡介LittleFS是一個小型的Flash文件系統,它結合日志結構(log-structured)文件系統和COW(copy-on-write)文件系統的思想,以日志結構存儲元數據
    的頭像 發表于 06-22 09:42 ?913次閱讀
    基于OpenHarmony3.1的<b class='flag-5'>LittleFS</b><b class='flag-5'>文件系統</b>hdf驅動實現

    【嵌入式SD NAND】基于FATFS/Littlefs文件系統的日志框架實現

    文章目錄 【嵌入式】基于FATFS/Littlefs文件系統的日志框架實現 1. 概述 2. 設計概要 3. 設計實現 3.1 初始化 `init` 3.2 日志寫入 `write` 3.3 日志
    的頭像 發表于 03-14 18:13 ?1011次閱讀
    【嵌入式SD NAND】基于<b class='flag-5'>FATFS</b>/<b class='flag-5'>Littlefs</b><b class='flag-5'>文件系統</b>的日志框架實現

    【嵌入式SD NAND】基于FATFS/Littlefs文件系統的日志框架實現

    文章目錄【嵌入式】基于FATFS/Littlefs文件系統的日志框架實現1.概述2.設計概要3.設計實現3.1初始化`init`3.2日志寫入`write`3.3日志讀取`read`3.4注銷
    的頭像 發表于 03-14 18:12 ?1128次閱讀
    【嵌入式SD NAND】基于<b class='flag-5'>FATFS</b>/<b class='flag-5'>Littlefs</b><b class='flag-5'>文件系統</b>的日志框架實現

    小型文件系統如何選擇?FatFsLittleFs優缺點比較

    和刪除文件,實現了數據的持久化存儲和分層次的目錄結構。文件系統的存在極大地簡化了數據管理任務,提升了系統整體的穩定性和便利性,對于系統配置、數據記錄、固件升級等多種應用場景來說至關重要
    的頭像 發表于 09-29 16:14 ?1081次閱讀
    小型<b class='flag-5'>文件系統</b>如何選擇?<b class='flag-5'>FatFs</b>和<b class='flag-5'>LittleFs</b>優缺點比較