[發(fā)明專利]嵌入式系統(tǒng)的在線升級(jí)方法無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 201210598589.0 | 申請(qǐng)日: | 2012-12-29 |
| 公開(kāi)(公告)號(hào): | CN103092647A | 公開(kāi)(公告)日: | 2013-05-08 |
| 發(fā)明(設(shè)計(jì))人: | 鐘波;高平波 | 申請(qǐng)(專利權(quán))人: | 聚光科技(杭州)股份有限公司 |
| 主分類號(hào): | G06F9/445 | 分類號(hào): | G06F9/445;G06F11/10 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 310052 浙*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 嵌入式 系統(tǒng) 在線 升級(jí) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及程序升級(jí),特別涉及嵌入式系統(tǒng)的在線升級(jí)方法。
背景技術(shù)
在基于嵌入式系統(tǒng)的電子產(chǎn)品中,通常采用單片機(jī)以及ARM作為其主控制器以及處理器。由于應(yīng)用軟件需要不斷的更新,所以在成品的電子產(chǎn)品中,通常需要進(jìn)行軟件的在線升級(jí),以增加新增的功能,以及解決當(dāng)前存在的軟件缺陷。
傳統(tǒng)的單片機(jī)升級(jí)方法,通常有兩種:一種為,單片機(jī)程序分為獨(dú)立的應(yīng)用程序和Boot程序,Boot程序用于將需要升級(jí)的應(yīng)用程序?qū)懙疆?dāng)前的應(yīng)用程序中,通常是需要將單片機(jī)重啟或者接收命令后,進(jìn)入一個(gè)Boot程序的狀態(tài),此時(shí)不運(yùn)行正常的應(yīng)用程序,僅能進(jìn)行軟件的升級(jí)。另一種是利用某些單片機(jī)自帶的Boot程序,重啟單片機(jī),控制硬件上的引腳使之進(jìn)入Boot程序,使用單片機(jī)廠商提供的升級(jí)軟件進(jìn)行升級(jí)。
以上兩種方法存在以下的弊端:1.應(yīng)用程序和Boot程序獨(dú)立存在,在下載代碼的時(shí)候,需要下載兩遍程序;2.進(jìn)入Boot程序模式后,應(yīng)用程序無(wú)法運(yùn)行;3.在軟件升級(jí)過(guò)程中,如果突然斷電,會(huì)導(dǎo)致應(yīng)用程序的故障,無(wú)法繼續(xù)升級(jí),原先的應(yīng)用程序也無(wú)法運(yùn)行。
與單片機(jī)領(lǐng)域類似的PC軟件升級(jí)方法,在應(yīng)用程序運(yùn)行的同時(shí),通常首先將應(yīng)用程序進(jìn)行下載,下載完成后,關(guān)閉當(dāng)前應(yīng)用程序,進(jìn)行軟件的升級(jí)。然而PC軟件的升級(jí)是基于完整的操作系統(tǒng)和文件系統(tǒng),升級(jí)的應(yīng)用程序以文件方式存在,這些條件在單片機(jī)上并不具備。另外,PC的軟件升級(jí)方法,需要在運(yùn)行應(yīng)用程序的時(shí)候,同時(shí)有另外的進(jìn)程進(jìn)行新應(yīng)用程序的下載,由于單片機(jī)僅能運(yùn)行一個(gè)應(yīng)用程序,所以無(wú)法采用該方式。
發(fā)明內(nèi)容
為了解決上述現(xiàn)有技術(shù)方案中的不足,本發(fā)明提供了一種方便可靠、解決升級(jí)過(guò)程中因掉電等原因?qū)е律?jí)失敗而引起的程序出錯(cuò)的在線升級(jí)方法。
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
嵌入式系統(tǒng)的在線升級(jí)方法,所述在線升級(jí)方法包括以下步驟:
(A1)嵌入式系統(tǒng)執(zhí)行應(yīng)用程序及升級(jí)命令;
(A2)待升級(jí)的代碼利用通訊協(xié)議發(fā)送給所述嵌入式系統(tǒng),所述嵌入式系統(tǒng)調(diào)用引導(dǎo)區(qū)的接口函數(shù),將所述待升級(jí)的代碼存儲(chǔ)到臨時(shí)區(qū),完成后將標(biāo)志區(qū)的標(biāo)志位設(shè)置為代碼正確下載標(biāo)志位;復(fù)位所述嵌入式系統(tǒng);
(A3)所述嵌入式系統(tǒng)運(yùn)行引導(dǎo)區(qū)內(nèi)的程序,初始化所述接口函數(shù),并讀取標(biāo)志區(qū)的標(biāo)志:
若標(biāo)志位為正確下載標(biāo)志位,交換所述代碼區(qū)和臨時(shí)區(qū)的代碼,交換完成后執(zhí)行代碼區(qū)的應(yīng)用程序。
根據(jù)上述的在線升級(jí)方法,可選地,所述步驟(A2)進(jìn)一步包括以下步驟:
(B1)所述待升級(jí)的代碼存儲(chǔ)到臨時(shí)區(qū)后,進(jìn)行接收到的待升級(jí)的代碼的CRC校驗(yàn);
若失敗,則軟件復(fù)位;
若成功,則將標(biāo)志區(qū)的標(biāo)志位設(shè)置為代碼正確下載標(biāo)志位。
根據(jù)上述的在線升級(jí)方法,可選地,所述步驟(A2)進(jìn)一步包括:
若標(biāo)志位為代碼恢復(fù)標(biāo)志位,交換所述代碼區(qū)和臨時(shí)區(qū)的代碼,復(fù)位所述嵌入式系統(tǒng);
若標(biāo)志位為異常標(biāo)志位,將標(biāo)志位修改為正常標(biāo)志位,所述嵌入式系統(tǒng)運(yùn)行代碼區(qū)的應(yīng)用程序。
與現(xiàn)有技術(shù)相比,本發(fā)明具有的有益效果為:
1、應(yīng)用程序中包含了引導(dǎo)程序的相關(guān)代碼,所以只需要下載一遍應(yīng)用程序即可,使用方便;
2、升級(jí)過(guò)程中仍可以運(yùn)行正常的應(yīng)用程序;
3、升級(jí)過(guò)程與物理鏈路無(wú)關(guān),應(yīng)用廣泛;
4、采用CRC對(duì)最終的應(yīng)用程序進(jìn)行校驗(yàn),保證應(yīng)用程序的完整性;
5、采取了較多的掉電保護(hù)措施,可以避免因升級(jí)失敗引起的程序崩潰;
6、升級(jí)完成后可恢復(fù)至升級(jí)之前的應(yīng)用程序。
附圖說(shuō)明
參照附圖,本發(fā)明的公開(kāi)內(nèi)容將變得更易理解。本領(lǐng)域技術(shù)人員容易理解的是:這些附圖僅僅用于舉例說(shuō)明本發(fā)明的技術(shù)方案,而并非意在對(duì)本發(fā)明的保護(hù)范圍構(gòu)成限制。圖中:
圖1是根據(jù)本發(fā)明實(shí)施例1的程序存儲(chǔ)空間的分區(qū)簡(jiǎn)圖;
圖2是根據(jù)本發(fā)明實(shí)施例1的在線升級(jí)方法的流程圖。
具體實(shí)施方式
圖1、2和以下說(shuō)明描述了本發(fā)明的可選實(shí)施方式以教導(dǎo)本領(lǐng)域技術(shù)人員如何實(shí)施和再現(xiàn)本發(fā)明。為了教導(dǎo)本發(fā)明技術(shù)方案,已簡(jiǎn)化或省略了一些常規(guī)方面。本領(lǐng)域技術(shù)人員應(yīng)該理解源自這些實(shí)施方式的變型或替換將在本發(fā)明的范圍內(nèi)。本領(lǐng)域技術(shù)人員應(yīng)該理解下述特征能夠以各種方式組合以形成本發(fā)明的多個(gè)變型。由此,本發(fā)明并不局限于下述可選實(shí)施方式,而僅由權(quán)利要求和它們的等同物限定。
實(shí)施例1:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于聚光科技(杭州)股份有限公司,未經(jīng)聚光科技(杭州)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210598589.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 用于呈現(xiàn)在線實(shí)體在線狀態(tài)的系統(tǒng)和方法
- 提供web服務(wù)接入的在線系統(tǒng)和方法
- 定制在線圖標(biāo)
- 一種水質(zhì)在線檢測(cè)預(yù)處理裝置
- 在線測(cè)試學(xué)習(xí)方法、系統(tǒng)、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種在線文檔的分頁(yè)方法、裝置、設(shè)備以及可讀介質(zhì)
- 一種基于web在線學(xué)習(xí)的資源訪問(wèn)平臺(tái)
- 一種在線學(xué)習(xí)系統(tǒng)
- 在線文檔提交方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 空調(diào)冷媒量確定方法、系統(tǒng)和可讀存儲(chǔ)介質(zhì)
- 一種機(jī)頂盒Loader模塊升級(jí)方法及其機(jī)頂盒
- 產(chǎn)品升級(jí)的方法和設(shè)備
- 一種機(jī)頂盒的升級(jí)方法和裝置
- 網(wǎng)絡(luò)設(shè)備升級(jí)方法、升級(jí)服務(wù)器、終端設(shè)備及存儲(chǔ)介質(zhì)
- 無(wú)人機(jī)系統(tǒng)中的模塊升級(jí)方法及待升級(jí)模塊
- 一種基于主分結(jié)構(gòu)的應(yīng)用升級(jí)及升級(jí)版本控制方法及系統(tǒng)
- 一種升級(jí)方法及裝置
- 一種終端升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 一種車輛升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 設(shè)備升級(jí)方法、裝置及服務(wù)器





