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