• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種通用的嵌入式計算機軟件在線升級方法技術

    技術編號:14984979 閱讀:101 留言:0更新日期:2017-04-03 16:41
    本發明專利技術公開了一種通用的嵌入式計算機軟件在線升級方法,采用在線升級服務器對嵌入式計算機軟件升級,在線升級服務器的升級步驟包括:開始升級,讀取升級文件頭,校驗升級文件,比較版本號,發送升級文件,發送重啟指令,結束升級。

    【技術實現步驟摘要】

    本專利技術屬于嵌入式設備
    ,特別涉及一種通用的嵌入式計算機軟件在線升級方法
    技術介紹
    傳統的嵌入式計算機,由于硬件資源的限制(比如,程序存儲器容量小,運算速度慢,無外部通信接口或外部通信接口速度慢),在生產階段就把用戶程序固化到程序存儲器中,出廠后用戶程序是無法隨意更改的。如果在運行中程序出現問題,或者功能需要改進,那就只能返廠維修,或者現場拆機更換硬件板卡。隨著科技的不斷發展,嵌入式計算機中的硬件資源也越來越充裕,這就為嵌入式計算機實現更多功能提供了硬件保障。為了方便廠家對系統的維護、滿足用戶多變的需求,以及延長系統的生命周期等,嵌入式計算機應當具備在線升級的能力。目前,在LED顯示屏控制器所用的嵌入式計算機中普遍使用的升級方法是,直接把升級文件中的新版用戶程序寫入程序存儲器中,覆蓋掉之前的舊版用戶程序,然后重啟系統,直接使用程序存儲器中的新版用戶程序。這種升級方法將會導致以下問題:1.在線升級時,待升級的嵌入式計算機無法運行用戶程序,因此,嵌入式計算機將會失去響應。2.升級完成后,必須重啟待升級的嵌入式計算機,這將會影響整個嵌入式系統的正常運行。3.在線升級時,如果升級數據發生錯誤(比如,升級文件接收錯誤,升級文件寫入錯誤),這將會導致用戶分區的用戶程序錯誤。4.在線升級時,如果嵌入式計算機硬件發生故障(比如,系統掉電,程序存儲器損壞),這也會導致用戶分區的用戶程序錯誤(引導區和恢復區只讀不寫)。5.在線升級時,如果升級文件選擇錯誤,這同樣會導致用戶分區的用戶程序錯誤,最終將會導致重啟后用戶程序無法正常運行。
    技術實現思路
    本專利技術的目的在于克服現有升級方法的不足,提供一種可靠的、不影響系統運行的嵌入式計算機軟件在線升級方法。本專利技術的技術方案是,一種通用的嵌入式計算機軟件在線升級方法,采用在線升級服務器對嵌入式計算機軟件升級,在線升級服務器的升級步驟包括:步驟[201],開始升級;步驟[202],讀取升級文件頭,該文件頭為升級文件的前若干個字節,包括前半部分字節和后半部分字節,前半部分字節為文件頭的后半部分字節以及升級文件除文件頭之外的所有數據的校驗和,后半部分字節為升級文件的版本號;步驟[203],校驗升級文件,即,計算文件頭的后半部分字節以及升級文件除文件頭之外的所有數據的校驗和,然后與文件頭前半部分字節的數據進行比較,如果相同則說明升級文件數據無誤,否則說明升級文件數據錯誤;步驟[204],比較版本號,即,發送獲取軟件版本號的指令給嵌入式計算機以獲得嵌入式計算機中正在運行軟件的版本號,然后與文件頭后半部分字節的數據進行比較,如果升級文件的版本號大于正在運行軟件的版本號則說明升級文件版本號無誤,否則說明升級文件版本號錯誤;步驟[205],發送升級文件,即,把升級文件中除了文件頭之外的所有數據(即升級文件中的有效升級數據)拆為若干個數據塊,按照升級通信協議打包,形成升級文件數據包后按順序發送給嵌入式計算機,每發送一個升級文件數據包后都要等待對方的應答,如果接收到失敗的應答則重新發送當前的數據包,否則繼續發送下一個數據包,直到所有有效的升級數據發送完成為止,如果同一個升級文件數據包連續多次發送失敗,則表示升級失敗;步驟[206],發送重啟指令,在合適的時間發送重啟指令給嵌入式計算機,以便完成升級,重啟指令的發送時間完全由用戶而定;步驟[207],結束升級。進一步的,所述嵌入式計算機具有程序存儲器,程序存儲器具有多個分區,包括:啟動區,用于存儲嵌入式計算機的啟動程序,為只讀分區,上電后,嵌入式計算機的主控制器從啟動區讀出啟動程序并運行,用來啟動整個嵌入式計算機;配置區,用于存儲分區的激活信息,為可讀寫分區,在嵌入式計算機啟動的最后階段,啟動程序會讀取配置區中的分區激活信息,然后轉跳到激活的分區,執行激活分區中的用戶程序;恢復區,用于存儲預設的用戶程序,為只讀分區,在正常情況下恢復區未激活,只有在升級失敗時才會激活該分區,在升級失敗時,嵌入式計算機啟動后會進入該分區,執行該分區中預設的用戶程序,預設的用戶程序具備完整的升級文件接收和寫入的功能,確保在升級失敗時,嵌入式計算機仍然具備在線升級的功能,預設的用戶程序還具備硬件維護的功能,可以方便用戶檢測硬件單元的故障;用戶一區,為可讀寫分區,用戶一區存儲正常使用的用戶程序,即從在線升級服務器接收到的升級文件數據;用戶二區,為可讀寫分區,與用戶一區一樣,用來存儲正常使用的用戶程序,在正常情況下,啟動程序會轉跳到兩個用戶分區中的一個來運行其中存儲的用戶程序。進一步的,嵌入式計算機的升級步驟包括:步驟[401],開始升級,接收到獲取軟件版本號的指令后,嵌入式計算機將正在運行軟件的版本號返回給在線升級服務器,表示升級開始;步驟[402],接收升級文件,按順序從在線升級服務器接收升級文件數據包,成功拆包后寫入程序存儲器中未激活的用戶分區(用戶一區或用戶二區),最后校驗本次寫入的數據,如果校驗無誤,則發送成功的應答給在線升級服務器,否則發送失敗的應答,如果同一個升級文件數據包連續多次校驗錯誤,則表示升級失敗,之后將修改配置區中的分區激活信息,激活恢復區,否則,嵌入式計算機將會循環接收升級文件,直到所有的升級文件數據包接收完成為止,之后將修改配置區中的分區激活信息,激活另一個用戶分區;步驟[403],重啟嵌入式計算機,等待在線升級服務器的重啟指令,接收到后立即重啟;步驟[404],結束升級。進一步的,嵌入式計算機的啟動步驟包括:步驟[501],上電開始啟動;步驟[502],運行啟動區程序;步驟[503],讀取配置區分區激活信息,如果上次升級失敗,配置區中記錄的激活信息為恢復區;如果上次升級成功,配置區中記錄的激活信息為用戶分區之一;步驟[504],轉跳到激活的分區,并運行分區中的用戶程序;步驟[505],啟動完成。進一步的,所述的嵌入式計算機是作為LED顯示屏控制器使用。進一步的,所述的嵌入式計算機基于單片機、ARM、MIPS或PowerPC平臺。本專利技術的有益效果是:在線升級時,待升級的嵌入式計算機內用戶程序的運行不受影響;升級完成后,不必立即重啟待升級的嵌入式計算機,重啟時間完全由用戶來確定,可以在本文檔來自技高網
    ...

    【技術保護點】
    一種通用的嵌入式計算機軟件在線升級方法,其特征在于,采用在線升級服務器對嵌入式計算機軟件升級,在線升級服務器的升級步驟包括:步驟[201],開始升級;步驟[202],讀取升級文件頭,該文件頭為升級文件的前若干個字節,包括前半部分字節和后半部分字節,前半部分字節為文件頭的后半部分字節以及升級文件除文件頭之外的所有數據的校驗和,后半部分字節為升級文件的版本號;步驟[203],校驗升級文件,即,計算文件頭的后半部分字節以及升級文件除文件頭之外的所有數據的校驗和,然后與文件頭前半部分字節的數據進行比較,如果相同則說明升級文件數據無誤,否則說明升級文件數據錯誤;步驟[204],比較版本號,即,發送獲取軟件版本號的指令給嵌入式計算機以獲得嵌入式計算機中正在運行軟件的版本號,然后與文件頭后半部分字節的數據進行比較,如果升級文件的版本號大于正在運行軟件的版本號則說明升級文件版本號無誤,否則說明升級文件版本號錯誤;步驟[205],發送升級文件,即,把升級文件中除了文件頭之外的所有數據(即升級文件中的有效升級數據)拆為若干個數據塊,按照升級通信協議打包,形成升級文件數據包后按順序發送給嵌入式計算機,每發送一個升級文件數據包后都要等待對方的應答,如果接收到失敗的應答則重新發送當前的數據包,否則繼續發送下一個數據包,直到所有有效的升級數據發送完成為止,如果同一個升級文件數據包連續多次發送失敗,則表示升級失敗;步驟[206],發送重啟指令,在合適的時間發送重啟指令給嵌入式計算機,以便完成升級,重啟指令的發送時間完全由用戶而定;步驟[207],結束升級。...

    【技術特征摘要】
    1.一種通用的嵌入式計算機軟件在線升級方法,其特征在于,采用在線升級服
    務器對嵌入式計算機軟件升級,在線升級服務器的升級步驟包括:
    步驟[201],開始升級;
    步驟[202],讀取升級文件頭,
    該文件頭為升級文件的前若干個字節,包括前半部分字節和后半部分字節,
    前半部分字節為文件頭的后半部分字節以及升級文件除文件頭之外的所有
    數據的校驗和,后半部分字節為升級文件的版本號;
    步驟[203],校驗升級文件,即,
    計算文件頭的后半部分字節以及升級文件除文件頭之外的所有數據的校驗
    和,然后與文件頭前半部分字節的數據進行比較,如果相同則說明升級文件數
    據無誤,否則說明升級文件數據錯誤;
    步驟[204],比較版本號,即,
    發送獲取軟件版本號的指令給嵌入式計算機以獲得嵌入式計算機中正在運
    行軟件的版本號,然后與文件頭后半部分字節的數據進行比較,如果升級文件
    的版本號大于正在運行軟件的版本號則說明升級文件版本號無誤,否則說明升
    級文件版本號錯誤;
    步驟[205],發送升級文件,即,
    把升級文件中除了文件頭之外的所有數據(即升級文件中的有效升級數據)
    拆為若干個數據塊,按照升級通信協議打包,形成升級文件數據包后按順序發
    送給嵌入式計算機,
    每發送一個升級文件數據包后都要等待對方的應答,如果接收到失敗的應
    答則重新發送當前的數據包,否則繼續發送下一個數據包,直到所有有效的升
    級數據發送完成為止,
    如果同一個升級文件數據包連續多次發送失敗,則表示升級失敗;
    步驟[206],發送重啟指令,
    在合適的時間發送重啟指令給嵌入式計算機,以便完成升級,重啟指令的
    發送時間完全由用戶而定;
    步驟[207],結束升級。
    2.如權利要求1所述的通用的嵌入式計算機軟件在線升級方法,其特征在于,

    \t所述嵌入式計算機具有程序存儲器,程序存儲器具有多個分區,包括:
    啟動區,用于存儲嵌入式計算機的啟動程序,為只讀分區,
    上電后,嵌入式計算機的主控制器從啟動區讀出啟動程序并運行,用來啟
    動整個嵌入式計算機;
    配置區,用于存儲分區的激活信息,為可讀寫分區,
    在嵌入式計算機啟動的最后階段,啟動程序會讀取配置區中的分區激活信
    息,然后轉跳到激活的分區,執行激活分區中的用戶程序;
    恢復區,用于存儲預設的用戶程序,為只讀分區,
    在正常情況下恢復區未激活,只有在升級失敗時才會激活該分區,在升級
    失敗時,嵌入式計算機啟動后會...

    【專利技術屬性】
    技術研發人員:賈鑫金星
    申請(專利權)人:中海網絡科技股份有限公司
    類型:發明
    國別省市:上海;31

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 人妻无码久久精品| 久久精品无码一区二区WWW| 亚洲性无码一区二区三区| 内射精品无码中文字幕| 免费无码又爽又刺激高潮 | 亚洲精品无码你懂的| 精品无码国产污污污免费| 亚洲精品无码国产| 亚洲?v无码国产在丝袜线观看| 国精品无码一区二区三区左线| 免费a级毛片无码a∨蜜芽试看| 国产乱子伦精品无码码专区| 精品人妻中文无码AV在线| 久久AV高清无码| 亚洲Av永久无码精品三区在线| 狠狠精品干练久久久无码中文字幕| 午夜无码伦费影视在线观看| julia无码人妻中文字幕在线| 无码人妻精品一区二区三区蜜桃| 中文有无人妻vs无码人妻激烈| yy111111少妇影院无码| 无码av中文一区二区三区桃花岛| 亚洲成av人片不卡无码| 小13箩利洗澡无码视频网站| 东京热av人妻无码专区| 一区二区三区无码高清视频| 精品无码成人网站久久久久久| 亚洲精品无码久久久久YW| 无码一区二区三区老色鬼| 亚洲熟妇无码乱子AV电影| 狠狠躁夜夜躁无码中文字幕| 亚洲Av无码乱码在线观看性色 | 亚洲AV日韩AV无码污污网站| 无码人妻少妇色欲AV一区二区| 亚洲中文字幕久久精品无码APP | 亚洲精品午夜无码电影网| 亚洲人成无码网WWW| 粉嫩高中生无码视频在线观看| 少妇无码太爽了不卡在线观看| 在线精品自拍无码| 亚洲精品无码久久久影院相关影片 |