日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]嵌入式Linux文件系統(tǒng)及其存儲(chǔ)機(jī)制分析

嵌入式系統(tǒng)與通用PC機(jī)不同,一般沒有硬盤這樣的存儲(chǔ)設(shè)備而是使用Flash閃存芯片、小型閃存卡等專為嵌入式系統(tǒng)設(shè)計(jì)的存儲(chǔ)裝置,本文分析了嵌入式系統(tǒng)中常用的存儲(chǔ)設(shè)備及其管理機(jī)制,介紹了常用的基于FLASH的文件系統(tǒng)類型。

1.嵌入式系統(tǒng)存儲(chǔ)設(shè)備及其管理機(jī)制分析

構(gòu)建適用于嵌入式系統(tǒng)的Linux文件系統(tǒng),必然會(huì)涉及到兩個(gè)關(guān)鍵點(diǎn),一是文件系統(tǒng)類型的選擇,它關(guān)系到文件系統(tǒng)的讀寫性能、尺寸大小;另一個(gè)就是根文件系統(tǒng)內(nèi)容的選擇,它關(guān)系到根文件系統(tǒng)所能提供的功能及尺寸大小。

嵌入式設(shè)備中使用的存儲(chǔ)器是像Flash閃存芯片、小型閃存卡等專為嵌入式系統(tǒng)設(shè)計(jì)的存儲(chǔ)裝置。Flash是目前嵌入式系統(tǒng)中廣泛采用的主流存儲(chǔ)器,它的主要特點(diǎn)是按整體/扇區(qū)擦除和按字節(jié)編程,具有低功耗、高密度、小體積等優(yōu)點(diǎn)。目前,F(xiàn)lash分為NOR,NAND兩種類型。

NOR型閃存可以直接讀取芯片內(nèi)儲(chǔ)存的數(shù)據(jù),因而速度比較快,但是價(jià)格較高。NOR型芯片,地址線與數(shù)據(jù)線分開,所以NOR型芯片可以像SR

AM一樣連在數(shù)據(jù)線上,對(duì)NOR芯片可以“字”為基本單位操作,因此傳輸效率很高,應(yīng)用程序可以直接在Flash內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中運(yùn)行。它與SRAM的最大不同在于寫操作需要經(jīng)過擦除和寫入兩個(gè)過程。

NAND型閃存芯片共用地址線與數(shù)據(jù)線,內(nèi)部數(shù)據(jù)以塊為單位進(jìn)行存儲(chǔ),直接將NAND芯片做啟動(dòng)芯片比較難。NAND閃存是連續(xù)存儲(chǔ)介質(zhì),適合放大文件。擦除NOR器件時(shí)是以64-128KB的塊進(jìn)行的,執(zhí)行一個(gè)寫入/擦除操作的時(shí)間為5s;擦除NAND器件是以8-32KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。

NANDRash的單元尺寸幾乎是NOR器件的一半,由于生產(chǎn)過程更為簡(jiǎn)單,NAND結(jié)構(gòu)可以在給定的模具尺寸內(nèi)提供更高的容量,也就相應(yīng)地降低了價(jià)格。NORflash占據(jù)了容量為1―16MB閃存市場(chǎng)的大部分,而NANDflash只是用在8―128MB的產(chǎn)品當(dāng)中,這也說明NOR主要應(yīng)用在代碼存儲(chǔ)介質(zhì)中,NAND適合于數(shù)據(jù)存儲(chǔ)。

壽命(耐用性),在NAND閃存中每個(gè)塊的最大擦寫次數(shù)是一百萬次,而NOR的擦寫次數(shù)是十萬次。NAND存儲(chǔ)器除了具有10比1的塊擦除周期優(yōu)勢(shì),典型的NAND塊尺寸要比NOR器件小8倍,每個(gè)NAND存儲(chǔ)器塊在給定的時(shí)間內(nèi)的刪除次數(shù)要少一些。

