的物理地址,文件系統(tǒng)異常判斷模塊400對該物理地址對應(yīng)的文件系統(tǒng)進行異常檢測。若不存在異常,則加載該文件系統(tǒng)。若存在異常,則文件系統(tǒng)狀態(tài)設(shè)置模塊300的物理地址修改為另一文件系統(tǒng)儲存模塊的物理地址,并記載文件系統(tǒng)間的切換信息,以保證加載的文件系統(tǒng)不存在異常。此外,文件系統(tǒng)修復模塊600讀取文件系統(tǒng)狀態(tài)設(shè)置模塊300中的切換信息,當系統(tǒng)中進行了文件系統(tǒng)間的切換時,則文件系統(tǒng)修復模塊600則根據(jù)切換信息,對被切換掉的文件系統(tǒng)進行修復,保證了系統(tǒng)始終處于雙備份或者多備份的狀態(tài)中,從而提高系統(tǒng)運作的可靠性和穩(wěn)定性。
[0030]進一步地,文件系統(tǒng)存儲模塊200設(shè)于存儲器中,且文件系統(tǒng)存儲模塊200依次地由上而下設(shè)于存儲器中。當文件系統(tǒng)存在異常時,物理地址由上往下進行切換。若切換前的物理地址對應(yīng)存儲器中最下方的文件系統(tǒng)存儲模塊200時,則切換至存儲器中最上方的文件系統(tǒng)存儲模塊200所對應(yīng)的物理地址。
[0031]結(jié)合參考圖2,圖2為本發(fā)明基于32位MCU的嵌入式Linux文件系統(tǒng)又一實施例的模塊示意圖。進一步地,基于32位MCU的嵌入式Linux文件系統(tǒng)還包括:
告警記錄模塊700,用于記錄檢測到文件系統(tǒng)為異常的次數(shù)。每出現(xiàn)一個判斷異常結(jié)果,告警記錄模塊700所記錄的次數(shù)則加1,從而能夠記錄整個系統(tǒng)中,文件系統(tǒng)出現(xiàn)異常的次數(shù),系統(tǒng)維護人員可通過告警記錄模塊700所記錄的異常次數(shù),從而判斷出整個系統(tǒng)的穩(wěn)定性和可靠性。
[0032]結(jié)合參照圖3,圖3為本發(fā)明基于32位MCU的嵌入式Linux文件系統(tǒng)再一實施例的模塊示意圖。進一步地,基于32位MCU的嵌入式Linux文件系統(tǒng)還包括:
系統(tǒng)更新記錄模塊800,用于記錄對異常的文件系統(tǒng)進行修復的次數(shù)。文件系統(tǒng)修復模塊600每對文件系統(tǒng)進行一次修復,則系統(tǒng)更新記錄模塊800所記錄的次數(shù)加1,從而記錄整個系統(tǒng)中,文件系統(tǒng)修復模塊600對文件系統(tǒng)修復的次數(shù)。系統(tǒng)維護人員通過觀察系統(tǒng)更新記錄模塊800中的次數(shù),從而能夠判斷出系統(tǒng)的異常修復能力的強弱。
[0033]結(jié)合參考圖4,圖4為本發(fā)明基于32位MCU的嵌入式Linux文件系統(tǒng)的運行方法一實施例的流程示意圖。本發(fā)明還提供提供一種基于32位MCU的嵌入式Linux文件系統(tǒng)的運行方法。該運行方法包括以下步驟:
步驟S10,根據(jù)外部請求初始化系統(tǒng)參數(shù)配置;
本實施例是基于32位MCU進行運作。本領(lǐng)域技術(shù)人員當知,M⑶的正常運作需要電源,以提供其正常工作所需的電壓。此外,還需要晶振為其提供正常工作所需的時鐘。再者,還需要MCU工作時所需的內(nèi)存空間等等。在本實施例中,外部請求為MCU上電。當32位MCU上電后,MCU內(nèi)的啟動程序會跳轉(zhuǎn)到系統(tǒng)啟動模塊100,以啟動系統(tǒng)啟動模塊100。系統(tǒng)啟動模塊100啟動后,初始化系統(tǒng)參數(shù)配置。應(yīng)當說明的是,系統(tǒng)參數(shù)包括:時鐘參數(shù)、電源參數(shù)、RAM頻率、CPU頻率等等屬于系統(tǒng)本身屬性的參數(shù)。應(yīng)當說明的是,外部請求還可以為其他的請求信號,只要能夠啟動系統(tǒng)啟動模塊100工作即可,在此不再贅述。
[0034]步驟S20,預(yù)設(shè)有一文件系統(tǒng)的物理地址,以及能夠記錄文件系統(tǒng)間切換的切換信息;
在本實施例中,文件系統(tǒng)狀態(tài)設(shè)置模塊300包括兩個參數(shù)。第一個參數(shù)為:文件系統(tǒng)的物理地址。第二個參數(shù)為:文件系統(tǒng)間切換的切換信息。應(yīng)當說明的是,文件系統(tǒng)的物理地址指的是上述文件系統(tǒng)存儲模塊200在存儲器中的物理地址。文件系統(tǒng)的物理地址僅記載一個文件系統(tǒng)存儲模塊200的物理地址,系統(tǒng)能夠根據(jù)該物理地址加載其對應(yīng)的文件系統(tǒng)的應(yīng)用程序。此外,文件系統(tǒng)狀態(tài)設(shè)置模塊300中的物理地址是可以更改的。例如,初始化時,文件系統(tǒng)狀態(tài)設(shè)置模塊300記載的物理地址為主-文件系統(tǒng)存儲模塊200的物理地址。當主-文件系統(tǒng)存儲模塊200被檢測出異常之后,文件系統(tǒng)狀態(tài)設(shè)置模塊300可以將物理地址更改為從-文件系統(tǒng)存儲模塊200的物理地址,反之亦然。文件系統(tǒng)狀態(tài)設(shè)置模塊300的第二個參數(shù)為:文件系統(tǒng)間切換的切換信息。如:文件系統(tǒng)狀態(tài)設(shè)置模塊300的原始的物理地址為主-文件系統(tǒng)存儲模塊200對應(yīng)的物理地址,當主-文件系統(tǒng)存儲模塊200被檢出異常后,文件系統(tǒng)狀態(tài)設(shè)置模塊300將物理地址修改為從-文件系統(tǒng)存儲模塊200的物理地址。此時,切換信息將記錄:物理地址由主-文件系統(tǒng)存儲模塊200切換為從-文件系統(tǒng)存儲模塊200這一信息。若系統(tǒng)中存在兩個以上的文件系統(tǒng),且在文件系統(tǒng)加載前,文件系統(tǒng)狀態(tài)設(shè)置模塊300中的物理地址進行了兩次或以上的切換時,切換信息均有詳細的文件系統(tǒng)切換記錄。這樣,系統(tǒng)就可以根據(jù)該切換信息,獲知到哪些文件系統(tǒng)由于檢查出異常而被切換掉。再進一步對被切換掉的文件系統(tǒng)進行異常修復,從而能夠保證系統(tǒng)能夠正常運作下去。進一步地,為了避免文件系統(tǒng)狀態(tài)設(shè)置模塊300所記錄的參數(shù)在斷電等情況下數(shù)據(jù)丟失,文件系統(tǒng)狀態(tài)設(shè)置模塊300記錄的參數(shù)(即文件系統(tǒng)的物理地址以及文件系統(tǒng)間切換的切換信息)儲存在存儲器的非易失性空間內(nèi)。
[0035]步驟S30,根據(jù)所述預(yù)設(shè)的文件系統(tǒng)的物理地址,對相應(yīng)的文件系統(tǒng)進行異常檢測;
文件系統(tǒng)加載模塊500可以根據(jù)文件系統(tǒng)狀態(tài)設(shè)置模塊300中的物理地址加載相應(yīng)的文件系統(tǒng)。如文件系統(tǒng)狀態(tài)設(shè)置模塊300中當前記載了主-文件系統(tǒng)存儲模塊200的物理地址,則文件系統(tǒng)加載模塊500可以加載主-文件系統(tǒng)存儲模塊200中的文件系統(tǒng)。在本實施例中,為了確保系統(tǒng)加載的文件系統(tǒng)能夠正常運作,在文件系統(tǒng)加載之前,文件系統(tǒng)異常判斷模塊400對將要被加載的文件系統(tǒng)(文件系統(tǒng)狀態(tài)設(shè)置模塊300中的物理地址對應(yīng)的文件系統(tǒng))進行異常檢測,以確保被加載的文件系統(tǒng)不存在異常的情況。
[0036]步驟S40,當檢測到文件系統(tǒng)存在異常的情況下,切換另一文件系統(tǒng)的物理地址,并更新切換信息,直至對文件系統(tǒng)的檢測不存在異常;
步驟S50,當檢測到文件系統(tǒng)不存在異常的情況下,加載當前設(shè)置的物理地址所對應(yīng)的文件系統(tǒng);
當文件系統(tǒng)不存在異常的情況下,文件系統(tǒng)加載模塊500才會對文件系統(tǒng)狀態(tài)設(shè)置模塊300中的物理地址對應(yīng)的文件系統(tǒng)進行加載,以實現(xiàn)從兩個或以上各文件系統(tǒng)中擇一啟動。
[0037]步驟S60,讀取所述切換信息,并根據(jù)所述切換信息判斷文件系統(tǒng)是否進行切換;若存在切換,則對被切換掉的文件系統(tǒng)進行修復。
[0038]為保證出現(xiàn)異常的文件系統(tǒng)能夠及時得到修復,保證整個系統(tǒng)能夠持續(xù)正常運作下去,文件系統(tǒng)修復模塊600能夠?qū)Τ霈F(xiàn)異常的文件系統(tǒng)進行修復。具體地,文件系統(tǒng)修復模塊600通過讀取文件系統(tǒng)狀態(tài)設(shè)置模塊300中的切換信息,從而能夠獲知是否進行過文件系統(tǒng)間的切換,而且可以知道文件系統(tǒng)具體由哪個文件系統(tǒng)切換至哪個文件系統(tǒng)。由于文件系統(tǒng)的切換是基于預(yù)設(shè)文件系統(tǒng)(即文件系統(tǒng)狀態(tài)設(shè)置模塊300中的物理地址所對應(yīng)的文件系統(tǒng))被檢測出異常而被切換掉。因此,被切換掉的文件系統(tǒng)均存在異常。文件系統(tǒng)修復模塊600根據(jù)切換信息,獲知哪些文件系統(tǒng)被切換掉,并對被切換掉的文件系統(tǒng)進行異常修復,保證整個系統(tǒng)真正具有雙備份或多備份的功能,以使得整個系統(tǒng)能夠持續(xù)正常地運作下去。
[0039]本發(fā)明提供的基于32位MCU