基於NOR FLASH儲存器的嵌入式檔案系統的設計

2021-04-24 01:19:56 字數 2155 閱讀 2754

引言

在便攜電子裝置中,隨著系統複雜性的增加,儲存容量的擴大,嵌入檔案系統成為一種必然趨勢。而flash儲存器由於具有儲存容量大、掉電資料不丟 失、何種小以及可多次擦寫等許多優點,正逐步取代其他半導體儲存器件而廣泛應用於便攜電子產品中。在flash儲存器中使用檔案系統,可將儲存空間當作直 觀的命名空間,不用在每次應用開發中都從頭使用儲存器,還可方便地利用標準介面同主系統通訊。

本文中,我們將以嵌入式作業系統wince為背景,來討論嵌入式手持移動終端中檔案系統的實現。

wince檔案系統結構

wince檔案系統採用了模組化設計,允許自定義檔案系統、篩選器和多種不同的塊裝置型別。檔案系統和所有與檔案相關的api都是通過filesys.exe程序來管理的。

filesys.exe 由下列幾個元件組成:

·rom檔案系統

·儲存管理器

·物件儲存

rom檔案系統是基於rom的檔案系統。用來固化系統資訊。

儲存管理器 (storage manager),負責管理系統中的儲存裝置,以及用於訪問它們的檔案系統。儲存管理器功能由系統中的fsdmgr.dll模組實現。其主要的組成部分為 塊裝置驅動程式管理器、分割槽管理器、檔案系統驅動程式管理器。儲存管理器元件之間的關係如圖1所示。

圖1  儲存管理器元件之間的關係

物件儲存是乙個記憶體堆,由filesys.exe控制。物件儲存包含ram系統登錄檔、ram檔案系統和屬性資料庫。它們都是filesys.exe模組的可選元件。ram檔案系統和屬性資料庫是完全可選的,並且在某些系統中可以根本不存在。

filesys.exe各元件之間的關係如圖2所示。

圖2  filesys.exe各元件之間的關係圖

作業系統啟動時,nk.exe將直接從rom檔案系統載入filesys.exe。然後,filesys.exe對rom檔案系統內的預設登錄檔進行初始化。接著,filesys.exe將讀取登錄檔項,以便啟動各種應用程式。

我們在wince檔案結構的基礎上構建自檔案系統。

構建基於pxa272儲存器的嵌入式檔案系統

嵌入式手持裝置硬體結構如圖3所示。其主要由嵌入式微控制器pxa272,採集單元,顯示單元,儲存單元,通訊模組和電源單元構成。

圖3  手持裝置終端硬體結構框圖

intel pxa272處理器是intel公司推出的32位,基於xscale架構的高效能的嵌入式晶元。其工作頻率為512mhz,內部整合64mb nor flash。我們在nor flash上基於wince的檔案結構來構建我們自己的檔案系統。

先將flash劃分位三部分,第一部分存放eboot和512k配置檔案,第二部分存放32m的nk.bin,最後一部分劃為32m的檔案系統,其具體劃分如圖4所示。

圖4  flash的劃分

psm(peristent storage manage)是inter公司獨有技術,是專門為weince系統定製的,它為各種flash儲存裝置提供了統一的裝置介面,支援inter的cpu架 構。我們利用psm作為儲存管理器,用微軟提供的flash驅動構建檔案系統,支援fat格式的檔案。其系統結構圖如圖5所示。

圖5  系統檔案結構圖

最後,檔案系統的配置檔案是一組登錄檔值,用於定義有關塊裝置和應當如何在系統中使用它的資訊。配置檔案位於登錄檔 hkey_local_machine /system/storagemanager/profiles下,每個配置檔案都是位於基本配置檔案項的下面,以此配置檔案名稱標識的項。例如,我們 利用了inter的psm檔案系統,其配置檔案位於登錄檔hkey_local _machine/system/storagemanager /profiles/psmfsd下。flash驅動的配置檔案位於登錄檔hkey_local_ machine/drivers/builtin/stratafmd下,在此檔案系統中,我們使用了微軟自帶的flash驅動。

結語

此檔案系統已經在手持移動終端上得到應用,和上層的資料庫系統實現對接。經過多次測試,此檔案系統穩定可靠,效果良好。可以用來儲存大量資料而且又 能滿足不同需求。相對於trueffs檔案系統,在可靠性、系統資源開銷等方面的效能提高是可觀的,特別是和inter的flash相結合時。

儲存器層次結構 基於儲存器的程式優化

乙個編寫良好的電腦程式常常具有良好的區域性性,它們傾向於引用鄰近於其他最近引用過的資料項的資料項,或者最近引用過的資料項本身。區域性性通常有兩種不同的形式 下面來看個區域性性的 示例 變數sum在每此迴圈中被引用一次,因此具有良好的時間區域性性。變數v的元素被順序讀取,具有良好的空間區域性性。像這種...

基於PSRAM技術的IoT ram儲存器解決方案

迅速發展的iot繼續為消費者和行業帶來革命性的變化,並增強了他們的日常使用體驗,尤其是在邊緣增加處理能力的需求下。健身追蹤器和智慧型揚聲器,農業及工廠機器都是這樣的例子。特定的應用程式都規定了記憶體要求。豐富的嵌入式物聯網體驗推動了對更多外部板載記憶體的需求。在這些應用程式中新增ai ml進一步改變...

基於VUEX的公共儲存器store的快速上手流程

vuex 使用單一狀態樹 是的,用乙個物件就包含了全部的應用層級狀態。至此它便作為乙個 唯一資料來源 ssot 而存在。這也意味著,每個應用將僅僅包含乙個 store 例項。單一狀態樹讓我們能夠直接地定位任一特定的狀態片段,在除錯的過程中也能輕易地取得整個當前應用狀態的快照。export defau...