System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 99久久人妻无码精品系列蜜桃,91嫩草国产在线无码观看,亚洲av无码不卡
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種壓縮固件的空中升級方法及系統技術方案

    技術編號:44506354 閱讀:2 留言:0更新日期:2025-03-07 13:04
    本申請公開了一種壓縮固件的空中升級方法,包括如下步驟。步驟S1:在編譯固件階段將電子設備的固件劃分為多個分區,每個分區中包含一個或多個功能模塊;每個分區在壓縮后具有基本相同的大小。步驟S2:以分區為單位對電子設備的固件進行壓縮,在壓縮時記錄壓縮分區的相關信息,所有壓縮分區的相關信息以加載數據表的形式存放到電子設備的壓縮固件的頭部。步驟S3:生成升級文件表,得到加載數據表的差分數據和每個分區的差分數據,依次組裝為差分升級文件。步驟S4:電子設備獲取到新、舊壓縮固件的差分升級文件后,先升級加載數據表,再以壓縮分區為單位升級固件。本申請實現了差分效果最優,同時在升級過程中掉電保護占用的存儲空間小。

    【技術實現步驟摘要】

    本申請涉及一種電子設備的固件空中升級(fota,firmware?over-the-air,也稱空中固件升級)方法。


    技術介紹

    1、電子設備的固件空中升級一般采用差分方式,其優點是差分升級文件的體積小,占用的非易失性存儲器的存儲空間少。有些電子設備的非易失性存儲器的容量有限,還對固件壓縮后存放,以進一步減少占用的非易失性存儲器的存儲空間。然而對壓縮固件采用差分升級的效果不好,對壓縮固件的差分結果相比非壓縮固件的差分結果通常會變大很多,并不能真實地反應固件的數據變化。例如新固件與舊固件只有3個字節的變化,生成的差分升級文件只有1kb大小;而壓縮后的新固件與壓縮后的舊固件生成的差分升級文件卻有1242kb大小。

    2、電子設備在用新固件替換舊固件時需要實現掉電保護機制,即對舊固件或新固件進行備份。目前都是對整個固件(無論是壓縮固件、還是非壓縮固件)進行備份,這會占用比較多的非易失性存儲器的存儲空間。


    技術實現思路

    1、本申請所要解決的技術問題是如何對壓縮固件采用差分方式進行空中升級,在減小差分升級文件的同時實現掉電保護機制,同時大幅減少備份空間的占用。

    2、為解決上述技術問題,本申請提出了一種壓縮固件的空中升級方法,包括如下步驟。步驟s1:在編譯固件階段將電子設備的固件劃分為多個分區,每個分區中包含一個或多個功能模塊;每個分區在壓縮后具有基本相同的大小。步驟s2:以分區為單位對電子設備的固件進行壓縮,得到電子設備的壓縮固件;分區壓縮后稱為壓縮分區,在壓縮時記錄壓縮分區的相關信息,所有壓縮分區的相關信息以加載數據表的形式存放到電子設備的壓縮固件的頭部。步驟s3:生成升級文件表;將新壓縮固件的加載數據表和舊壓縮固件的加載數據表進行差分,得到加載數據表的差分數據;將新固件中的每個分區的解壓后數據和舊固件中的相應分區的解壓后數據進行差分,得到每個分區的差分數據;將以上三部分依次組裝為新、舊壓縮固件的差分升級文件。步驟s4:電子設備獲取到新、舊壓縮固件的差分升級文件后,先升級加載數據表,再以壓縮分區為單位升級固件。

    3、進一步地,所述步驟s2中,所述壓縮分區的相關信息包括壓縮分區中非壓縮數據在電子設備的內存的運行地址和大小、壓縮后數據在電子設備的非易失性存儲器的存放地址和大小、壓縮后數據的校驗值。

    4、進一步地,所述步驟s3中,所述升級文件表記錄了哪些壓縮分區需要升級、哪些壓縮分區無需升級;如果新、舊壓縮固件中某個壓縮分區中的功能模塊無變化,則該分區不產生差分數據;只有新、舊壓縮固件中某個壓縮分區中的功能模塊有變化,則該分區才會產生差分數據。

    5、進一步地,所述步驟s3中,如果新壓縮固件比舊壓縮固件增加了功能模塊,則新壓縮固件新增壓縮分區用來存放新增的功能模塊。

    6、進一步地,所述步驟s4中,所述升級加載數據表具體包括如下子步驟。步驟s410:備份舊壓縮固件的加載數據表。步驟s411:根據舊壓縮固件的加載數據表、以及加載數據表的差分數據還原出新壓縮固件的加載數據表。步驟s412:以新壓縮固件的加載數據表替換掉舊壓縮固件的加載數據表。步驟s413:刪除備份的舊壓縮固件的加載數據表。

    7、進一步地,所述步驟s4中,所述以壓縮分區為單位升級固件具體包括如下子步驟。步驟s420:解析差分升級文件中的升級文件表,確定哪些壓縮分區需要升級,哪些壓縮分區無需升級。步驟s421:備份舊壓縮分區的數據。步驟s422:對舊壓縮分區的數據進行解壓縮,得到舊固件中的該分區的數據。步驟s423:根據舊固件中的該分區的數據、以及該分區的差分數據還原出新固件中的該分區的數據。步驟s424:對新固件中的該分區的數據進行壓縮,得到新壓縮分區的數據。步驟s425:以新壓縮分區的數據替換掉舊壓縮分區的數據。步驟s426:刪除備份的舊壓縮分區的數據。重復步驟s421至步驟s426直至完成所有需要升級的壓縮分區的升級操作。

    8、進一步地,所述步驟s4中,所述以壓縮分區為單位升級固件具體包括如下子步驟。步驟s430:解析差分升級文件中的升級文件表,確定哪些壓縮分區需要升級,哪些壓縮分區無需升級。步驟s431:對舊壓縮分區的數據進行解壓縮,得到舊固件中的該分區的數據。步驟s432:根據舊固件中的該分區的數據、以及該分區的差分數據還原出新固件中的該分區的數據。步驟s433:對新固件中的該分區的數據進行壓縮,得到新壓縮分區的數據。步驟s434:備份新壓縮分區的數據。步驟s435:以新壓縮分區的數據替換掉舊壓縮分區的數據。步驟s436:刪除備份的新壓縮分區的數據。重復步驟s431至步驟s436直至完成所有需要升級的壓縮分區的升級操作。

    9、進一步地,所述步驟s4中,所述以壓縮分區為單位升級固件具體包括如下子步驟。步驟s440:解析差分升級文件中的升級文件表,確定哪些壓縮分區需要升級,哪些壓縮分區無需升級,同時判斷需要升級的壓縮分區是否變大,需要升級的壓縮分區后面是否還有其他壓縮分區;如果發現需要升級的壓縮分區m的體積變大,并且壓縮分區m后面還有壓縮分區n,則進入步驟s441。步驟s441:備份舊壓縮分區m的數據,同時根據新、舊壓縮分區m的體積差值δ備份舊壓縮分區n的靠前的δ大小的數據;分區n是緊鄰在分區m后面的一個分區;δ>0。步驟s442:對舊壓縮分區m的數據進行解壓縮,得到舊固件中的分區m的數據。步驟s443:根據舊固件中的分區m的數據、以及分區m的差分數據還原出新固件中的分區m的數據。步驟s444:對新固件中的分區m的數據進行壓縮,得到新壓縮分區m的數據。步驟s445:以新壓縮分區m的數據替換掉舊壓縮分區m的數據;在此過程中也會覆蓋掉舊壓縮分區n的靠前的δ大小的數據。步驟s446:判斷壓縮分區n是否需要升級,不需要則進入步驟s447;如果需要則將舊壓縮分區n去除了靠前的δ大小后剩余的數據和備份的舊壓縮分區n的靠前的δ大小的數據組合為完整的舊壓縮分區n的數據,隨后進入步驟s440,把步驟s440中的提到的壓縮分區m改為n,提到的壓縮分區n則改為n的下一個壓縮分區。步驟s447:將新壓縮分區m之后的全部數據向后偏移δ大小;此時新壓縮分區m之后的數據是:舊壓縮分區n去除了靠前的δ大小后剩余的數據、以及在舊壓縮分區n之后的各個舊壓縮分區的數據;這一步執行完畢后在新壓縮分區m之后、進行偏移的全部數據之前形成一個δ大小的空閑空間。步驟s448:將備份的舊壓縮分區n的靠前的δ大小的數據填充到所述δ大小的空閑空間;此時舊壓縮分區n的數據變得完整了。步驟s449:刪除備份的舊壓縮分區m的數據以及舊壓縮分區n的靠前的δ大小的數據。重復步驟s441至步驟s449直至完成所有需要升級的壓縮分區的升級操作。

    10、進一步地,所述步驟s4中,所述以壓縮分區為單位升級固件具體包括如下子步驟。步驟s450:解析差分升級文件中的升級文件表,確定哪些壓縮分區需要升級,哪些壓縮分區無需升級;同時判斷需要升級的壓縮分區是否變大,需要升級的壓縮分區后面是否還有其他壓縮分區;如果發現需要升級的壓本文檔來自技高網...

    【技術保護點】

    1.一種壓縮固件的空中升級方法,其特征是,包括如下步驟;

    2.根據權利要求1所述的壓縮固件的空中升級方法,其特征是,所述步驟S2中,所述壓縮分區的相關信息包括壓縮分區中非壓縮數據在電子設備的內存的運行地址和大小、壓縮后數據在電子設備的非易失性存儲器的存放地址和大小、壓縮后數據的校驗值。

    3.根據權利要求1所述的壓縮固件的空中升級方法,其特征是,所述步驟S3中,所述升級文件表記錄了哪些壓縮分區需要升級、哪些壓縮分區無需升級;如果新、舊壓縮固件中某個壓縮分區中的功能模塊無變化,則該分區不產生差分數據;只有新、舊壓縮固件中某個壓縮分區中的功能模塊有變化,則該分區才會產生差分數據。

    4.根據權利要求1所述的壓縮固件的空中升級方法,其特征是,所述步驟S3中,如果新壓縮固件比舊壓縮固件增加了功能模塊,則新壓縮固件新增壓縮分區用來存放新增的功能模塊。

    5.根據權利要求1所述的壓縮固件的空中升級方法,其特征是,所述步驟S4中,所述升級加載數據表具體包括如下子步驟;

    6.根據權利要求2所述的壓縮固件的空中升級方法,其特征是,所述步驟S4中,所述以壓縮分區為單位升級固件具體包括如下子步驟;

    7.根據權利要求2所述的壓縮固件的空中升級方法,其特征是,所述步驟S4中,所述以壓縮分區為單位升級固件具體包括如下子步驟;

    8.根據權利要求2所述的壓縮固件的空中升級方法,其特征是,所述步驟S4中,所述以壓縮分區為單位升級固件具體包括如下子步驟;

    9.根據權利要求2所述的壓縮固件的空中升級方法,其特征是,所述步驟S4中,所述以壓縮分區為單位升級固件具體包括如下子步驟;

    10.一種壓縮固件的空中升級系統,其特征是,包括分區劃分單元、分區壓縮單元、分區差分單元、分區升級單元;

    ...

    【技術特征摘要】

    1.一種壓縮固件的空中升級方法,其特征是,包括如下步驟;

    2.根據權利要求1所述的壓縮固件的空中升級方法,其特征是,所述步驟s2中,所述壓縮分區的相關信息包括壓縮分區中非壓縮數據在電子設備的內存的運行地址和大小、壓縮后數據在電子設備的非易失性存儲器的存放地址和大小、壓縮后數據的校驗值。

    3.根據權利要求1所述的壓縮固件的空中升級方法,其特征是,所述步驟s3中,所述升級文件表記錄了哪些壓縮分區需要升級、哪些壓縮分區無需升級;如果新、舊壓縮固件中某個壓縮分區中的功能模塊無變化,則該分區不產生差分數據;只有新、舊壓縮固件中某個壓縮分區中的功能模塊有變化,則該分區才會產生差分數據。

    4.根據權利要求1所述的壓縮固件的空中升級方法,其特征是,所述步驟s3中,如果新壓縮固件比舊壓縮固件增加了功能模塊,則新壓縮固件新增壓縮分區用來存放新增的功能模塊。

    【專利技術屬性】
    技術研發人員:石懷文黃永佳周進雷揚
    申請(專利權)人:翱捷科技股份有限公司
    類型:發明
    國別省市:

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

    1
    主站蜘蛛池模板: 亚洲AV无码专区国产乱码电影 | 无码中文2020字幕二区| 亚洲AV无码乱码在线观看富二代| 国产综合无码一区二区辣椒| 久久午夜夜伦鲁鲁片无码免费| 丰满少妇人妻无码专区| 国产精品无码成人午夜电影| 久久亚洲精品成人无码| 亚洲国产精品无码久久SM| 亚洲AV无码一区二区三区电影| 人妻少妇无码精品视频区| 亚洲国产成人精品无码区二本| 丰满熟妇人妻Av无码区| 亚洲成?Ⅴ人在线观看无码| 无码区日韩特区永久免费系列| 超清无码无卡中文字幕| 日韩视频无码日韩视频又2021| 亚洲av无码不卡久久| 无码精品A∨在线观看中文| 丰满日韩放荡少妇无码视频 | 久久久久亚洲精品无码网址色欲| 亚洲VA中文字幕无码一二三区 | 亚洲Av无码国产一区二区| 久久精品无码一区二区三区| 无码av大香线蕉伊人久久| 人妻无码久久精品人妻| 亚洲av无码专区在线观看下载| 91精品久久久久久无码 | 久久久久久99av无码免费网站| 人妻丰满熟妞av无码区| 无码内射中文字幕岛国片| 亚洲AV无码乱码在线观看富二代 | 精品无人区无码乱码毛片国产| 无码熟熟妇丰满人妻啪啪软件| 无码日本精品XXXXXXXXX| 亚洲成av人片天堂网无码】| 亚洲成a人无码亚洲成www牛牛| 高清无码中文字幕在线观看视频| 亚洲视频无码高清在线| 亚洲av无码专区首页| 无码人妻一区二区三区av|