基于32位MCU的嵌入式Linux文件系統(tǒng)及其運(yùn)行方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子設(shè)備嵌入式技術(shù)領(lǐng)域,尤其涉及一種基于32位MCU的嵌入式Linux文件系統(tǒng)及其運(yùn)行方法。
【背景技術(shù)】
[0002]
MCU(Micro Control Unit)中文名稱(chēng)為微控制單元,又稱(chēng)單片微型計(jì)算機(jī)(SingleChip Microcomputer)或者單片機(jī),是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計(jì)算機(jī)的CPU、RAM、ROM、定時(shí)計(jì)數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級(jí)的計(jì)算機(jī),為不同的應(yīng)用場(chǎng)合做不同組合控制。微控制器在經(jīng)過(guò)這幾年不斷地研宄、發(fā)展。歷經(jīng)4位、8位再到現(xiàn)在的16位及32位,甚至64位。產(chǎn)品的成熟度以及投入廠商之多,應(yīng)用范圍之廣,真可謂之空前。目前在國(guó)外大廠因開(kāi)發(fā)較早,產(chǎn)品線廣,所以技術(shù)領(lǐng)先。而本土廠商則以多功能為產(chǎn)品導(dǎo)向取勝。但不可諱言的,本土廠商的價(jià)格戰(zhàn)是對(duì)外商造成威脅的關(guān)鍵因素。
[0003]嵌入式Linux是以Linux為基礎(chǔ)的嵌入式作業(yè)系統(tǒng),它被廣泛應(yīng)用在移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、媒體播放器、消費(fèi)性電子產(chǎn)品以及航空航天等領(lǐng)域中。文件系統(tǒng)是操作系統(tǒng)用于明確存儲(chǔ)設(shè)備(常見(jiàn)的是磁盤(pán),也有基于NAND Flash的固態(tài)硬盤(pán))或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在存儲(chǔ)設(shè)備上組織文件的方法。操作系統(tǒng)中負(fù)責(zé)管理和存儲(chǔ)文件信息的軟件機(jī)構(gòu)稱(chēng)為文件管理系統(tǒng),簡(jiǎn)稱(chēng)文件系統(tǒng)。文件系統(tǒng)由三部分組成:文件系統(tǒng)的接口,對(duì)對(duì)象操縱和管理的軟件集合,對(duì)象及屬性。從系統(tǒng)角度來(lái)看,文件系統(tǒng)是對(duì)文件存儲(chǔ)設(shè)備的空間進(jìn)行組織和分配,負(fù)責(zé)文件存儲(chǔ)并對(duì)存入的文件進(jìn)行保護(hù)和檢索的系統(tǒng)。具體地說(shuō),它負(fù)責(zé)為用戶建立文件,存入、讀出、修改、轉(zhuǎn)儲(chǔ)文件,控制文件的存取,當(dāng)用戶不再使用時(shí)撤銷(xiāo)文件等。
[0004]目前在市場(chǎng)上使用到的LINUX文件系統(tǒng),大多采用了單文件系統(tǒng)的方式,該方式存在很大的隱患。隨著產(chǎn)品使用時(shí)間的增加,LINUX文件系統(tǒng)很可能損壞,那么將會(huì)影響產(chǎn)品使用的穩(wěn)定性和可靠性。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于:提供一種能夠?qū)崿F(xiàn)對(duì)基于32位MCU的嵌入式Linux文件系統(tǒng)實(shí)現(xiàn)雙備份或者多備份,以提高Linux文件系統(tǒng)運(yùn)行的穩(wěn)定性和可靠性。
[0006]光纖復(fù)用設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控、管理以及維護(hù)的遠(yuǎn)程管理系統(tǒng)。
[0007]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于32位MCU的嵌入式Linux文件系統(tǒng),該基于32位MCU的嵌入式Linux文件系統(tǒng)包括:
系統(tǒng)啟動(dòng)模塊,用于根據(jù)外部請(qǐng)求初始化系統(tǒng)參數(shù)配置;
至少兩相互獨(dú)立的文件系統(tǒng)存儲(chǔ)模塊,所述文件系統(tǒng)存儲(chǔ)模塊均用于存儲(chǔ)相同的文件系統(tǒng)的應(yīng)用程序;
文件系統(tǒng)狀態(tài)設(shè)置模塊,預(yù)設(shè)一文件系統(tǒng)的物理地址,以及能夠記錄文件系統(tǒng)間切換的切換信息;并當(dāng)預(yù)設(shè)的物理地址所對(duì)應(yīng)的文件系統(tǒng)存在異常時(shí),切換另一文件系統(tǒng)的物理地址,并更新切換信息,直至對(duì)文件系統(tǒng)的檢測(cè)不存在異常;
文件系統(tǒng)異常判斷模塊,根據(jù)所述預(yù)設(shè)的文件系統(tǒng)的物理地址,對(duì)相應(yīng)的文件系統(tǒng)進(jìn)行異常檢測(cè);
文件系統(tǒng)加載模塊,當(dāng)檢測(cè)到文件系統(tǒng)不存在異常的情況下,加載當(dāng)前設(shè)置的物理地址所對(duì)應(yīng)的文件系統(tǒng);
文件系統(tǒng)修復(fù)模塊,讀取所述切換信息,并根據(jù)所述切換信息判斷文件系統(tǒng)是否進(jìn)行切換;若存在切換,則對(duì)被切換掉的文件系統(tǒng)進(jìn)行修復(fù)。
[0008]優(yōu)選的,所述文件系統(tǒng)存儲(chǔ)模塊設(shè)于所述存儲(chǔ)器中,且所述文件系統(tǒng)存儲(chǔ)模塊依次地由上而下設(shè)于存儲(chǔ)器中;當(dāng)所述文件系統(tǒng)存在異常時(shí),所述物理地址由上往下進(jìn)行切換;若切換前的物理地址對(duì)應(yīng)存儲(chǔ)器中最下方的文件系統(tǒng)存儲(chǔ)模塊時(shí),則切換至存儲(chǔ)器中最上方的文件系統(tǒng)存儲(chǔ)模塊所對(duì)應(yīng)的物理地址。
[0009]優(yōu)選地,基于32位MCU的嵌入式Linux文件系統(tǒng)還包括:
告警記錄模塊,用于記錄檢測(cè)到所述文件系統(tǒng)為異常的次數(shù)。
[0010]優(yōu)選地,基于32位MCU的嵌入式Linux文件系統(tǒng)還包括:
系統(tǒng)更新記錄模塊,用于記錄對(duì)異常的文件系統(tǒng)進(jìn)行修復(fù)的次數(shù)。
[0011]優(yōu)選地,所述物理地址,以及記錄文件系統(tǒng)間切換的切換信息均存儲(chǔ)于存儲(chǔ)器中的非易失性空間內(nèi)。
[0012]此外,本發(fā)明還提供一種基于32位MCU的嵌入式Linux文件系統(tǒng)的運(yùn)行方法,該基于32位MCU的嵌入式Linux文件系統(tǒng)的運(yùn)行方法包括以下步驟:
根據(jù)外部請(qǐng)求初始化系統(tǒng)參數(shù)配置;
預(yù)設(shè)有一文件系統(tǒng)的物理地址,以及能夠記錄文件系統(tǒng)間切換的切換信息;
根據(jù)所述預(yù)設(shè)的文件系統(tǒng)的物理地址,對(duì)相應(yīng)的文件系統(tǒng)進(jìn)行異常檢測(cè);
當(dāng)檢測(cè)到文件系統(tǒng)存在異常的情況下,切換另一文件系統(tǒng)的物理地址,并更新切換信息,直至對(duì)文件系統(tǒng)的檢測(cè)不存在異常;
當(dāng)檢測(cè)到文件系統(tǒng)不存在異常的情況下,加載當(dāng)前設(shè)置的物理地址所對(duì)應(yīng)的文件系統(tǒng);
讀取所述切換信息,并根據(jù)所述切換信息判斷文件系統(tǒng)是否進(jìn)行切換;若存在切換,則對(duì)被切換掉的文件系統(tǒng)進(jìn)行修復(fù)。
[0013]優(yōu)選地,所述文件系統(tǒng)依次由上而下存儲(chǔ)于存儲(chǔ)器中;當(dāng)檢測(cè)到所述文件系統(tǒng)存在異常時(shí),所述物理地址由上往下進(jìn)行切換;若切換前的物理地址對(duì)應(yīng)存儲(chǔ)器中最下方的文件系統(tǒng)時(shí),則切換至存儲(chǔ)器中最上方的文件系統(tǒng)所對(duì)應(yīng)的物理地址。
[0014]優(yōu)選地,記錄所述文件系統(tǒng)異常判斷模塊的判斷結(jié)果為異常的次數(shù)。
[0015]優(yōu)選地,記錄所述文件系統(tǒng)修復(fù)模塊對(duì)異常文件系統(tǒng)修復(fù)的次數(shù)。
[0016]優(yōu)選地,所述物理地址,以及記錄文件系統(tǒng)間切換的切換信息均存儲(chǔ)于存儲(chǔ)器中的非易失性空間內(nèi)。
[0017]本發(fā)明提供的基于32位MCU的嵌入式Linux文件系統(tǒng),該嵌入式Linux文件系統(tǒng)包括系統(tǒng)啟動(dòng)模塊、至少兩個(gè)文件系統(tǒng)存儲(chǔ)模塊、文件系統(tǒng)狀態(tài)設(shè)置模塊、文件系統(tǒng)異常判斷模塊、文件系統(tǒng)加載模塊以及文件系統(tǒng)修復(fù)模塊。所有文件系統(tǒng)存儲(chǔ)模塊均存儲(chǔ)相同的文件系統(tǒng)的應(yīng)用程序。文件系統(tǒng)狀態(tài)設(shè)置有一文件系統(tǒng)的物理地址和文件系統(tǒng)間切換的切換信息。根據(jù)文件系統(tǒng)狀態(tài)設(shè)置模塊中的物理地址,文件系統(tǒng)異常判斷模塊對(duì)該物理地址對(duì)應(yīng)的文件系統(tǒng)進(jìn)行異常檢測(cè)。若不存在異常,則加載該文件系統(tǒng)。若存在異常,則文件系統(tǒng)狀態(tài)設(shè)置模塊的物理地址修改為另一文件系統(tǒng)儲(chǔ)存模塊的物理地址,并記載文件系統(tǒng)間的切換信息,以保證加載的文件系統(tǒng)不存在異常。此外,文件系統(tǒng)修復(fù)模塊讀取文件系統(tǒng)狀態(tài)設(shè)置模塊中的切換信息,當(dāng)系統(tǒng)中進(jìn)行了文件系統(tǒng)間的切換時(shí),則文件系統(tǒng)修復(fù)模塊則根據(jù)切換信息,對(duì)被切換掉的文件系統(tǒng)進(jìn)行修復(fù),保證了系統(tǒng)始終處于雙備份或者多備份的狀態(tài)中,從而提高系統(tǒng)運(yùn)作的可靠性和穩(wěn)定性。
【附圖說(shuō)明】
[0018]圖1為本發(fā)明基于32位MCU的嵌入式Linux文件系統(tǒng)一實(shí)施例的模塊示意圖; 圖2為本發(fā)明基于32位MCU的嵌入式Linux文件系統(tǒng)又一實(shí)施例的模塊示意圖;
圖3為本發(fā)明基于32位MCU的嵌入式Linux文件系統(tǒng)再一實(shí)施例的模塊示意圖;
圖4為本發(fā)明基于32位MCU的嵌入式Linux文件系統(tǒng)的運(yùn)