基于TFFS的成像聲吶文件系統設計
1 VxWorks系統的啟動流程
本文引用地址:http://www.j9360.com/article/273339.htm 嵌入式VxWorks操作系統的啟動包括兩個階段,一是BootRom引導,二是VxWorks操作系統映像的啟動。BootRom映像也叫做啟動映像,它主要是初始化串口、網口等很少的硬件系統來下載VxWorks映像。VxWorks映像包含完整的VxWorks OS,是真正在目標板上運行的操作系統。它啟動后會重新初始化幾乎所有的硬件系統,這樣操作系統才可以在目標板上正常運行。兩種映像的區別如表 1所示。
VxWorks內核有多種啟動流程。本文基于的聲吶原型機采用了最常見的一種啟動方法,將BootRom映像存放在Flash中,負責初始化一些簡單的硬件如網口、串口等,然后下載VxWorks映像到RAM中并將控制權交由操作系統開始執行。VxWorks映像存放在干端主機上,通過網絡加載到目標機中,啟動時還需要打開FTP進行配置。圖 1所示為基于網絡加載的VxWorks啟動方式。此種啟動方法比較繁瑣,而且需要網絡的支持,啟動速度也比較慢。
產品定型之后,BootRom映像和VxWorks映像不再需要進行修改,本文建立基于Flash的文件系統,將VxWorks映像拷貝到文件系統中,通過Flash文件系統加載VxWorks映像,不需要網絡和FTP軟件的支持,提高了啟動速度。基于Flash文件系統的加載的VxWorks啟動方式如圖 2所示。
2 Flash文件系統
2.1 文件系統比較與選擇
文件系統的選擇與存儲設備的物理特性和系統的要求密切相關。I/O系統、文件系統和塊設備之間的聯系如圖 3所示。
dosFs文件系統是一種與MS_DOS文件系統相兼容的文件系統,具有能夠滿足實時應用的多種要求;支持可擴展的目錄結構;支持使用連續文件;支持存儲盤緩存,提高數據讀寫效率的特點。
TrueFFS(簡稱TFFS)旨在提高閃存的使用效率。它具有線程安全、可重入的特點,忽略了底層存儲介質的不同,使得用戶可以像操作磁質設備一樣操作存儲介質。通過wear-leveling技術、磨損均衡及碎片回收等機制平衡所有存儲單元的使用頻率,以此來達到延長存儲介質使用壽命的目的。但是TrueFFS不能單獨使用,需要DOS文件系統的支持。
因此本文選擇在嵌入式VxWorks操作系統下基于Flash建立TFFS系統,在TFFS上掛載dosFs文件系統來進行I/O操作。如此一來,對Flash設備中文件和數據的讀取就像對磁盤操作一樣,方便快捷。
2.2 TrueFFS系統分析
VxWorks下的TFFS位于dosFs文件系統和底層硬件之間,由一個核心層和翻譯層、MTD層、Socket層三個功能層組成。要在VxWorks下包含TFFS系統,每一層至少有一個軟件模塊與之對應。圖4為TFFS結構圖。
核心層(Core Layer)的主要作用是將其它三層有機結合起來,同時還控制著碎片回收、定時器和其他一些系統資源。翻譯層(Translation Layer)是TrueFFS系統的核心,主要實現TrueFFS和DOS文件系統(dosFs)之間的高級交互功能。MTD(Memory Technology Drivers)層針對具體Flash存儲器件,提供讀、寫、擦除、ID識別、映射等基本操作。Socket層(Socket Layer),又稱套接層,提供TrueFFS和硬件系統之間的接口,用來向系統注冊socket設備、檢測設備插拔、硬件寫保護等。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)linux相關文章:linux教程
熱成像儀相關文章:熱成像儀原理
評論