引言
在便攜電子設備中,隨著系統復雜性的增加,存儲容量的擴大,嵌入文件系統成為一種必然趨勢。而Flash存儲器由于具有存儲容量大、掉電數據不丟失、何種小以及可多次擦寫等許多優點,正逐步取代其他半導體存儲器件而廣泛應用于便攜電子產品中。在Flash存儲器中使用文件系統,可將存儲空間當作直觀的名稱空間,不用在每次應用開發中都從頭使用存儲器,還可方便地利用標準接口同主系統通信。
本文中,我們將以嵌入式操作系統WINCE為背景,來討論嵌入式手持移動終端中文件系統的實現。
WINCE文件系統結構
WINCE文件系統采用了模塊化設計,允許自定義文件系統、篩選器和多種不同的塊設備類型。文件系統和所有與文件相關的API都是通過FileSys.exe進程來管理的。
FileSys.exe 由下列幾個組件組成:
ROM文件系統
存儲管理器
對象存儲
ROM文件系統是基于ROM的文件系統。用來固化系統信息。
存儲管理器 (Storage Manager),負責管理系統中的存儲設備,以及用于訪問它們的文件系統。存儲管理器功能由系統中的fsdmgr.dll模塊實現。其主要的組成部分為塊設備驅動程序管理器、分區管理器、文件系統驅動程序管理器。存儲管理器組件之間的關系如圖1所示。
對象存儲是一個內存堆,由FileSys.exe控制。對象存儲包含RAM系統注冊表、RAM文件系統和屬性數據庫。它們都是FileSys.exe模塊的可選組件。RAM文件系統和屬性數據庫是完全可選的,并且在某些系統中可以根本不存在。
FileSys.exe各組件之間的關系如圖2所示。
操作系統啟動時,NK.exe將直接從ROM文件系統加載FileSys.exe。然后,FileSys.exe對ROM文件系統內的默認注冊表進行初始化。接著,FileSys.exe將讀取注冊表項,以便啟動各種應用程序。
我們在WINCE文件結構的基礎上構建自文件系統。
構建基于PXA272存儲器的嵌入式文件系統
嵌入式手持設備硬件結構如圖3所示。其主要由嵌入式微控制器PXA272,采集單元,顯示單元,存儲單元,通信模塊和電源單元構成。
Intel PXA272處理器是Intel公司推出的32位,基于Xscale架構的高性能的嵌入式芯片。其工作頻率為512MHZ,內部集成64Mb NOR Flash。我們在NOR Flash上基于WINCE的文件結構來構建我們自己的文件系統。
先將Flash劃分位三部分,第一部分存放EBOOT和512K配置文件,第二部分存放32M的NK.BIN,最后一部分劃為32M的文件系統,其具體劃分如圖4所示。
PSM(Peristent Storage Manage)是Inter公司獨有技術,是專門為WEINCE系統定制的,它為各種Flash存儲設備提供了統一的設備接口,支持Inter的CPU架構。我們利用PSM作為存儲管理器,用微軟提供的Flash驅動構建文件系統,支持FAT格式的文件。其系統結構圖如圖5所示。
最后,文件系統的配置文件是一組注冊表值,用于定義有關塊設備和應當如何在系統中使用它的信息。配置文件位于注冊表HKEY_LOCAL_MACHINE SystemStorageManagerProfiles下,每個配置文件都是位于基本配置文件項的下面,以此配置文件名稱標識的項。例如,我們利用了Inter的PSM文件系統,其配置文件位于注冊表HKEY_LOCAL _MACHINESystemStorageManager ProfilesPSMFSD下。Flash驅動的配置文件位于注冊表HKEY_LOCAL_ MACHINEDriversBuiltInStrataFMD下,在此文件系統中,我們使用了微軟自帶的Flash驅動。
結語
此文件系統已經在手持移動終端上得到應用,和上層的數據庫系統實現對接。經過多次測試,此文件系統穩定可靠,效果良好。可以用來存儲大量數據而且又能滿足不同需求。相對于TrueFFS文件系統,在可靠性、系統資源開銷等方面的性能提高是可觀的,特別是和Inter的Flash相結合時。
責任編輯:gt
-
微控制器
+關注
關注
48文章
7665瀏覽量
152203 -
半導體
+關注
關注
335文章
27811瀏覽量
223421 -
存儲器
+關注
關注
38文章
7531瀏覽量
164432
發布評論請先 登錄
相關推薦
可重構天線在手持移動終端應用中有什么用?
嵌入式手持移動終端中文件系統的實現
怎么實現Windows CE下基于TSC2101的音頻系統的設計?
PXA272啟動引導程序的實現和功能擴展
數字水印技術及其在手機終端上的設計與應用
采用FAT16文件系統的嵌入式溫度記錄器
![采用FAT16<b class='flag-5'>文件系統</b>的嵌入式溫度記錄<b class='flag-5'>器</b>](https://file1.elecfans.com//web2/M00/A4/AC/wKgZomUMNTiAZH5VAAAaFaKdWMc552.gif)
什么是微控制器?如何編程微控制器?
Fatfs(文件系統的移植)
![Fatfs(<b class='flag-5'>文件系統</b>的移植)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論