本發(fā)明涉及一種嵌入式系統(tǒng)的快速升級(jí)方法。
背景技術(shù):
嵌入式系統(tǒng)的應(yīng)用范圍日益廣泛,涉及到人類生活的諸多方面,如數(shù)字通信、信息家電、航空航天、工業(yè)過程控制及軍事電子等。嵌入式技術(shù)和人們?nèi)粘I畹姆椒矫婷骊P(guān)系越來越緊密,消費(fèi)電子、計(jì)算機(jī)、通信一體化趨勢(shì)日益明顯,作為計(jì)算機(jī)領(lǐng)域的一個(gè)重要組成部分。
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適應(yīng)于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格約束的專用系統(tǒng)。
嵌入式系統(tǒng)一般由嵌入式軟硬件組成,且軟件與硬件緊密集成。硬件以嵌入式微處理器為核心,集成存儲(chǔ)器和系統(tǒng)專用的輸入輸出設(shè)備;軟件包括初始化代碼及驅(qū)動(dòng)、嵌入式操作系統(tǒng)和應(yīng)用程序等,這些軟件有機(jī)地結(jié)合在一起,形成系統(tǒng)特定的一體化軟件。
隨著軟硬件技術(shù)的日新月異,嵌入式設(shè)備處于不斷更新中,因此需要對(duì)系統(tǒng)方便快速地升級(jí)。現(xiàn)有的技術(shù)中,嵌入式系統(tǒng)的常規(guī)的升級(jí)方式是:將嵌入式設(shè)備通過串口連接至外部主機(jī)(電腦、筆記本等),在外部主機(jī)上通過工具軟件輸入特定的操作命令來對(duì)嵌入式設(shè)備中的系統(tǒng)進(jìn)行升級(jí)。這種方法不僅操作復(fù)雜,容易出錯(cuò),并且還需要非常強(qiáng)的計(jì)算機(jī)專業(yè)知識(shí),因而不利于對(duì)產(chǎn)品進(jìn)行批量升級(jí),并且一旦升級(jí)失敗,可能導(dǎo)致系統(tǒng)無法正常啟動(dòng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所解決的技術(shù)問題是,針對(duì)現(xiàn)有技術(shù)的不足,提供一種嵌入式系統(tǒng)的快速升級(jí)方法,能夠快速地進(jìn)行配置文件的替換和升級(jí),并且,在升級(jí)失敗后能快速對(duì)系統(tǒng)進(jìn)行還原,使得系統(tǒng)在升級(jí)失敗后也能正常啟動(dòng)。
本發(fā)明所提供的技術(shù)方案為:
一種嵌入式系統(tǒng)的快速升級(jí)方法,嵌入式系統(tǒng)出廠時(shí)預(yù)先制作用于系統(tǒng)啟動(dòng)的存儲(chǔ)介質(zhì):將用于系統(tǒng)啟動(dòng)的存儲(chǔ)介質(zhì)分成五個(gè)分區(qū)(分區(qū)的大小可以根據(jù)每個(gè)分區(qū)存儲(chǔ)的文件大小來定),其中第一個(gè)分區(qū)用于保存出廠原始配置文件、第二個(gè)分區(qū)用于保存系統(tǒng)啟動(dòng)標(biāo)志、第三個(gè)分區(qū)用于保存系統(tǒng)當(dāng)前運(yùn)行的配置文件、第四個(gè)分區(qū)用于存儲(chǔ)根文件系統(tǒng)、第五個(gè)分區(qū)用于存儲(chǔ)用戶應(yīng)用程序和數(shù)據(jù);
嵌入式系統(tǒng)的快速升級(jí)方法包括如下步驟:
步驟1、將用來升級(jí)的配置文件傳送給需要升級(jí)的嵌入式設(shè)備的根文件系統(tǒng);
步驟2、將用來升級(jí)的配置文件替換第三個(gè)分區(qū)中原有的配置文件;
步驟3、重啟系統(tǒng);
步驟4、系統(tǒng)上電之后,首先判斷第二個(gè)分區(qū)是否設(shè)置有啟動(dòng)標(biāo)志,根據(jù)第二個(gè)分區(qū)是否設(shè)置有系統(tǒng)啟動(dòng)標(biāo)志來決定系統(tǒng)啟動(dòng)方式;
如果有,表示系統(tǒng)上次啟動(dòng)失敗,則從第一個(gè)分區(qū)讀取出廠原始配置文件啟動(dòng)系統(tǒng),并將第一個(gè)分區(qū)的出廠原始配置文件拷貝到第三個(gè)分區(qū)中,覆蓋原有的配置文件;如果沒有,則從第三個(gè)分區(qū)加載配置文件啟動(dòng)系統(tǒng);
初始狀態(tài)下,第二個(gè)分區(qū)不設(shè)置啟動(dòng)標(biāo)志;
步驟5、在第二個(gè)分區(qū)中設(shè)置系統(tǒng)啟動(dòng)標(biāo)志;
步驟6、判斷系統(tǒng)是否啟動(dòng)成功;如果是,則清除第二個(gè)分區(qū)中的啟動(dòng)標(biāo)志,轉(zhuǎn)步驟7;否則轉(zhuǎn)步驟3;
步驟7、判斷是否升級(jí)成功;如果沒有,則返回步驟1重新進(jìn)行升級(jí);否則,升級(jí)成功,結(jié)束。
系統(tǒng)啟動(dòng)之后,對(duì)普通用戶隱藏前三個(gè)分區(qū),只展現(xiàn)最后兩個(gè)分區(qū)。前三個(gè)分區(qū)涉及到系統(tǒng)的配置,用戶不能隨便進(jìn)行修改,只是在升級(jí)的時(shí)候才操作第三個(gè)分區(qū);由此保證系統(tǒng)的安全性。
用來升級(jí)的配置文件通過常用的網(wǎng)絡(luò)傳送給需要升級(jí)的嵌入式設(shè)備的文件系統(tǒng)。
所述步驟2具體為:首先將存儲(chǔ)介質(zhì)的第三個(gè)分區(qū)掛載到系統(tǒng)的根文件系統(tǒng)(使之對(duì)用戶可見);然后將根文件系統(tǒng)中用來升級(jí)的配置文件拷貝到掛載的第三個(gè)分區(qū)中,覆蓋原有的配置文件,并且卸載掛載的第三個(gè)分區(qū)。
有益效果:
通過本發(fā)明,系統(tǒng)當(dāng)前運(yùn)行的配置文件等需要升級(jí)的文件能夠方便快速地被替換,該方法簡(jiǎn)單、方便、快捷、可靠,不需要專業(yè)計(jì)算機(jī)知識(shí)的操作人員,便于批量地進(jìn)行系統(tǒng)升級(jí)。即使在無意中導(dǎo)致升級(jí)失敗,系統(tǒng)會(huì)也會(huì)在再次重啟之后,將配置文件還原到出廠原始配置,用戶可以再一次對(duì)配置文件進(jìn)行升級(jí),使系統(tǒng)受影響的時(shí)間最小,損失最小。
附圖說明
圖1為用于系統(tǒng)啟動(dòng)的存儲(chǔ)介質(zhì)分區(qū)。
圖2為系統(tǒng)配置文件升級(jí)的流程。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
如圖1所述,本發(fā)明中,嵌入式系統(tǒng)出廠時(shí)預(yù)先制作用于系統(tǒng)啟動(dòng)的存儲(chǔ)介質(zhì):將用于系統(tǒng)啟動(dòng)的存儲(chǔ)介質(zhì)分成五個(gè)分區(qū)(分區(qū)的大小可以根據(jù)每個(gè)分區(qū)存儲(chǔ)的文件大小來定),其中第一個(gè)分區(qū)用于保存出廠原始配置文件、第二個(gè)分區(qū)用于保存系統(tǒng)啟動(dòng)標(biāo)志、第三個(gè)分區(qū)用于保存系統(tǒng)當(dāng)前運(yùn)行的配置文件、第四個(gè)分區(qū)用于存儲(chǔ)根文件系統(tǒng)、第五個(gè)分區(qū)用于存儲(chǔ)用戶應(yīng)用程序和數(shù)據(jù);系統(tǒng)啟動(dòng)之后,對(duì)普通用戶隱藏前三個(gè)分區(qū),只展現(xiàn)最后兩個(gè)分區(qū)。
嵌入式系統(tǒng)的快速升級(jí)方法包括如下步驟:
步驟1、將用來升級(jí)的配置文件通過常用的網(wǎng)絡(luò)傳送給需要升級(jí)的嵌入式設(shè)備的根文件系統(tǒng);
步驟2、將用來升級(jí)的配置文件替換第三個(gè)分區(qū)中原有的配置文件;具體為:首先將存儲(chǔ)介質(zhì)的第三個(gè)分區(qū)掛載到系統(tǒng)的根文件系統(tǒng);然后將根文件系統(tǒng)中用來升級(jí)的配置文件拷貝到掛載的第三個(gè)分區(qū)中,覆蓋原有的配置文件,并且卸載掛載的第三個(gè)分區(qū);
步驟3、重啟系統(tǒng);
步驟4、系統(tǒng)上電之后,首先判斷第二個(gè)分區(qū)是否設(shè)置有啟動(dòng)標(biāo)志;
如果有,表示系統(tǒng)上次啟動(dòng)失敗,則從第一個(gè)分區(qū)讀取出廠原始配置文件啟動(dòng)系統(tǒng),并將第一個(gè)分區(qū)的出廠原始配置文件拷貝到第三個(gè)分區(qū)中,覆蓋原有的配置文件;如果沒有,則從第三個(gè)分區(qū)加載配置文件啟動(dòng)系統(tǒng);
初始狀態(tài)下,第二個(gè)分區(qū)不設(shè)置啟動(dòng)標(biāo)志;
步驟5、在第二個(gè)分區(qū)中設(shè)置系統(tǒng)啟動(dòng)標(biāo)志;
步驟6、判斷系統(tǒng)是否啟動(dòng)成功;如果是,則清除第二個(gè)分區(qū)中的啟動(dòng)標(biāo)志,轉(zhuǎn)步驟7;否則轉(zhuǎn)步驟3對(duì)系統(tǒng)進(jìn)行復(fù)位;
步驟7、判斷是否升級(jí)成功;如果沒有,則返回步驟1重新進(jìn)行升級(jí);否則,升級(jí)成功,結(jié)束。
所述步驟6和7中判斷系統(tǒng)是否啟動(dòng)成功以及判斷是否升級(jí)成功可以由人工進(jìn)行也可以自動(dòng)進(jìn)行。
通過本發(fā)明,能夠快速地進(jìn)行配置文件的替換和升級(jí),并且,在升級(jí)失敗后能快速對(duì)系統(tǒng)進(jìn)行還原,使得系統(tǒng)在升級(jí)失敗后也能正常啟動(dòng)。