所有嵌入式系統(tǒng)的啟動(dòng)都至少需要使用某種形式的永久性存儲(chǔ)設(shè)備,它們需要合適的驅(qū)動(dòng)程序,當(dāng)前在嵌入式Linux中有三種常用的塊驅(qū)動(dòng)程序可以選擇。

●Blkmem驅(qū)動(dòng)層

Blkmem驅(qū)動(dòng)是為uclinux專門設(shè)計(jì)的,也是最早的一種塊驅(qū)動(dòng)程序之一,現(xiàn)在仍然有很多嵌入式Linux操作系統(tǒng)選用它作為塊驅(qū)動(dòng)程,尤其是在uClinux中。它相對(duì)來說是最簡(jiǎn)單的,而且只支持建立在NOR型Flash和RAM中的根文件系統(tǒng)。使用Blkmem驅(qū)動(dòng),建立Flash分區(qū)配置比較困難,這種驅(qū)動(dòng)程序?yàn)镕lash提供了一些基本擦除/寫操作。

●RAMdisk驅(qū)動(dòng)層

RAMdisk驅(qū)動(dòng)層通常應(yīng)用在標(biāo)準(zhǔn)Linux中無盤工作站的啟動(dòng),對(duì)Flash存儲(chǔ)器并不提供任何的直接支持,RAMdisk就是在開機(jī)時(shí),把一部分的內(nèi)存虛擬成塊設(shè)備,并且把之前所準(zhǔn)備好的檔案系統(tǒng)映像解壓縮到該RAMdisk環(huán)境中。當(dāng)在Flash中放置一個(gè)壓縮的文件系統(tǒng),可以將文件系統(tǒng)解壓到RAM,使用RAMdisk驅(qū)動(dòng)層支持一個(gè)保持在RAM中的文件系統(tǒng)。

MTD驅(qū)動(dòng)層

為了盡可能避免針對(duì)不同的技術(shù)使用不同的工具,以及為不同的的技術(shù)提供共同的能力,Linux內(nèi)核納入了MTD子系統(tǒng)(memoryTechnologyDevice)。它提供了一致且統(tǒng)一的接口,讓底層的MTD芯片驅(qū)動(dòng)程序無縫地與較高層接口組合在一起。

JFFS2,Cramfs,YAFFS等文件系統(tǒng)都可以被安裝成MTD塊設(shè)備。MTD驅(qū)動(dòng)也可以為那些支持CFI接口的NOR型Flash提供支持。雖然MTD可以建立在RAM上,但它是專為基于Flash的設(shè)備而設(shè)計(jì)的。MTD包含特定Flash芯片的驅(qū)動(dòng)程序,開發(fā)者要選擇適合自己系統(tǒng)的Flash芯片驅(qū)動(dòng)。Flash芯片驅(qū)動(dòng)向上層提供讀、寫、擦除等基本的操作,MTD對(duì)這些操作進(jìn)行封裝后向用戶層提供MTDchar和MTDblock類型的設(shè)備。

MTDchar類型的設(shè)備包括/dev/mtd0,/dev/mtdl等,它們提供對(duì)Flash原始字符的訪問。MTDblock類型的設(shè)備包括/dev/mtdblock0,/dev/mtdblock1等,MTDblock設(shè)備是將Flash模擬成塊設(shè)備,這樣可以在這些模擬的塊設(shè)備上創(chuàng)建像Cramfs,JFFS2等格式的文件系統(tǒng)。

MTD驅(qū)動(dòng)層也支持在一塊Flash上建立多個(gè)Flash分區(qū),每一個(gè)分區(qū)作為了一個(gè)MTDblock設(shè)備,可以把系統(tǒng)軟件和數(shù)據(jù)等分配到不同的分區(qū)上,同時(shí)可以在不同的分區(qū)采用不用的文件系統(tǒng)格式。這一點(diǎn)非常重要,正是由于這一點(diǎn)才為嵌入式系統(tǒng)多文件系統(tǒng)的建立提供了靈活性。

