亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu)及存儲(chǔ)方法

文檔序號(hào):6443581閱讀:631來(lái)源:國(guó)知局
專利名稱:基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu)及存儲(chǔ)方法
技術(shù)領(lǐng)域
本發(fā)明涉及電氣化鐵路的技術(shù)領(lǐng)域,具體說(shuō)是一種可以實(shí)現(xiàn)突發(fā)大量數(shù)據(jù)的快速存儲(chǔ),并將由于文件系統(tǒng)異常所帶來(lái)的不良影響降低到最低的基于VxWorkS操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu)及存儲(chǔ)方法。
背景技術(shù)
Vxfforks操作系統(tǒng)是美國(guó)WindRiver公司設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng),適用于航空、航天、通信、工業(yè)控制等實(shí)時(shí)控制系統(tǒng)的產(chǎn)品開發(fā)應(yīng)用。在電氣化鐵路牽引自動(dòng)化系統(tǒng)、電力系統(tǒng)變電站自動(dòng)化系統(tǒng)中,為實(shí)現(xiàn)復(fù)雜的監(jiān)視、控制功能,需要文件系統(tǒng)的支持,以完成在NORFLASH、NANDFLASH、DOM盤等存儲(chǔ)介質(zhì)上的快速文件存取操作。 VxWorks操作系統(tǒng)可以實(shí)現(xiàn)上述存儲(chǔ)介質(zhì)上的標(biāo)準(zhǔn)文件系統(tǒng)。NORFLASH和NANDFLASH是現(xiàn)在市場(chǎng)上兩種主要的非易失閃存技術(shù),NORFLASH存儲(chǔ)器的特點(diǎn)是在芯片內(nèi)執(zhí)行(XIP,execute In Place),這樣應(yīng)用程序可以直接在flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。NORFLASH的傳輸效率很高,在1 4MB的小容量時(shí)具有很高的成本效益,但是較低的寫入和擦除速度大大影響了它的性能。在電氣化鐵路牽引自動(dòng)化系統(tǒng)、電力系統(tǒng)變電站自動(dòng)化產(chǎn)品中,需要用到各種配置參數(shù)及數(shù)據(jù),如保護(hù)定值、通信參數(shù)、報(bào)告記錄、故障錄波、操作記錄、字庫(kù)等,且上述數(shù)據(jù)需要以文件方式存在,以便于系統(tǒng)的運(yùn)行和維護(hù)。一旦系統(tǒng)出現(xiàn)異常情況后,需要實(shí)現(xiàn)對(duì)大量異常數(shù)據(jù)的快速記錄和保存,并以此為基礎(chǔ)進(jìn)行故障分析、定位和處理。文件存取的可靠程度直接決定了整個(gè)系統(tǒng)的可靠性和穩(wěn)定性,文件系統(tǒng)的異常破壞會(huì)給整個(gè)系統(tǒng)帶來(lái)災(zāi)難性后果。如果在進(jìn)行大量突發(fā)數(shù)據(jù)存儲(chǔ)或文件操作的過(guò)程中突然掉電或發(fā)生復(fù)位則會(huì)使整個(gè)系統(tǒng)發(fā)生癱瘓。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種可以實(shí)現(xiàn)突發(fā)大量數(shù)據(jù)的快速存儲(chǔ),并將由于文件系統(tǒng)異常所帶來(lái)的不良影響降低到最低的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu)及存儲(chǔ)方法。本發(fā)明為解決公知技術(shù)中存在的技術(shù)問(wèn)題所采取的技術(shù)方案是
本發(fā)明的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu),包括兩片NORFLASH存儲(chǔ)器和一片 SDRAM存儲(chǔ)器;上述兩片NORFLASH存儲(chǔ)器分別為N0RFLASH1和N0RFLASH2,N0RFLASH1的物理起始位置保存bootrom的啟動(dòng)代碼程序,而后續(xù)位置創(chuàng)建為TFFSl文件分區(qū),保存非經(jīng)常變化的系統(tǒng)文件,N0RFLASH2創(chuàng)建為TFFS2文件分區(qū),保存頻繁讀寫操作的數(shù)據(jù)記錄文件;SDRAM存儲(chǔ)器保存突發(fā)數(shù)據(jù),作為突發(fā)數(shù)據(jù)的臨時(shí)緩存;N0RFLASH1、N0RFLASH2分別與 SDRAM存儲(chǔ)器連接,SDRAM存儲(chǔ)器中的緩存數(shù)據(jù)傳輸并保存到N0RFLASH2上的TFFS2文件分區(qū)中。基于VxWorks操作系統(tǒng)的文件存儲(chǔ)方法,使用兩片NORFLASH存儲(chǔ)器和一片SDRAM存儲(chǔ)器作為存儲(chǔ)介質(zhì),兩片N0RFLASH存儲(chǔ)器分別為N0RFLASH1和N0RFLASH2,包括以下步驟
::£;在N0RFLASH1的物理起始位置保存bootrom的啟動(dòng)代碼程序,啟動(dòng)基于VxWorks的
bootrom,對(duì)N0RFLASH1和N0RFLASH2分別進(jìn)行初始化,分別創(chuàng)建基于iTrueFFS的文件系統(tǒng), 每片N0RFLASH存儲(chǔ)器各自對(duì)應(yīng)創(chuàng)建一個(gè)文件分區(qū),N0RFLASH1中除物理起始位置之外的后續(xù)位置對(duì)應(yīng)于TFFSl文件分區(qū),N0RFLASH2對(duì)應(yīng)于TFFS2文件分區(qū),TFFSl文件分區(qū)保存包括應(yīng)用程序文件的非經(jīng)常變化的參數(shù)與系統(tǒng)文件,TFFS2文件分區(qū)保存經(jīng)常變化的一般數(shù)據(jù)記錄文件,每個(gè)分區(qū)上根據(jù)要求創(chuàng)建不同的文件目錄;
②在bootrom中啟動(dòng)FTP,將應(yīng)用程序文件保存到N0RFLASH1的文件分區(qū)TFFSl中,并啟動(dòng)應(yīng)用程序;
應(yīng)用程序啟動(dòng)后,創(chuàng)建并啟動(dòng)兩個(gè)不同優(yōu)先級(jí)的任務(wù)T1、T2,其中Tl的優(yōu)先級(jí)較高,
完成大量數(shù)據(jù)的快速緩存工作,Τ2的優(yōu)先級(jí)較低,完成緩存數(shù)據(jù)到TFFS2文件分區(qū)上的文件保存工作;
S Tl任務(wù)運(yùn)行后,根據(jù)突發(fā)數(shù)據(jù)需要緩沖的數(shù)據(jù)文件的容量,在SDRAM存儲(chǔ)器中創(chuàng)建
環(huán)形緩存,環(huán)形緩存的大小不小于TFFS2文件分區(qū),初始化讀、寫指針為緩存區(qū)起始位置;
S Tl任務(wù)在外部故障情況下,將突發(fā)數(shù)據(jù)緩沖到SDRAM的環(huán)形緩存中,移動(dòng)寫指針到
下一個(gè)空閑節(jié)點(diǎn),并以消息方式通知Τ2任務(wù);
.1 Τ2任務(wù)收到Tl任務(wù)發(fā)送的消息后,從SDRAM的環(huán)形緩存中讀出指針?biāo)鶎?duì)應(yīng)的位置, 并將環(huán)形緩存中讀指針?biāo)傅腟DRAM空間中的數(shù)據(jù)以文件方式順序保存到TFFS2文件分區(qū)中,在文件向TFFS2文件分區(qū)進(jìn)行保存的同時(shí)改變讀指針的位置,直到讀寫指針位置一致。本發(fā)明還可以采用以下技術(shù)方案
Τ2任務(wù)收到Tl任務(wù)的消息后,首先檢查TFFS2文件分區(qū)上文件個(gè)數(shù)及容量是否達(dá)到 TFFS2文件分區(qū)的最大限值,若達(dá)到最大限值則刪除TFFS2文件分區(qū)中保存時(shí)間最久的數(shù)據(jù)記錄文件,然后從環(huán)形緩存的讀指針?biāo)傅腟DRAM空間中將緩存的記錄數(shù)據(jù)以文件方式順序保存到TFFS2中。當(dāng)有新的數(shù)據(jù)需要進(jìn)行緩存時(shí),Tl任務(wù)打斷Τ2任務(wù)而優(yōu)先進(jìn)行緩存處理;當(dāng)Tl 任務(wù)完成后,由Τ2任務(wù)完成后續(xù)的數(shù)據(jù)存儲(chǔ)工作。以均勻覆蓋寫入的算法將緩存的記錄數(shù)據(jù)以文件方式保存到TFFS2中。本發(fā)明具有的優(yōu)點(diǎn)和積極效果是
本發(fā)明的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu)及存儲(chǔ)方法中,基于VxWorks操作
系統(tǒng)的實(shí)時(shí)多任務(wù)設(shè)計(jì),按照功能進(jìn)行任務(wù)優(yōu)先級(jí)劃分,在保證系統(tǒng)基本功能正常的前提
下,實(shí)現(xiàn)了大量突發(fā)數(shù)據(jù)的快速、可靠文件存儲(chǔ);采用兩片N0RFLASH進(jìn)行文件存儲(chǔ),根據(jù)
所需存儲(chǔ)文件的重要程度、讀寫操作頻度進(jìn)行分類,重要文件及不經(jīng)常操作文件保存在
N0RFLASH1,讀寫操作頻繁的數(shù)據(jù)文件保存到N0RFLASH2,從而降低了兩個(gè)文件分區(qū)之間的
物理影響,保證了系統(tǒng)的可靠運(yùn)行;通過(guò)SDRAM存儲(chǔ)器進(jìn)行大量突發(fā)數(shù)據(jù)的緩存處理,解決了大量存儲(chǔ)數(shù)據(jù)與慢速外設(shè)之間的矛盾,保證了數(shù)據(jù)的可靠存儲(chǔ);充分考慮了 N0RFLASH存儲(chǔ)器特點(diǎn),采用均勻覆蓋擦寫的算法,保證了 N0RFLASH整體使用壽命;基于vxworks操作系統(tǒng)的bootrom啟動(dòng)程序保存在N0RFLASH1的固定起始物理位置,不單獨(dú)設(shè)計(jì)存儲(chǔ)設(shè)備,減少了硬件開銷,提高了硬件使用效率。在數(shù)據(jù)文件存儲(chǔ)到N0RFLASH2時(shí),檢查已經(jīng)保存的文件長(zhǎng)度和數(shù)量,超出范圍時(shí)刪除最舊的文件,并寫入新的數(shù)據(jù)文件,確保不會(huì)超出N0RFLASH 的存儲(chǔ)容量。


