国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種多層次嵌入式工控系統(tǒng)的程序備份和升級方法

      文檔序號:40385038發(fā)布日期:2024-12-20 12:07閱讀:16來源:國知局
      一種多層次嵌入式工控系統(tǒng)的程序備份和升級方法

      本發(fā)明涉及嵌入式工業(yè)控制,尤其涉及一種多層次嵌入式工控系統(tǒng)的程序備份和升級方法。


      背景技術(shù):

      1、在當前蓬勃發(fā)展的嵌入式工業(yè)控制領(lǐng)域,許多設(shè)備需要多個模塊協(xié)同工作,每個模塊都有獨立的程序固件。然而,如果沒有采用適當?shù)姆绞竭M行程序升級,每次燒錄程序都將耗費大量時間,需要專業(yè)人員參與。此外,一些模塊被安裝在設(shè)備內(nèi)部,難以取下,這顯著降低了設(shè)備更新的效率。

      2、目前,嵌入式系統(tǒng)中的程序升級方法主要分為兩類:通過引導加載程序完成更新和通過應用程序進行軟件升級。然而,這些方法也存在一些不足之處。例如,更新引導加載程序本身是危險的,因為更新失敗可能會破壞設(shè)備,而且通常無法由最終用戶修復,可能需要返廠維修。另外,使用包管理器更新在嵌入式系統(tǒng)中可能不太適用,因為嵌入式系統(tǒng)通常使用經(jīng)過良好測試的特定軟件,而包管理器可能會導致軟件分裂成多個包,這可能會使得測試和版本控制變得復雜。

      3、對于程序備份,單片機嵌入式系統(tǒng)一般可以使用包括硬件接口讀取、bootloader固件升級、雙區(qū)備份、遠程自動更新(ota)、文件系統(tǒng)備份、系統(tǒng)鏡像備份等方法,然而,備份流程里數(shù)據(jù)在傳輸過程中面臨安全風險,容易受到未授權(quán)訪問和篡改的威脅。


      技術(shù)實現(xiàn)思路

      1、本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足,提出了一種多層次嵌入式工控系統(tǒng)的程序備份和升級方法。

      2、為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案為:

      3、本發(fā)明提供一種多層次嵌入式工控系統(tǒng)的程序備份和升級方法,所述多層次嵌入式工控系統(tǒng)包括顯示模塊、核心控制模塊和次級控制模塊,所述顯示模塊與核心控制模塊通信連接,并實現(xiàn)核心控制模塊的升級和備份;所述核心控制模塊與次級控制模塊通信連接,并以核心控制模塊作為中轉(zhuǎn)實現(xiàn)顯示模塊對次級控制模塊的升級和備份;

      4、所述顯示模塊、核心控制模塊和次級控制模塊的芯片內(nèi)部flash劃分為bootloader程序區(qū)和app程序區(qū);

      5、所述程序備份和升級方法包括備份流程和升級流程;

      6、所述備份流程包括:

      7、生成備份文件,獲取app程序區(qū)的存儲信息長度,判斷存儲信息長度是否為0后按序讀取app程序區(qū)中的數(shù)據(jù)段,對數(shù)據(jù)段進行加密后放入備份文件,直至將所有數(shù)據(jù)段加密并放入備份文件中,完成備份流程;

      8、所述升級流程包括:

      9、擦除mcu(微控制器單元)內(nèi)部flash的app程序區(qū),獲取升級數(shù)據(jù)段進行校驗,校驗通過后將升級數(shù)據(jù)段寫入mcu內(nèi)部flash的app程序區(qū),直至將所有升級數(shù)據(jù)段寫入mcu內(nèi)部flash的app程序區(qū)中,完成升級流程。

      10、進一步地,所述升級流程中,顯示模塊的升級流程具體是:

      11、s11:顯示模塊接收到升級指令,獲取外部存儲器中包含升級數(shù)據(jù)的文件,擦除mcu內(nèi)部flash的app程序區(qū);

      12、s12:按序提取文件中的升級數(shù)據(jù)段,對當前升級數(shù)據(jù)段進行校驗,識別校驗是否通過,若是,則進入s13;若否,該次流程結(jié)束,反饋給顯示模塊“升級失敗”信號;

      13、s13:將當前升級數(shù)據(jù)段寫入mcu內(nèi)部flash的app程序區(qū),同時flash地址發(fā)生偏移;flash地址的偏移量與升級數(shù)據(jù)段大小相同;

      14、s14:判斷文件中的所有升級數(shù)據(jù)段是否已完全寫入mcu內(nèi)部flash的app程序區(qū),若是則反饋給顯示模塊“升級成功”信號,若否則返回s12。

      15、其中,所述包含升級數(shù)據(jù)的文件的生成方法為:將升級數(shù)據(jù)分為多個升級數(shù)據(jù)段,按序?qū)⒚總€升級數(shù)據(jù)段與模塊識別符、自定義標識符拼接后采用md5算法生成加密密文,將加密密文插入至對應升級數(shù)據(jù)段后,直至完成所有升級數(shù)據(jù)段的加密,獲得所述包含升級數(shù)據(jù)的文件。

      16、進一步地,所述升級流程中,核心控制模塊或次級控制模塊的升級流程具體是:

      17、s21:核心控制模塊或次級控制模塊接收到顯示模塊發(fā)送的升級指令,擦除mcu內(nèi)部flash的app程序區(qū);

      18、s22:獲取顯示模塊發(fā)送的升級數(shù)據(jù)段;

      19、s23:對獲取的升級數(shù)據(jù)段進行校驗,識別校驗是否通過,若是,則進入s24;若否,則反饋給顯示模塊“升級失敗”信號;

      20、s24:將校驗后的升級數(shù)據(jù)段寫入核心控制模塊或次級控制模塊bootloader程序區(qū)的緩沖區(qū);顯示模塊判斷是否已完成發(fā)送全部升級數(shù)據(jù)段,若是,則進入s25;若否,則返回s22;

      21、s25:將緩沖區(qū)中的全部升級數(shù)據(jù)段寫入核心控制模塊或次級控制模塊mcu內(nèi)部flash的app程序區(qū),同時flash地址發(fā)生偏移,同時反饋給顯示模塊“升級成功”信號;flash地址的偏移量與全部升級數(shù)據(jù)段大小相同。

      22、進一步地,以上升級流程中,校驗方法為:將當前升級數(shù)據(jù)段與模塊識別符、自定義標識符拼接后采用md5算法生成校驗密文,將當前升級數(shù)據(jù)段對應的加密密文和校驗密文進行比對,若相同則校驗通過。

      23、進一步地,所述備份流程中,顯示模塊的備份流程具體是:

      24、s31:顯示模塊接收到備份指令,在外部存儲器生成備份文件;

      25、s32:顯示模塊從mcu內(nèi)部flash中獲取app程序區(qū)的存儲信息長度,判斷存儲信息長度是否為0;若為0,進入s33;若不為0,進入s34;

      26、s33:顯示模塊獲取app程序區(qū)中的第i個數(shù)據(jù)段,判斷當前數(shù)據(jù)段是否全為0xff,若是則結(jié)束,若否則執(zhí)行s35;其中i=1,...,n,n為數(shù)據(jù)段的總數(shù);

      27、s34:顯示模塊獲取app程序區(qū)中的第i個數(shù)據(jù)段,記錄已獲取數(shù)據(jù)段的總長度,判斷已獲取數(shù)據(jù)段的總長度是否超過s32獲取的存儲信息長度,若是則結(jié)束,若否則執(zhí)行s35;其中i=1,...,n,n為數(shù)據(jù)段的總數(shù);

      28、s35:將數(shù)據(jù)段與模塊識別符、自定義標識符拼接后采用md5算法生成加密密文,將加密密文插入至對應數(shù)據(jù)段后,得到加密后的數(shù)據(jù)段,放入外部存儲器生成的備份文件中,然后執(zhí)行以下操作:令,若存儲信息長度為0,返回s33;若存儲信息長度不為0,則返回s34。

      29、進一步地,所述備份流程中,核心控制模塊或次級控制模塊的備份流程包括以下步驟:

      30、s41:核心控制模塊或次級控制模塊接收到顯示模塊發(fā)送的備份指令,顯示模塊在外部存儲器生成備份文件;

      31、s42:核心控制模塊或次級控制模塊從mcu內(nèi)部flash中獲取app程序區(qū)的存儲信息長度,判斷存儲信息長度是否為0;若為0,進入s43;若不為0,進入s44;

      32、s43:核心控制模塊或次級控制模塊獲取app程序區(qū)中的數(shù)據(jù)段,判斷當前數(shù)據(jù)段是否全為0xff,若是則核心控制模塊或次級控制模塊發(fā)送結(jié)束幀通知顯示模塊,備份流程結(jié)束;若否則執(zhí)行s45;

      33、s44:核心控制模塊或次級控制模塊獲取app程序區(qū)中的數(shù)據(jù)段,記錄已獲取數(shù)據(jù)段的總長度,判斷已獲取數(shù)據(jù)段的總長度是否超過s42獲取的存儲信息長度,若是,則核心控制模塊或次級控制模塊發(fā)送結(jié)束幀通知顯示模塊,備份流程結(jié)束,若否則執(zhí)行s45;

      34、s45:顯示模塊將核心控制模塊和次級控制模塊發(fā)送的數(shù)據(jù)段與模塊識別符、自定義標識符拼接后采用md5算法生成加密密文,將加密密文插入至數(shù)據(jù)段后,得到加密后的數(shù)據(jù)段,放入外部存儲器備份文件中,然后執(zhí)行以下操作:若核心控制模塊或次級控制模塊獲取的存儲信息長度為0,返回s43,令;若核心控制模塊或次級控制模塊獲取的存儲信息長度不為0,則返回s44,令。

      35、本發(fā)明的另一個目的是提供一種實現(xiàn)上述方法的多層次嵌入式工控系統(tǒng)的程序備份和升級系統(tǒng),包括:

      36、升級模塊,對多層次嵌入式工控系統(tǒng)的程序進行升級;

      37、備份模塊,對多層次嵌入式工控系統(tǒng)的程序進行備份。

      38、本發(fā)明的又一個目的是提供一種電子設(shè)備包括處理器和存儲器,所述存儲器存儲有能夠被所述處理器執(zhí)行的機器可執(zhí)行指令,所述處理器執(zhí)行所述機器可執(zhí)行指令以實現(xiàn)上述方法。

      39、本發(fā)明的再一個目的是提供一種機器可讀存儲介質(zhì),該機器可讀存儲介質(zhì)存儲有機器可執(zhí)行指令,該機器可執(zhí)行指令在被處理器調(diào)用和執(zhí)行時,機器可執(zhí)行指令促使處理器實現(xiàn)上述方法。

      40、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:

      41、本發(fā)明提供了一種多層次嵌入式工控系統(tǒng)的程序備份和升級方法,升級和備份流程劃分為不同模塊的操作,易于管理和維護,同時提高了操作的靈活性;在進行程序備份或升級的過程中對數(shù)據(jù)段進行加密處理,增加了數(shù)據(jù)的安全性、完整性和正確性,降低了升級或備份過程中出錯的風險。此外,升級或備份流程開始后在bootloader程序(系統(tǒng)啟動前引導程序)中創(chuàng)建文件時,會將app程序中所包含的程序信息獲取至文件中,可以在不需要解密文件的情況下就可以知道該文件對應的設(shè)備類型、版本信息,方便識別加密文件的有效性;添加程序信息中的存儲信息長度可有效避免備份過程中因數(shù)據(jù)全為0xff而被誤判導致app程序不能啟動的情況,有效解決無法確定程序結(jié)尾的問題。該方法適用于多層次系統(tǒng),具有較好的通用性和適應性。

      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1