2.基于Flash的文件系統(tǒng)

鑒于Flash存儲(chǔ)介質(zhì)的讀寫特點(diǎn),傳統(tǒng)的Linux文件系統(tǒng)己經(jīng)不適合應(yīng)用在嵌入式系統(tǒng)中,像Ext2fs文件系統(tǒng)是為像IDE那樣的塊設(shè)備設(shè)計(jì)的,這些設(shè)備的邏輯塊是512字節(jié)、1024字節(jié)等大小,沒有提供很好的扇區(qū)

擦寫支持,不支持損耗平衡,沒有掉電保護(hù),也沒有特別完美的扇區(qū)管理,這不太適合于扇區(qū)大小因設(shè)備類型而劃分的閃存設(shè)備?;谶@樣的原因,產(chǎn)生了很多專為Flash設(shè)備而設(shè)計(jì)的文件系統(tǒng),常見的專用于閃存設(shè)備的文件系統(tǒng)如下:

●Romfs

傳統(tǒng)型的Romfs文件系統(tǒng)是最常使用的一種文件系統(tǒng),它是一種簡(jiǎn)單的、緊湊的、只讀的文件系統(tǒng),不支持動(dòng)態(tài)擦寫保存;它按順序存放所有的文件數(shù)據(jù),所以這種文件系統(tǒng)格式支持應(yīng)用程序以XIP方式運(yùn)行,在系統(tǒng)運(yùn)行時(shí),可以獲得可觀的RAM節(jié)省空間。uClinux系統(tǒng)通常采用Romfs文件系統(tǒng)。

●Cramfs

Cramfs是Linux的創(chuàng)始人LinusTorvalds開發(fā)的一種可壓縮只讀文件系統(tǒng)在Cramfs文件系統(tǒng)中,每一頁(yè)被單獨(dú)壓縮,可以隨機(jī)頁(yè)訪問,其壓縮比高達(dá)2:1,為嵌入式系統(tǒng)節(jié)省大量的Flash存儲(chǔ)空間。Cramfs文件系統(tǒng)以壓縮方式存儲(chǔ),在運(yùn)行時(shí)解壓縮,所以不支持應(yīng)用程序以XIP方式運(yùn)行,所有的應(yīng)用程序要求被拷到RAM里去運(yùn)行,但這并不代表比Ramfs需求的RAM空間要大一點(diǎn),因?yàn)镃ramfs是采用分頁(yè)壓縮的方式存放檔案,在讀取檔案時(shí),不會(huì)一下子就耗用過多的內(nèi)存空間,只針對(duì)目前實(shí)際讀取的部分分配內(nèi)存,尚沒有讀取的部分不分配內(nèi)存空間,當(dāng)我們讀取的檔案不在內(nèi)存時(shí),Cramfs文件系統(tǒng)自動(dòng)計(jì)算壓縮后的資料所存的位置,再即時(shí)解壓縮到RAM中。[!--empirenews.page--]

另外,它的速度快,效率高,其只讀的特點(diǎn)有利于保護(hù)文件系統(tǒng)免受破壞,提高了系統(tǒng)的可靠性;但是它的只讀屬性同時(shí)又是它的一大缺陷,使得用戶無法對(duì)其內(nèi)容對(duì)進(jìn)擴(kuò)充。Cramfs映像通常是放在Flash中,但是也能放在別的文件系統(tǒng)里,使用loopback設(shè)備可以把它安裝別的文件系統(tǒng)里。使用mkcramfs工具可以創(chuàng)建Cramfs映像。

●Ramfs/Tmpfs

