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

嵌入式系統(tǒng)的在線升級方法

文檔序號:6386624閱讀:614來源:國知局
專利名稱:嵌入式系統(tǒng)的在線升級方法
技術(shù)領(lǐng)域
本發(fā)明涉及程序升級,特別涉及嵌入式系統(tǒng)的在線升級方法。
背景技術(shù)
在基于嵌入式系統(tǒng)的電子產(chǎn)品中,通常采用單片機以及ARM作為其主控制器以及處理器。由于應(yīng)用軟件需要不斷的更新,所以在成品的電子產(chǎn)品中,通常需要進行軟件的在線升級,以增加新增的功能,以及解決當(dāng)前存在的軟件缺陷。傳統(tǒng)的單片機升級方法,通常有兩種:一種為,單片機程序分為獨立的應(yīng)用程序和Boot程序,Boot程序用于將需要升級的應(yīng)用程序?qū)懙疆?dāng)前的應(yīng)用程序中,通常是需要將單片機重啟或者接收命令后,進入一個Boot程序的狀態(tài),此時不運行正常的應(yīng)用程序,僅能進行軟件的升級。另一種是利用某些單片機自帶的Boot程序,重啟單片機,控制硬件上的引腳使之進入Boot程序,使用單片機廠商提供的升級軟件進行升級。以上兩種方法存在以下的弊端:1.應(yīng)用程序和Boot程序獨立存在,在下載代碼的時候,需要下載兩遍程序;2.進入Boot程序模式后,應(yīng)用程序無法運行;3.在軟件升級過程中,如果突然斷電,會導(dǎo)致應(yīng)用程序的故障,無法繼續(xù)升級,原先的應(yīng)用程序也無法運行。與單片機領(lǐng)域類似的PC軟件升級方法,在應(yīng)用程序運行的同時,通常首先將應(yīng)用程序進行下載,下載完成后,關(guān)閉當(dāng)前應(yīng)用程序,進行軟件的升級。然而PC軟件的升級是基于完整的操作系統(tǒng)和文件系統(tǒng),升級的應(yīng)用程序以文件方式存在,這些條件在單片機上并不具備。另外,PC的軟件升級方法,需要在運行應(yīng)用程序的時候,同時有另外的進程進行新應(yīng)用程序的下載,由于單片機僅能運行一個應(yīng)用程序,所以無法采用該方式。

發(fā)明內(nèi)容
為了解決上述現(xiàn)有技術(shù)方案中的不足,本發(fā)明提供了一種方便可靠、解決升級過程中因掉電等原因?qū)е律壥《鸬某绦虺鲥e的在線升級方法。本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:嵌入式系統(tǒng)的在線升級方法,所述在線升級方法包括以下步驟:(Al)嵌入式系統(tǒng)執(zhí)行應(yīng)用程序及升級命令;(A2)待升級的代碼利用通訊協(xié)議發(fā)送給所述嵌入式系統(tǒng),所述嵌入式系統(tǒng)調(diào)用引導(dǎo)區(qū)的接口函數(shù),將所述待升級的代碼存儲到臨時區(qū),完成后將標志區(qū)的標志位設(shè)置為代碼正確下載標志位;復(fù)位所述嵌入式系統(tǒng); (A3)所述嵌入式系統(tǒng)運行引導(dǎo)區(qū)內(nèi)的程序,初始化所述接口函數(shù),并讀取標志區(qū)的標志:若標志位為正確下載標志位,交換所述代碼區(qū)和臨時區(qū)的代碼,交換完成后執(zhí)行代碼區(qū)的應(yīng)用程序。根據(jù)上述的在線升級方法,可選地,所述步驟(A2)進一步包括以下步驟:(BI)所述待升級的代碼存儲到臨時區(qū)后,進行接收到的待升級的代碼的CRC校驗;若失敗,則軟件復(fù)位;若成功,則將標志區(qū)的標志位設(shè)置為代碼正確下載標志位。根據(jù)上述的在線升級方法,可選地,所述步驟(A2)進一步包括:若標志位為代碼恢復(fù)標志位,交換所述代碼區(qū)和臨時區(qū)的代碼,復(fù)位所述嵌入式系統(tǒng);若標志位為異常標志位,將標志位修改為正常標志位,所述嵌入式系統(tǒng)運行代碼區(qū)的應(yīng)用程序。與現(xiàn)有技術(shù)相比,本發(fā)明具有的有益效果為:1、應(yīng)用程序中包含了引導(dǎo)程序的相關(guān)代碼,所以只需要下載一遍應(yīng)用程序即可,使用方便;2、升級過程中仍可以運行正常的應(yīng)用程序;3、升級過程與物理鏈路無關(guān),應(yīng)用廣泛;4、采用CRC對最終的應(yīng)用程序進行校驗,保證應(yīng)用程序的完整性;5、采取了較多的掉電保護措施,可以避免因升級失敗引起的程序崩潰;6、升級完成后可恢復(fù)至升級之前的應(yīng)用程序。