圖1是本發(fā)明的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu)的示意圖; 圖2是本發(fā)明的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)方法的執(zhí)行示意圖。
具體實(shí)施例方式以下參照附圖及實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)的說(shuō)明。圖1是本發(fā)明的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu)的示意圖;圖2是本發(fā)明的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)方法的執(zhí)行示意圖。本發(fā)明基于VxWorks操作系統(tǒng),在兩片N0RFLASH上實(shí)現(xiàn)了基于TrueFFS的文件系統(tǒng)。通過(guò)SDRAM存儲(chǔ)器作為數(shù)據(jù)緩存,解決了大量突發(fā)存儲(chǔ)數(shù)據(jù)與慢速存儲(chǔ)外設(shè)之間的矛盾。根據(jù)實(shí)時(shí)多任務(wù)系統(tǒng)特點(diǎn)進(jìn)行任務(wù)功能劃分,高優(yōu)先級(jí)任務(wù)Tl完成大量突發(fā)數(shù)據(jù)到 SDRAM上的快速緩存工作,從根本上保證了突發(fā)數(shù)據(jù)的快速記錄,并通過(guò)消息方式通知低優(yōu)先級(jí)任務(wù)T2 ;任務(wù)T2收到消息后,將SDRAM中緩存的數(shù)據(jù)以文件方式順序保存到指定的 TFFS2文件分區(qū)中。為了保證系統(tǒng)的可靠性,采用了兩片N0RFLASH,其中一片保存bootrom、應(yīng)用程序文件以及重要的系統(tǒng)參數(shù)和配置文件,另外一片用來(lái)保存頻繁讀寫操作的數(shù)據(jù)記錄文件, 從而隔離了兩片N0RFLASH間的物理影響。當(dāng)出現(xiàn)由于存儲(chǔ)數(shù)據(jù)過(guò)程中掉電或復(fù)位而可能引發(fā)的文件系統(tǒng)破壞時(shí),另一片N0RFLASH上的重要參數(shù)文件、應(yīng)用程序不會(huì)受到任何影響,仍然可以保證系統(tǒng)的基本穩(wěn)定運(yùn)行。如圖1和圖2所示,本發(fā)明的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu),包括兩片 N0RFLASH存儲(chǔ)器和一片SDRAM存儲(chǔ)器;上述兩片N0RFLASH存儲(chǔ)器分別為N0RFLASH1禾口 N0RFLASH2,N0RFLASH1的物理起始位置保存bootrom的啟動(dòng)代碼程序,而后續(xù)位置創(chuàng)建為TFFSl文件分區(qū),保存非經(jīng)常變化的系統(tǒng)文件,N0RFLASH2創(chuàng)建為TFFS2文件分區(qū),保存頻繁讀寫操作的數(shù)據(jù)記錄文件;SDRAM存儲(chǔ)器保存突發(fā)數(shù)據(jù),作為突發(fā)數(shù)據(jù)的臨時(shí)緩存; N0RFLASH1、N0RFLASH2分別與SDRAM存儲(chǔ)器連接,SDRAM存儲(chǔ)器中的緩存數(shù)據(jù)傳輸并保存到 N0RFLASH2上的TFFS2文件分區(qū)中。上述的文件存儲(chǔ)結(jié)構(gòu)中,軟件設(shè)計(jì)基于VxWorks操作系統(tǒng);N0RFLASH1的后續(xù)位置參與文件系統(tǒng)管理,定義為TFFSl文件分區(qū),用于保存應(yīng)用程序文件、各種參數(shù)及配置文件等非經(jīng)常變化的重要系統(tǒng)文件;N0RFLASH2的整體參與文件系統(tǒng)管理,定義為TFFS2文件分區(qū),用于保存頻繁讀寫操作的數(shù)據(jù)記錄文件。由于應(yīng)用程序文件、參數(shù)配置、漢字庫(kù)文件等重要系統(tǒng)文件全部保存在TFFSl中,即使由于異常停電、復(fù)位所可能導(dǎo)致的TFFS2文件分區(qū)破壞,也不會(huì)影響TFFSl中的重要文件,仍可以保證整個(gè)系統(tǒng)的正常運(yùn)行。
上述SDRAM的容量為16M字節(jié),數(shù)據(jù)口寬度為32位,可以滿足應(yīng)用程序普通內(nèi)存、 數(shù)據(jù)記錄緩存等功能的容量及操作速度的使用要求。N0RFLASH1和N0RFLASH2的型號(hào)相同,容量均為4M字節(jié),為保證讀寫速度,數(shù)據(jù)口寬度為16位。其中N0RFLASH1的物理起始位置預(yù)留511字節(jié),用于保存bootrom啟動(dòng)代碼,不參與文件系統(tǒng)管理。 本發(fā)明的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)方法,使用兩片N0RFLASH存儲(chǔ)器和一片SDRAM存儲(chǔ)器作為存儲(chǔ)介質(zhì),兩片N0RFLASH存儲(chǔ)器分別為N0RFLASH1和N0RFLASH2,包括以下步驟
在N0RFLASH1的物理起始位置預(yù)留51 (字節(jié)保存bootrom的啟動(dòng)代碼程序,啟動(dòng)基
于VxWorks的bootrom,對(duì)N0RFLASH1和N0RFLASH2分別進(jìn)行初始化,分別創(chuàng)建基于TrueFFS 的文件系統(tǒng),每片N0RFLASH存儲(chǔ)器各自對(duì)應(yīng)創(chuàng)建一個(gè)文件分區(qū),N0RFLASH1中除物理起始位置之外的后續(xù)位置對(duì)應(yīng)于TFFSl文件分區(qū),N0RFLASH2對(duì)應(yīng)于TFFS2文件分區(qū),TFFSl文件分區(qū)大小為3. 5M字節(jié),保存包括應(yīng)用程序文件的非經(jīng)常變化的參數(shù)與系統(tǒng)文件,TFFS2 文件分區(qū)的大小為4M字節(jié),保存經(jīng)常變化的一般數(shù)據(jù)記錄文件,每個(gè)分區(qū)上根據(jù)要求創(chuàng)建不同的文件目錄;
②在bootrom中啟動(dòng)FTP,將應(yīng)用程序文件保存到N0RFLASH1的文件分區(qū)TFFSl中,并啟動(dòng)應(yīng)用程序;
f)應(yīng)用程序啟動(dòng)后,創(chuàng)建并啟動(dòng)兩個(gè)不同優(yōu)先級(jí)的任務(wù)T1、T2,其中Tl的優(yōu)先級(jí)較高,
完成大量數(shù)據(jù)的快速緩存工作,Τ2的優(yōu)先級(jí)較低,完成緩存數(shù)據(jù)到TFFS2文件分區(qū)上的文件保存工作;
Tl任務(wù)運(yùn)行后,根據(jù)突發(fā)數(shù)據(jù)需要緩沖的數(shù)據(jù)文件的容量,在SDRAM存儲(chǔ)器中創(chuàng)建
環(huán)形數(shù)據(jù)緩存,環(huán)形緩存的大小不小于TFFS2文件分區(qū),在本實(shí)施例中SDRAM分配分配4M 字節(jié)空間創(chuàng)建環(huán)形數(shù)據(jù)緩存,并初始化讀、寫指針為緩存區(qū)起始位置;
S Tl任務(wù)在外部故障情況下,將突發(fā)數(shù)據(jù)緩沖到SDRAM的環(huán)形緩存中,移動(dòng)寫指針到
下一個(gè)空閑節(jié)點(diǎn),并以消息方式通知T2任務(wù);
.1 T2任務(wù)收到Tl任務(wù)發(fā)送的消息后,從SDRAM的環(huán)形緩存中讀出指針?biāo)鶎?duì)應(yīng)的位置, 并將環(huán)形緩存中讀指針?biāo)傅腟DRAM空間中的數(shù)據(jù)以文件方式順序保存到TFFS2文件分區(qū)中,在文件向TFFS2文件分區(qū)進(jìn)行保存的同時(shí)改變讀指針的位置,直到讀寫指針位置一致。T2任務(wù)收到Tl任務(wù)的消息后,首先檢查TFFS2文件分區(qū)上文件個(gè)數(shù)及容量是否達(dá)到TFFS2文件分區(qū)的最大限值,若達(dá)到最大限值則刪除TFFS2文件分區(qū)中保存時(shí)間最久的數(shù)據(jù)記錄文件,然后從環(huán)形緩存的讀指針?biāo)傅腟DRAM空間中將緩存的記錄數(shù)據(jù)以文件方式保存到TFFS2中。當(dāng)有新的數(shù)據(jù)需要進(jìn)行緩存時(shí),Tl任務(wù)打斷T2任務(wù)而優(yōu)先進(jìn)行緩存處理;當(dāng)Tl 任務(wù)完成后,由T2任務(wù)完成后續(xù)的數(shù)據(jù)存儲(chǔ)工作。以均勻覆蓋寫入的算法將緩存的記錄數(shù)據(jù)以文件方式保存到TFFS2中。
本發(fā)明的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu)及存儲(chǔ)方法中,基于VxWorks操作系統(tǒng)的實(shí)時(shí)多任務(wù)設(shè)計(jì),按照功能進(jìn)行任務(wù)優(yōu)先級(jí)劃分,在保證系統(tǒng)基本功能正常的前提下,實(shí)現(xiàn)了大量突發(fā)數(shù)據(jù)的快速、可靠文件存儲(chǔ);采用兩片N0RFLASH進(jìn)行文件存儲(chǔ),根據(jù)所需存儲(chǔ)文件的重要程度、讀寫操作頻度進(jìn)行分類,重要文件及不經(jīng)常操作文件保存在 N0RFLASH1,讀寫操作頻繁的數(shù)據(jù)文件保存到N0RFLASH2,從而降低了兩個(gè)文件分區(qū)之間的物理影響,保證了系統(tǒng)的可靠運(yùn)行;通過(guò)SDRAM存儲(chǔ)器進(jìn)行大量突發(fā)數(shù)據(jù)的緩存處理,解決了大量存儲(chǔ)數(shù)據(jù)與慢速外設(shè)之間的矛盾,保證了數(shù)據(jù)的可靠存儲(chǔ);充分考慮了 N0RFLASH存儲(chǔ)器特點(diǎn),采用均勻覆蓋擦寫的算法,保證了 N0RFLASH整體使用壽命;基于vxworks操作系統(tǒng)的bootrom啟動(dòng)程序保存在N0RFLASH1的固定起始物理位置,不單獨(dú)設(shè)計(jì)存儲(chǔ)設(shè)備,減少了硬件開銷,提高了硬件使用效率。在數(shù)據(jù)文件存儲(chǔ)到N0RFLASH2時(shí),檢查已經(jīng)保存的文件長(zhǎng)度和數(shù)量,超出范圍時(shí)刪除最舊的文件,并寫入新的數(shù)據(jù)文件,確保不會(huì)超出N0RFLASH 的存儲(chǔ)容量。以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制, 雖然本發(fā)明已以較佳實(shí)施例公開如上,然而,并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)然會(huì)利用揭示的技術(shù)內(nèi)容作出些許更動(dòng)或修飾,成為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化與修飾,均屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
權(quán)利要求
1.一種基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu),其特征在于包括兩片N0RFLASH存儲(chǔ)器和一片SDRAM存儲(chǔ)器;上述兩片N0RFLASH存儲(chǔ)器分別為N0RFLASH1和N0RFLASH2, N0RFLASH1的物理起始位置保存bootrom的啟動(dòng)代碼程序,而后續(xù)位置創(chuàng)建為TFFSl文件分區(qū),保存非經(jīng)常變化的系統(tǒng)文件,N0RFLASH2創(chuàng)建為TFFS2文件分區(qū),保存頻繁讀寫操作的數(shù)據(jù)記錄文件;SDRAM存儲(chǔ)器保存突發(fā)數(shù)據(jù),作為突發(fā)數(shù)據(jù)的臨時(shí)緩存;N0RFLASH1、 N0RFLASH2分別與SDRAM存儲(chǔ)器連接,SDRAM存儲(chǔ)器中的緩存數(shù)據(jù)傳輸并保存到N0RFLASH2 上的TFFS2文件分區(qū)中。
2.一種基于VxWorks操作系統(tǒng)的文件存儲(chǔ)方法,使用兩片N0RFLASH存儲(chǔ)器和一片 SDRAM存儲(chǔ)器作為存儲(chǔ)介質(zhì),兩片N0RFLASH存儲(chǔ)器分別為N0RFLASH1和N0RFLASH2,包括以下步驟'I:在N0RFLASH1的物理起始位置保存bootrom的啟動(dòng)代碼程序,啟動(dòng)基于VxWorks的bootrom,對(duì)N0RFLASH1和N0RFLASH2分別進(jìn)行初始化,分別創(chuàng)建基于iTrueFFS的文件系統(tǒng), 每片N0RFLASH存儲(chǔ)器各自對(duì)應(yīng)創(chuàng)建一個(gè)文件分區(qū),N0RFLASH1中除物理起始位置之外的后續(xù)位置對(duì)應(yīng)于TFFSl文件分區(qū),N0RFLASH2對(duì)應(yīng)于TFFS2文件分區(qū),TFFSl文件分區(qū)保存包括應(yīng)用程序文件的非經(jīng)常變化的參數(shù)與系統(tǒng)文件,TFFS2文件分區(qū)保存經(jīng)常變化的一般數(shù)據(jù)記錄文件,每個(gè)分區(qū)上根據(jù)要求創(chuàng)建不同的文件目錄;②在bootrom中啟動(dòng)FTP,將應(yīng)用程序文件保存到N0RFLASH1的文件分區(qū)TFFSl中,并啟動(dòng)應(yīng)用程序;:f應(yīng)用程序啟動(dòng)后,創(chuàng)建并啟動(dòng)兩個(gè)不同優(yōu)先級(jí)的任務(wù)T1、T2,其中Tl的優(yōu)先級(jí)較高,完成大量數(shù)據(jù)的快速緩存工作,Τ2的優(yōu)先級(jí)較低,完成緩存數(shù)據(jù)到TFFS2文件分區(qū)上的文件保存工作;Φ Tl任務(wù)運(yùn)行后,根據(jù)突發(fā)數(shù)據(jù)即需要緩沖的數(shù)據(jù)文件的容量,在SDRAM存儲(chǔ)器中創(chuàng)建環(huán)形緩存,環(huán)形緩存的大小不小于TFFS2文件分區(qū),初始化讀、寫指針為緩存區(qū)起始位置;Tl任務(wù)在外部故障情況下,將突發(fā)數(shù)據(jù)緩沖到SDRAM的環(huán)形緩存中,移動(dòng)寫指針到下一個(gè)空閑節(jié)點(diǎn),并以消息方式通知T2任務(wù);f T2任務(wù)收到Tl任務(wù)發(fā)送的消息后,從SDRAM的環(huán)形緩存中讀出指針?biāo)鶎?duì)應(yīng)的位置,并將環(huán)形緩存中讀指針?biāo)傅腟DRAM空間中的數(shù)據(jù)以文件方式順序保存到TFFS2文件分區(qū)中,在文件向TFFS2文件分區(qū)進(jìn)行保存的同時(shí)改變讀指針的位置,直到讀寫指針位置一致。
3.根據(jù)權(quán)利要求2所述的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)方法,其特征在于T2任務(wù)收到Tl任務(wù)的消息后,首先檢查TFFS2文件分區(qū)上文件個(gè)數(shù)及容量是否達(dá)到TFFS2文件分區(qū)的最大限值,若達(dá)到最大限值則刪除TFFS2文件分區(qū)中保存時(shí)間最久的數(shù)據(jù)記錄文件,然后從環(huán)形緩存的讀指針?biāo)傅腟DRAM空間中將緩存的記錄數(shù)據(jù)以文件方式順序保存至Ij TFFS2 中。
4.根據(jù)權(quán)利要求2或3所述的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)方法,其特征在于 當(dāng)有新的數(shù)據(jù)需要進(jìn)行緩存時(shí),Tl任務(wù)打斷T2任務(wù)而優(yōu)先進(jìn)行緩存處理;當(dāng)Tl任務(wù)完成后,由T2任務(wù)完成后續(xù)的數(shù)據(jù)存儲(chǔ)工作。
5.根據(jù)權(quán)利要求2或3所述的基于VxWorks操作系統(tǒng)的文件存儲(chǔ)方法,其特征在于 以均勻覆蓋寫入的算法將緩存的記錄數(shù)據(jù)以文件方式保存到TFFS2中。
全文摘要
一種基于VxWorks操作系統(tǒng)的文件存儲(chǔ)結(jié)構(gòu)及存儲(chǔ)方法,在兩片NORFLASH上實(shí)現(xiàn)了TrueFFS的文件系統(tǒng),根據(jù)所需存儲(chǔ)文件的重要程度、讀寫操作頻度進(jìn)行分類,將重要系統(tǒng)文件和數(shù)據(jù)文件分開保存,從而降低了兩個(gè)文件分區(qū)之間的物理影響,保證了系統(tǒng)的可靠運(yùn)行;高優(yōu)先級(jí)任務(wù)T1完成大量突發(fā)數(shù)據(jù)到SDRAM上的快速緩存工作,從根本上保證了突發(fā)數(shù)據(jù)的快速記錄,并通過(guò)消息方式通知低優(yōu)先級(jí)任務(wù)T2;任務(wù)T2收到消息后,將SDRAM中緩存的數(shù)據(jù)以文件方式順序保存到指定的TFFS2文件分區(qū)中。通過(guò)SDRAM存儲(chǔ)器進(jìn)行大量突發(fā)數(shù)據(jù)的緩存處理,解決了大量存儲(chǔ)數(shù)據(jù)與慢速外設(shè)之間的矛盾,保證了數(shù)據(jù)的可靠存儲(chǔ)。
文檔編號(hào)G06F17/30GK102521410SQ20111044550
公開日2012年6月27日 申請(qǐng)日期2011年12月28日 優(yōu)先權(quán)日2011年12月28日
發(fā)明者宋金川, 曾慶釗, 李政, 王傳啟, 賈翔宇 申請(qǐng)人:天津凱發(fā)電氣股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1