Ramfs也是LinusTorvalds開發(fā)的,Ramfs文件系統(tǒng)把所有的文件都放在RAM里運(yùn)行,通常是Flash系統(tǒng)用來存儲(chǔ)一些臨時(shí)性或經(jīng)常要修改的數(shù)據(jù),相對(duì)于ramdisk來說,Ramfs的大小可以隨著所含文件內(nèi)容大小變化,不像ramdisk的大小是固定的。Tmpfs是基于內(nèi)存的文件系統(tǒng),因?yàn)閠mpfs駐留在RAM中,所以寫/讀操作發(fā)生在RAM中。tmpfs文件系統(tǒng)大小可隨所含文件內(nèi)容大小變化,使得能夠最理想地使用內(nèi)存;tmpfs駐留在RAM,所以讀和寫幾乎都是瞬時(shí)的。tmpfs的一個(gè)缺點(diǎn)是當(dāng)系統(tǒng)重新引導(dǎo)時(shí)會(huì)丟失所有數(shù)據(jù)。

●JFFS2

JFFS2是RedHat公司基于JFFS開發(fā)的閃存文件系統(tǒng),最初是針對(duì)RedHat公司的嵌入式產(chǎn)品eCos開發(fā)的嵌入式文件系統(tǒng),所以JFFS2也可以用在Linux,uCLinux中。JFFS文件系統(tǒng)最早是由瑞典AxisCommunications公司基于Linux2.0的內(nèi)核為嵌入式系統(tǒng)開發(fā)的文件系統(tǒng)。JFFS2是一個(gè)可讀寫的、壓縮的、日志型文件系統(tǒng),并提供了崩潰/掉電安全保護(hù),克服了JFFS的一些缺點(diǎn):使用了基于哈希表的日志節(jié)點(diǎn)結(jié)構(gòu),大大加快了對(duì)節(jié)點(diǎn)的操作速度;支持?jǐn)?shù)據(jù)壓縮;提供了“寫平衡”支持;支持多種節(jié)點(diǎn)類型;提高了對(duì)閃存的利用率,降低了內(nèi)存的消耗。這些特點(diǎn)使JFFS2文件系統(tǒng)成為目前Flash設(shè)備上最流行的文件系統(tǒng)格式,它的缺點(diǎn)就是當(dāng)文件系統(tǒng)已滿或接近滿時(shí),JFFS2運(yùn)行會(huì)變慢,這主要是因?yàn)樗槠占膯栴}。

●YAFFS

YAFFS/YAFFS2是一種和JFFSx類似的閃存文件系統(tǒng),它是專為嵌入式系統(tǒng)使用NAND型閃存而設(shè)計(jì)的一種日志型文件系統(tǒng)。和JFFS2相比它減少了一些功能,所以速度更快,而且對(duì)內(nèi)存的占用比較小。此外,YAFFS自帶NAND芯片的驅(qū)動(dòng),并且為嵌入式系統(tǒng)提供了直接訪問文件系統(tǒng)的API,用戶可以不使用Linux中的MTD與VFS,直接對(duì)文件系統(tǒng)操作。YAFFS2支持大頁(yè)面的NAND設(shè)備,并且對(duì)大頁(yè)面的NAND設(shè)備做了優(yōu)化。JFFS2在NAND閃存上表現(xiàn)并不穩(wěn)定,更適合于NOR閃存,所以相對(duì)大容量的NAND閃存,YAFFS是更好的選擇。

在具體的嵌入式系統(tǒng)設(shè)計(jì)中可根據(jù)不同目錄存放的內(nèi)容不同以及存放的文件屬性,確定使用何種文件系統(tǒng)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

新竹2025年9月9日 /美通社/ -- 全球客制化存儲(chǔ)芯片解決方案設(shè)計(jì)公司愛普科技今日宣布,其新一代PSRAM—ApSRAMTM (Attached-pSRAM)已通過客戶平臺(tái)驗(yàn)證,預(yù)計(jì)將于年底開始量產(chǎn)。ApSRAMT...

關(guān)鍵字: PSRAM 低功耗 存儲(chǔ)芯片 MT