參照附圖,本發(fā)明的公開內(nèi)容將變得更易理解。本領(lǐng)域技術(shù)人員容易理解的是:這些附圖僅僅用于舉例說明本發(fā)明的技術(shù)方案,而并非意在對本發(fā)明的保護范圍構(gòu)成限制。圖中:圖1是根據(jù)本發(fā)明實施例1的程序存儲空間的分區(qū)簡圖;圖2是根據(jù)本發(fā)明實施例1的在線升級方法的流程圖。
具體實施例方式圖1、2和以下說明描述了本發(fā)明的可選實施方式以教導(dǎo)本領(lǐng)域技術(shù)人員如何實施和再現(xiàn)本發(fā)明。為了教導(dǎo)本發(fā)明技術(shù)方案,已簡化或省略了一些常規(guī)方面。本領(lǐng)域技術(shù)人員應(yīng)該理解源自這些實施方式的變型或替換將在本發(fā)明的范圍內(nèi)。本領(lǐng)域技術(shù)人員應(yīng)該理解下述特征能夠以各種方式組合以形成本發(fā)明的多個變型。由此,本發(fā)明并不局限于下述可選實施方式,而僅由權(quán)利要求和它們的等同物限定。實施例1:圖1示意性地給出了本發(fā)明實施例的程序存儲空間的分區(qū)簡圖,如圖1所示,所述程序存儲空間包括:引導(dǎo)區(qū),所述引導(dǎo)區(qū)存基本的存儲器讀寫、標志判斷等代碼(不含通訊處理及其基本操作);引導(dǎo)區(qū)程序為獨立編譯的一個程序,包含了對程序存儲器的讀寫以及校驗操作,使用時將引導(dǎo)程序編譯完成后的可執(zhí)行程序添加到應(yīng)用程序中,并提供相關(guān)的調(diào)用接口。主程序只需要相應(yīng)在線升級的通訊命令,調(diào)用對應(yīng)的引導(dǎo)程序接口函數(shù),即可以完成在線升級的操作。代碼區(qū),所述代碼區(qū)存完整的應(yīng)用程序工程代碼(含通訊處理及其基本操作);
臨時區(qū),所述臨時去用于備份程序區(qū)的代碼、臨時存儲待升級的代碼;標志區(qū),所述標志區(qū)是專門存放升級標志位的特殊區(qū)域。其中引導(dǎo)區(qū)代碼使用特殊的“常量定位”方式添加到應(yīng)用程序中,與代碼區(qū)的應(yīng)用程序一次編譯完成,引導(dǎo)區(qū)提供接口函數(shù)供代碼區(qū)調(diào)用。標志包含了正在運行狀態(tài)標志位,正在下載代碼標志位,代碼下載正確標志位,正在互換代碼標志位,代碼互換正確標志位,代碼互換失敗標志位,程序升級成功標志位,代碼恢復(fù)命令標志位。單片機重啟后首先讀取該標志位,然后根據(jù)標志位可以確定在哪個過程中曾經(jīng)斷電過,然后在執(zhí)行相關(guān)的操作恢復(fù)程序,可以解決升級過程中斷電的問題。圖2示意性地給出了本發(fā)明實施例的嵌入式系統(tǒng)的在線升級方法的流程圖,如圖2所示,所述在線升級方法包括以下步驟:(Al)嵌入式系統(tǒng)執(zhí)行應(yīng)用程序及升級命令;(A2)待升級的代碼利用通訊協(xié)議發(fā)送給所述嵌入式系統(tǒng),所述嵌入式系統(tǒng)調(diào)用引導(dǎo)區(qū)的接口函數(shù),將所述待升級的代碼存儲到臨時區(qū);(BI)所述待升級的代碼存儲到臨時區(qū)后,進行接收到的待升級的代碼的CRC校驗;若失敗,則軟件復(fù)位;若成功,則將標志區(qū)的標志位設(shè)置為代碼正確下載標志位;復(fù)位所述嵌入式系統(tǒng);(A3)所述嵌入式系統(tǒng)運行引導(dǎo)區(qū)內(nèi)的程序,初始化所述接口函數(shù),并讀取標志區(qū)的標志:若標志位為正確下載標志位,交換所述代碼區(qū)和臨時區(qū)的代碼,交換完成后執(zhí)行代碼區(qū)的應(yīng)用程序;若標志位為代碼恢復(fù)標志位,交換所述代碼區(qū)和臨時區(qū)的代碼,復(fù)位所述嵌入式系統(tǒng);若標志位為異常標志位,將標志位修改為正常標志位,所述嵌入式系統(tǒng)運行代碼區(qū)的應(yīng)用程序。
權(quán)利要求
1.入式系統(tǒng)的在線升級方法,所述在線升級方法包括以下步驟: (Al)嵌入式系統(tǒng)執(zhí)行應(yīng)用程序及升級命令; (A2)待升級的代碼利用通訊協(xié)議發(fā)送給所述嵌入式系統(tǒng),所述嵌入式系統(tǒng)調(diào)用引導(dǎo)區(qū)的接口函數(shù),將所述待升級的代碼存儲到臨時區(qū),完成后將標志區(qū)的標志位設(shè)置為代碼正確下載標志位;復(fù)位所述嵌入式系統(tǒng); (A3)所述嵌入式系統(tǒng)運行引導(dǎo)區(qū)內(nèi)的程序,初始化所述接口函數(shù),并讀取標志區(qū)的標志: 若標志位為正確下載標志位,交換所述代碼區(qū)和臨時區(qū)的代碼,交換完成后執(zhí)行代碼區(qū)的應(yīng)用程序。
2.根據(jù)權(quán)利要求1所述的在線升級方法,其特征在于:所述步驟(A2)進一步包括以下步驟: (BI)所述待升級的代碼存儲到臨時區(qū)后,進行接收到的待升級的代碼的CRC校驗; 若失敗,則軟件復(fù)位; 若成功,則將標志區(qū)的標志位設(shè)置為代碼正確下載標志位。
3.根據(jù)權(quán)利要求1所述的在線升級方法,其特征在于:所述步驟(A2)進一步包括: 若標志位為代碼恢復(fù)標志位,交換所述代碼區(qū)和臨時區(qū)的代碼,復(fù)位所述嵌入式系統(tǒng); 若標志位為異常標志位,將標志位修改為正常標志位,所述嵌入式系統(tǒng)運行代碼區(qū)的應(yīng)用程序。
全文摘要
本發(fā)明提供了嵌入式系統(tǒng)的在線升級方法,包括以下步驟(A1)嵌入式系統(tǒng)執(zhí)行應(yīng)用程序及升級命令;(A2)待升級的代碼利用通訊協(xié)議發(fā)送給嵌入式系統(tǒng),嵌入式系統(tǒng)調(diào)用引導(dǎo)區(qū)的接口函數(shù),將所述待升級的代碼存儲到臨時區(qū),完成后將標志區(qū)設(shè)置為代碼正確下載標志位;復(fù)位嵌入式系統(tǒng);(A3)嵌入式系統(tǒng)運行引導(dǎo)區(qū)內(nèi)的程序,初始化所述接口函數(shù),并讀取標志區(qū)的標志若標志位為正常運行標志位,執(zhí)行代碼區(qū)的應(yīng)用程序;若標志位為正確下載標志位,交換所述代碼區(qū)和臨時區(qū)的代碼,交換完成后執(zhí)行代碼區(qū)的應(yīng)用程序;若標志位為代碼恢復(fù)標志位,交換所述代碼區(qū)和臨時區(qū)的代碼,復(fù)位所述嵌入式系統(tǒng)。本發(fā)明具有方便可靠、解決升級過程中因掉電等原因?qū)е律壥《鸬某绦虺龅葍?yōu)點。
文檔編號G06F11/10GK103092647SQ201210598589
公開日2013年5月8日 申請日期2012年12月29日 優(yōu)先權(quán)日2012年12月29日
發(fā)明者鐘波, 高平波 申請人:聚光科技(杭州)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1