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

    一種分布式控制系統的可靠固件升級實現方法技術方案

    技術編號:10369879 閱讀:132 留言:0更新日期:2014-08-28 12:30
    本發明專利技術提供了一種應用在分布式控制系統上的可靠固件升級方法,能使系統內任意控制器節點或主機都擁有了程序升級能力,能極大的提高硬件設備的擴展能力、系統定制性,減少后期維護升級成本。與傳統方法不同的是:目標程序包接收在應用程序中實現,并將接收的數據包先存入備份程序區,當目標程序包接收完畢并CRC校驗通過后,在IAP標記區生成參數信息標記,并調用Bootloader以實現程序升級,即使在任意環節發生不可預料的失敗,舊有的程序不會被替換,極大的提高了系統的穩定性。

    【技術實現步驟摘要】

    本專利技術涉及一種應用于分布式控制系統領域的程序固件升級新方法。
    技術介紹
    隨著電子產業的發展,分布式控制系統中的節點單元越來越多樣,邏輯功能也越做越復雜,一旦發現正在運行的系統出現Bug或需要改動協議新增設備的情況,若沒有一種穩定可靠地現場程序固件更新手段,將面臨則系統拆卸一返廠維修一系統重施工的惡性循環。雖然現在的很多分布式系統都提供了程序固件更新功能,但由于機制的問題,這種方法往往只能完成對主機的升級,無法在不同類型的節點中通用,而且有些系統一旦中途發生意外升級失敗,將導致系統的徹底失效,極大增加了的維護成本,體現不出科技發展的優勢。如圖1所示,一個標準的分布式控制系統往往包括一臺可與PC機通訊的系統主機,一條或多條總線,總線上掛載若干個控制或檢測節點。整個分布式系統還需要制定一個上位機-節點、上位機-主機的發送應答透傳機制,以實現上位機能對分布式系統內的任意一個節點實現程序升級。
    技術實現思路
    專利技術目的:針對上述現有技術,提供,實現分布式控制系統中各個節點以及主機的可靠升級。技術方案:,主機和各個節點的FLASH分部均包括Bootloader區、運行程序區、備份程序區、升級標簽區和數據參數區;固件升級實現方法包括如下步驟:步驟I),上位機將升級文件按大小為2n字節劃分成若干升級包,每個升級包還包括升級文件版本號、升級文件總包數、升級文件總CRC校驗以及當前升級包序號;其中η為I?8的整數;步驟2),升級時主機或各節點的本地固件程序接收上位機發出的各升級包并存入各自的備份程序區,在接收完所有升級包后在升級標簽區生成升級任務標記,所述升級任務標記包括升級文件版本號、升級文件總包數、升級文件總CRC校驗以及升級文件每包的字節數;步驟3),通過對主機或各節點復位來啟動設備的Bootloader,所述Bootloader讀取其升級標簽區的升級任務標記后,判斷所述備份程序區是否存在升級文件:若存在升級文件則跳轉到步驟4),若不存在升級文件則跳轉到步驟8);步驟4),通過CRC校驗判斷升級文件是否有效:若升級文件有效則跳轉到步驟5);若升級文件無效則跳轉到步驟8);步驟5),擦除所述主機或各節點運行程序區的文件后跳轉到步驟6),若出現擦除異常則跳轉到步驟3);步驟6),將所述備份程序區的升級包寫入所述本地運行程序區后跳轉到步驟7),若出現寫入異常則跳轉到步驟3);步驟7),擦除所述主機或各節點中升級標簽區的升級任務標記后跳轉到步驟8),若出現擦除異常則跳轉到步驟3);步驟8),檢測所述運行程序區目標程序是否有效:若有效則跳轉到步驟9),若無效則經過延時后跳轉到步驟3);步驟9),所述主機或各節點配置運行程序環境完成升級。進一步的,主機或各節點的本地固件程序采用斷點續傳協議接收各升級包并存入所述備份程序區。作為本專利技術的優選方案,所述步驟2)包括如下具體步驟:步驟2.1),應用程序接收到任意一個升級包后,進行升級包版本號判斷:若接收到的升級文件版本號與當前運行程序版本不同則跳轉到步驟2.2),若版本號相同則不升級;步驟2.2),判斷是否為斷點續傳包:若當前接收到的升級包和歷史升級任務中接收到的升級包版本號、升級文件總包數、升級文件總CRC校驗相同,則該接收到的升級包為斷點續傳包并跳轉到步驟2.3);若不同則是新的升級任務,則更新歷史升級任務中的升級文件版本號、升級文件總包數、升級文件總CRC校驗信息,并開始索要新升級任務的升級文件第一包;步驟2.3),按記錄的升級任務向上位機索要期望的升級包;若收到期望的升級包則跳轉到步驟2.4),若收到的升級包不是期望升級包則繼續向上位機請求期望升級包;步驟2.4),將接收到的升級包按升級包序號寫入FLASH備份程序區中;其中當每寫入一個升級包后,從備份程序區中中讀出該升級包,以判斷寫入是否成功:若不成功則重新向上位機請求該升級包;若成功則跳轉到步驟2.5);步驟2.5),進行升級包接收完畢判斷:若接收完畢則向上位機發送升級完成信息并跳轉到所述步驟3),升級包未全部完整接收則繼續向主機請求期望升級包。作為本專利技術的優選方案,所述步驟8)中,延時時間為100?500ms。有益效果:本專利技術方法與傳統方法不同在于:所有可升級節點內預裝的Bootloader只用以實現程序校驗和替換功能,Bootloader位于Flash的啟動地址,系統復位后先執行Bootloader,開始讀取升級標簽,判斷在備份程序區是否存在能通過程序校驗的完整升級文件,若有則逐步將備份區的數據寫入運行區,并最后替換第一包,防止意外發生,然后讀取運行區第一包判斷是否有合法的啟動代碼,若替換的任意過程發生意外,Bootloader仍會從新執行升級,不會發生在程序替換過程中的替換不完整的情況。若升級文件替換完成才會擦除升級標簽,準備啟動運行區的應用程序。本分布式節點固件升級方法沒有了基于通訊協議的程序包接收,程序包接收在應用程序中實現,并將接收的數據包先存入備份程序區,當接收程序包完畢并CRC校驗通過后,在升級標簽區生成參數信息標記,并調用Bootloader以實現程序升級,升級過程能實現斷點續傳,且即使在任意環節發不可預料的失敗,舊有的程序不會被替換,極端情況下會繼續完成程序更新任務,Flash讀寫異常時有100?500ms的延時保護,能夠防止Flash在短時間內被寫壞,極大的提高了系統的穩定性?!靖綀D說明】圖1是本專利技術所應用的分布式系統框架;圖2是本專利技術的IAP分區劃分;圖3是Bootloader處理流程;圖4是應用程序需要內嵌的接收數據包處理;圖5是升級包和FLASH對應關系;圖6是升級控制字段定義?!揪唧w實施方式】下面結合附圖對本專利技術做更進一步的解釋。,如圖2所示,主機和各個節點的FLASH分部均包括Bootloader區、運行程序區、備份程序區、升級標簽區和數據參數區;而常見的IAP升級的FLASH空間僅劃分Bootloader區和運行程序區。如圖3所示,固件升級實現方法包括如下步驟:步驟I),上位機將升級文件按大小為2n字節劃分成若干升級包,每個升級包還包括升級文件版本號、升級文件總包數、升級文件總CRC校驗以及當前升級包序號;其中η為I?8的整數;步驟2),升級時主機或各節點的本地固件程序采用斷點續傳協議接收上位機發出的各升級包并存入各自的備份程序區,如圖4所示,具體包括如下步驟:步驟2.1),應用程序接收到任意一個升級包后,進行升級包版本號判斷:若接收到的升級文件版本號與當前運行程序版本不同則跳轉到步驟2.2),若版本號相同則不升級;步驟2.2),判斷是否為斷點續傳包:若當前接收到的升級包和歷史升級任務中接收到的升級包版本號、升級文件總包數、升級文件總CRC校驗相同,則該接收到的升級包為斷點續傳包并跳轉到步驟2.3);若不同則是新的升級任務,則更新歷史升級任務中的升級文件版本號、升級文件總包數、升級文件總CRC校驗信息,并開始索要新升級任務的升級文件第一包;步驟2.3),按記錄的升級任務向上位機索要期望的升級包;若收到期望的升級包則跳轉到步驟2.4),若收到的升級包不是期望升級包則繼續向上位機請求期望升級包;步驟2.4),將接收到的升級包按升級包序號寫入FLASH備份程序區中;其中當每本文檔來自技高網...

    【技術保護點】
    一種分布式控制系統的可靠固件升級實現方法,其特征在于:主機和各個節點的FLASH分部均包括Bootloader區、運行程序區、備份程序區、升級標簽區和數據參數區;固件升級實現方法包括如下步驟:步驟1),上位機將升級文件按大小為2n字節劃分成若干升級包,每個升級包還包括升級文件版本號、升級文件總包數、升級文件總CRC校驗以及當前升級包序號;其中n為1~8的整數;步驟2),升級時主機或各節點的本地固件程序接收上位機發出的各升級包并存入各自的備份程序區,在接收完所有升級包后在升級標簽區生成升級任務標記,所述升級任務標記包括升級文件版本號、升級文件總包數、升級文件總CRC校驗以及升級文件每包的字節數;步驟3),通過對主機或各節點復位來啟動設備的Bootloader,所述Bootloader讀取其升級標簽區的升級任務標記后,判斷所述備份程序區是否存在升級文件:若存在升級文件則跳轉到步驟4),若不存在升級文件則跳轉到步驟8);步驟4),通過CRC校驗判斷升級文件是否有效:若升級文件有效則跳轉到步驟5);若升級文件無效則跳轉到步驟8);步驟5),擦除所述主機或各節點運行程序區的文件后跳轉到步驟6),若出現擦除異常則跳轉到步驟3);步驟6),將所述備份程序區的升級包寫入所述本地運行程序區后跳轉到步驟7),若出現寫入異常則跳轉到步驟3);步驟7),擦除所述主機或各節點中升級標簽區的升級任務標記后跳轉到步驟8),若出現擦除異常則跳轉到步驟3);步驟8),檢測所述運行程序區目標程序是否有效:若有效則跳轉到步驟9),若無效則經過延時后跳轉到步驟3);步驟9),所述主機或各節點配置運行程序環境完成升級。...

    【技術特征摘要】
    1.一種分布式控制系統的可靠固件升級實現方法,其特征在于:主機和各個節點的FLASH分部均包括Bootloader區、運行程序區、備份程序區、升級標簽區和數據參數區;固件升級實現方法包括如下步驟: 步驟I),上位機將升級文件按大小為2n字節劃分成若干升級包,每個升級包還包括升級文件版本號、升級文件總包數、升級文件總CRC校驗以及當前升級包序號;其中η為I~8的整數; 步驟2),升級時主機或各節點的本地固件程序接收上位機發出的各升級包并存入各自的備份程序區,在接收完所有升級包后在升級標簽區生成升級任務標記,所述升級任務標記包括升級文件版本號、升級文件總包數、升級文件總CRC校驗以及升級文件每包的字節數; 步驟3),通過對主機或各節點復位來啟動設備的Bootloader,所述Bootloader讀取其升級標簽區的升級任務標記后,判斷所述備份程序區是否存在升級文件:若存在升級文件則跳轉到步驟4),若不存在升級文件則跳轉到步驟8); 步驟4),通過CRC校驗判斷升級文件是否有效:若升級文件有效則跳轉到步驟5);若升級文件無效則跳轉到步驟8); 步驟5),擦除所述主機或各節點運行程序區的文件后跳轉到步驟6),若出現擦除異常則跳轉到步驟3); 步驟6),將所述備份程序區的升級包寫入所述本地運行程序區后跳轉到步驟7),若出現寫入異常則跳轉到 步驟3); 步驟7),擦除所述主機或各節點中升級標簽區的升級任務標記后跳轉到步驟8),若出現擦除異常則跳轉到步驟3); 步驟8),檢測所述運行程序區目標程序是否有效:若有效則跳轉到步驟9),若無效則經過延時后跳轉到步驟3); 步驟9),所述主機或各節點配置運行程序...

    【專利技術屬性】
    技術研發人員:齊翔,何國遠王鵬,齊羽心,孔寧,
    申請(專利權)人:南京融教科技有限公司
    類型:發明
    國別省市:江蘇;32

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

    1
    主站蜘蛛池模板: 亚洲AV成人无码久久精品老人| 无码人妻丰满熟妇区五十路百度 | 无码毛片内射白浆视频| 亚洲熟妇无码八AV在线播放| 亚洲日韩精品无码专区网址| 亚洲av午夜精品无码专区| 免费无码婬片aaa直播表情| av无码一区二区三区| 日韩精品中文字幕无码一区| 亚洲最大av资源站无码av网址| 亚洲av无码成人精品区在线播放 | 日韩AV无码一区二区三区不卡| 成人午夜精品无码区久久| 亚洲最大无码中文字幕| 国产精品无码一区二区三级| 国产精品爽爽va在线观看无码| 久久无码人妻一区二区三区| 宅男在线国产精品无码| 国产精品无码一二区免费| 中文无码字慕在线观看| 国产精品无码A∨精品影院| 久久精品无码专区免费| 自慰系列无码专区| 67194成是人免费无码| 中文字幕人成无码人妻综合社区| 本免费AV无码专区一区| 亚洲国产精品成人AV无码久久综合影院 | 无码毛片内射白浆视频| 精品人无码一区二区三区| 亚洲av中文无码乱人伦在线r▽ | 无码精品视频一区二区三区| 四虎成人精品国产永久免费无码| 无码永久免费AV网站| 亚洲精品9999久久久久无码 | 日韩精品无码人成视频手机 | 国外AV无码精品国产精品| 无码国产精品一区二区高潮| 国产精品爆乳奶水无码视频| 日韩加勒比一本无码精品| 久久亚洲av无码精品浪潮| 久久激情亚洲精品无码?V|