為高效精準(zhǔn)的分析提供一站式解決方案 上海2025年9月9日 /美通社/ -- 科學(xué)探索與產(chǎn)業(yè)升級(jí)浪潮下,AI賦能的精準(zhǔn)分析技術(shù)正加速重構(gòu)未來實(shí)驗(yàn)室。自動(dòng)化技術(shù)和技術(shù)培訓(xùn)領(lǐng)域的世界領(lǐng)導(dǎo)者,F(xiàn)esto(展位:E2333)首...

關(guān)鍵字: FESTO 測(cè)試 MT 運(yùn)動(dòng)控制

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關(guān)鍵字: 泰科 AI MT BSP

-Vehere宣布推出v1.8.1,為安全分析師提供更精準(zhǔn)的檢測(cè)、更快的響應(yīng)和更智能的工作流程 舊金山2025年7月18日 /美通社/ -- 領(lǐng)先的人工智能驅(qū)動(dòng)型網(wǎng)絡(luò)情報(bào)提...

關(guān)鍵字: 網(wǎng)絡(luò) UI MT BSP

上海 2025年6月9日 /美通社/ -- 自2004年首屆AMTS啟動(dòng)以來,中國(guó)汽車產(chǎn)業(yè)完成了從汽車大國(guó)邁向汽車強(qiáng)國(guó)的飛躍。市場(chǎng)規(guī)模爆炸式增長(zhǎng)的背后,是中國(guó)汽車產(chǎn)業(yè)鏈的不斷完善和升級(jí)——技術(shù)研發(fā)與創(chuàng)新、電動(dòng)化智能化轉(zhuǎn)...

關(guān)鍵字: 中國(guó)汽車 MT BSP 汽車技術(shù)

創(chuàng)新結(jié)構(gòu)融合多元材質(zhì) 東京 2025年5月27日 /美通社/ -- 卡西歐計(jì)算機(jī)株式會(huì)社今日宣布推出最新款G-SHOCK品牌抗震腕表MTG-B4000。這款全新腕表搭載由人類設(shè)計(jì)師與AI技術(shù)協(xié)同開發(fā)的獨(dú)特表框。MTG...

關(guān)鍵字: MT AI SHOCK BLUETOOTH

第二子代MRCD和MDB最高支持12800MT/s速率,較第一子代產(chǎn)品提升45% 上海2025年1月24日 /美通社/ -- 瀾起科技今日宣布,其最新研發(fā)的第二子代多路復(fù)用寄存時(shí)鐘驅(qū)動(dòng)器(MRCD)和第二子代多路復(fù)用數(shù)...

關(guān)鍵字: DDR RC CD MT

深圳2024年10月28日 /美通社/ -- 近日,TCL智能終端安全實(shí)驗(yàn)室(以下簡(jiǎn)稱"TCL")獲得國(guó)際權(quán)威第三方檢測(cè)認(rèn)證機(jī)構(gòu)TÜV南德意志集...

關(guān)鍵字: TCL 網(wǎng)絡(luò)安全 MT SI

前瞻布局下一代存儲(chǔ)市場(chǎng) 臺(tái)北2024年10月28日 /美通社/ -- 神盾集團(tuán)旗下IP公司—乾瞻科技,宣布其基于JESD 230G規(guī)范設(shè)計(jì)的ONFI 5500 MT/s IP,已成功通過N6/N7矽驗(yàn)證。該ONFI I...

關(guān)鍵字: MT IP ARM Flash

香港2024年8月19日 /美通社/ -- 近期,全球領(lǐng)先的差價(jià)合約經(jīng)紀(jì)商ATFX宣布,上線市場(chǎng)熱門的MetaTrader 5(MT5)。這一里程碑式的舉措,不僅彰顯了ATFX在持續(xù)升級(jí)客戶服務(wù)質(zhì)量方面的堅(jiān)定承諾,更標(biāo)志...

關(guān)鍵字: AD MT 保護(hù)功能 智能科技
關(guān)閉