国产精品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>

      固件壓縮方法、固件解壓方法和裝置的制造方法

      文檔序號(hào):8318954閱讀:682來(lái)源:國(guó)知局
      固件壓縮方法、固件解壓方法和裝置的制造方法
      【技術(shù)領(lǐng)域】
      [0001]本公開(kāi)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種固件壓縮方法、固件解壓方法和裝置。
      【背景技術(shù)】
      [0002]固件是指擔(dān)任著電子設(shè)備中最底層工作的軟件,用于保證電子設(shè)備的正常運(yùn)行。一般來(lái)說(shuō),電子設(shè)備的功能越復(fù)雜,電子設(shè)備所需的固件就會(huì)越大,也即存儲(chǔ)該固件所需的存儲(chǔ)空間也越大。
      [0003]為了減小固件在電子設(shè)備中占據(jù)的存儲(chǔ)空間,相關(guān)技術(shù)通常將固件作為一個(gè)整體進(jìn)行壓縮;當(dāng)電子設(shè)備需要運(yùn)行固件時(shí),電子設(shè)備對(duì)壓縮后的固件進(jìn)行解壓;然后根據(jù)解壓后的代碼段所對(duì)應(yīng)的第一解壓地址,將解壓得到的固件中的代碼段拷貝至該第一解壓地址;根據(jù)解壓后的數(shù)據(jù)段所對(duì)應(yīng)的第二解壓地址,將解壓后的數(shù)據(jù)段拷貝至該第二解壓地址。

      【發(fā)明內(nèi)容】

      [0004]本公開(kāi)提供了一種固件壓縮方法、固件解壓方法和裝置。所述技術(shù)方案如下:
      [0005]根據(jù)本公開(kāi)實(shí)施例的第一方面,提供一種固件壓縮方法,包括:
      [0006]獲取固件中的代碼段和數(shù)據(jù)段;
      [0007]對(duì)代碼段和數(shù)據(jù)段分別進(jìn)行壓縮;
      [0008]配置固件所對(duì)應(yīng)的第一信息段,第一信息段包括壓縮后的代碼段在電子設(shè)備中的第一地址信息、壓縮后的數(shù)據(jù)段在電子設(shè)備中的第二地址信息、壓縮后的代碼段在電子設(shè)備中所對(duì)應(yīng)的第一解壓地址以及壓縮后的數(shù)據(jù)段在電子設(shè)備中所對(duì)應(yīng)的第二解壓地址。
      [0009]可選地,獲取固件中的代碼段和數(shù)據(jù)段,包括:
      [0010]確定代碼段的第三存儲(chǔ)地址以及數(shù)據(jù)段的第四存儲(chǔ)地址;
      [0011]根據(jù)第三存儲(chǔ)地址讀取代碼段,根據(jù)第四存儲(chǔ)地址讀取數(shù)據(jù)段。
      [0012]可選地,確定代碼段的第三存儲(chǔ)地址以及數(shù)據(jù)段的第四存儲(chǔ)地址,包括:
      [0013]讀取固件所對(duì)應(yīng)的第二信息段;
      [0014]當(dāng)?shù)诙畔⒍沃写鎯?chǔ)有第三存儲(chǔ)地址和第四存儲(chǔ)地址時(shí),根據(jù)讀取到的內(nèi)容確定第三存儲(chǔ)地址和第四存儲(chǔ)地址;
      [0015]當(dāng)?shù)诙畔⒍沃写鎯?chǔ)有代碼段的起始存儲(chǔ)地址、代碼段的大小、數(shù)據(jù)段的起始存儲(chǔ)地址以及數(shù)據(jù)段的大小時(shí),根據(jù)讀取到的代碼段的起始存儲(chǔ)地址和代碼段的大小確定第三存儲(chǔ)地址,并根據(jù)讀取到的數(shù)據(jù)段的起始存儲(chǔ)地址和數(shù)據(jù)段的大小確定第四存儲(chǔ)地址。
      [0016]可選地,配置固件所對(duì)應(yīng)的第一信息段,包括:
      [0017]配置壓縮后的代碼段在電子設(shè)備中的第一存儲(chǔ)地址以及壓縮后的數(shù)據(jù)段在電子設(shè)備中的第二存儲(chǔ)地址,將第一存儲(chǔ)地址確定為第一地址信息,并將第二存儲(chǔ)地址確定為第二地址信息;或者,配置壓縮后的代碼段以及壓縮后的數(shù)據(jù)段在電子設(shè)備中分別對(duì)應(yīng)的起始存儲(chǔ)地址,獲取壓縮后的代碼段的大小和壓縮后的數(shù)據(jù)段的大??;將壓縮后的代碼段的起始存儲(chǔ)地址以及壓縮后的代碼段的大小確定為第一地址信息;將壓縮后的數(shù)據(jù)段的起始存儲(chǔ)地址以及壓縮后的代碼段的大小確定為第二地址信息;
      [0018]配置第一解壓地址以及第二解壓地址。
      [0019]可選地,配置固件所對(duì)應(yīng)的第一信息段,還包括:
      [0020]獲取代碼段的大小和數(shù)據(jù)段的大??;
      [0021]將代碼段的大小和數(shù)據(jù)段的大小存儲(chǔ)至第一信息段。
      [0022]可選地,對(duì)代碼段和數(shù)據(jù)段分別進(jìn)行壓縮,包括:
      [0023]將代碼段和數(shù)據(jù)段中的至少一個(gè)進(jìn)行拆分;
      [0024]若拆分后的代碼段包括m段,則對(duì)代碼段中的m段分別進(jìn)行壓縮,并對(duì)數(shù)據(jù)段進(jìn)行壓縮;
      [0025]若拆分后的數(shù)據(jù)段包括η段,則對(duì)代碼段進(jìn)行壓縮,并對(duì)數(shù)據(jù)段中的η段分別進(jìn)行壓縮;
      [0026]若拆分后的代碼段包括m段且拆分后的數(shù)據(jù)段包括η段,則對(duì)代碼段中的m段分別進(jìn)行壓縮,并對(duì)數(shù)據(jù)段中的η段分別進(jìn)行壓縮。
      [0027]根據(jù)本公開(kāi)實(shí)施例的第二方面,提供一種固件解壓方法,包括:
      [0028]讀取固件所對(duì)應(yīng)的第一信息段,第一信息段包括壓縮后的固件中的代碼段的第一地址信息、壓縮后的固件中的數(shù)據(jù)段的第二地址信息、壓縮后的代碼段所對(duì)應(yīng)的第一解壓地址以及壓縮后的數(shù)據(jù)段所對(duì)應(yīng)的第二解壓地址;
      [0029]根據(jù)第一地址信息獲取壓縮后的代碼段,根據(jù)第二地址信息獲取壓縮后的數(shù)據(jù)段;
      [0030]將壓縮后的代碼段解壓至第一解壓地址,將壓縮后的數(shù)據(jù)段解壓至第二解壓地址。
      [0031]可選地,根據(jù)第一地址信息獲取壓縮后的代碼段,根據(jù)第二地址信息獲取壓縮后的數(shù)據(jù)段,包括:
      [0032]根據(jù)第一地址信息確定第一存儲(chǔ)地址,根據(jù)第二地址信息確定第二存儲(chǔ)地址;
      [0033]從第一存儲(chǔ)地址中讀取壓縮后的代碼段,從第二存儲(chǔ)地址中讀取壓縮后的數(shù)據(jù)段。
      [0034]可選地,根據(jù)第一地址信息確定第一存儲(chǔ)地址,根據(jù)第二地址信息確定第二存儲(chǔ)地址,包括:
      [0035]若第一地址信息為第一存儲(chǔ)地址,第二地址信息為第二存儲(chǔ)地址,則根據(jù)讀取到的內(nèi)容確定第一存儲(chǔ)地址和第二存儲(chǔ)地址;
      [0036]若第一地址信息為壓縮后的代碼段的起始存儲(chǔ)地址以及壓縮后的代碼段的大小,第二地址信息為壓縮后的數(shù)據(jù)段的起始存儲(chǔ)地址以及壓縮后的數(shù)據(jù)段的大小,則根據(jù)壓縮后的代碼段的起始存儲(chǔ)地址以及大小確定第一存儲(chǔ)地址,根據(jù)壓縮后的數(shù)據(jù)段的起始存儲(chǔ)地址以及大小確定第二存儲(chǔ)地址。
      [0037]可選地,第一信息段中還包括壓縮前的代碼段的大小以及壓縮前的數(shù)據(jù)段的大小,方法還包括:
      [0038]計(jì)算壓縮前的代碼段以及壓縮前的數(shù)據(jù)段的總大?。?br>[0039]檢測(cè)總大小是否超過(guò)電子設(shè)備的固件運(yùn)行空間;
      [0040]若總大小超過(guò)固件運(yùn)行空間,則提示固件有誤。
      [0041]根據(jù)本公開(kāi)實(shí)施例的第三方面,提供一種固件壓縮裝置,包括:
      [0042]獲取模塊,被配置為獲取固件中的代碼段和數(shù)據(jù)段;
      [0043]壓縮模塊,被配置為對(duì)代碼段和數(shù)據(jù)段分別進(jìn)行壓縮;
      [0044]信息段配置模塊,被配置為配置固件所對(duì)應(yīng)的第一信息段,第一信息段包括壓縮后的代碼段在電子設(shè)備中的第一地址信息、壓縮后的數(shù)據(jù)段在電子設(shè)備中的第二地址信息、壓縮后的代碼段在電子設(shè)備中所對(duì)應(yīng)的第一解壓地址以及壓縮后的數(shù)據(jù)段在電子設(shè)備中所對(duì)應(yīng)的第二解壓地址。
      [0045]可選地,該獲取模塊,包括:
      [0046]地址確定子模塊,被配置為確定代碼段的第三存儲(chǔ)地址以及數(shù)據(jù)段的第四存儲(chǔ)地址;
      [0047]獲取子模塊,被配置為根據(jù)第三存儲(chǔ)地址讀取代碼段,根據(jù)第四存儲(chǔ)地址讀取數(shù)據(jù)段。
      [0048]可選地,該地址確定子模塊,包括:
      [0049]信息段讀取子模塊,被配置為讀取固件所對(duì)應(yīng)的第二信息段;
      [0050]第一確定子模塊,被配置為在第二信息段中存儲(chǔ)有第三存儲(chǔ)地址和第四存儲(chǔ)地址時(shí),根據(jù)讀取到的內(nèi)容確定第三存儲(chǔ)地址和第四存儲(chǔ)地址;
      [0051]第二確定子模塊,被配置為在第二信息段中存儲(chǔ)有代碼段的起始存儲(chǔ)地址、代碼段的大小、數(shù)據(jù)段的起始存儲(chǔ)地址以及數(shù)據(jù)段的大小時(shí),根據(jù)讀取到的代碼段的起始存儲(chǔ)地址和代碼段的大小確定第三存儲(chǔ)地址,并根據(jù)讀取到的數(shù)據(jù)段的起始存儲(chǔ)地址和數(shù)據(jù)段的大小確定第四存儲(chǔ)地址。
      [0052]可選地,該信息段配置模塊,包括:
      [0053]第一配置子模塊,被配置為配置壓縮后的代碼段在電子設(shè)備中的第一存儲(chǔ)地址以及壓縮后的數(shù)據(jù)段在電子設(shè)備中的第二存儲(chǔ)地址,將第一存儲(chǔ)地址確定為第一地址信息,并將第二存儲(chǔ)地址確定為第二地址信息;或者,配置壓縮后的代碼段以及壓縮后的數(shù)據(jù)段在電子設(shè)備中分別對(duì)應(yīng)的起始存儲(chǔ)地址,獲取壓縮后的代碼段的大小和壓縮后的數(shù)據(jù)段的大小;將壓縮后的代碼段的起始存儲(chǔ)地址以及壓縮后的代碼段的大小確定為第一地址信息;將壓縮后的數(shù)據(jù)段的起始存儲(chǔ)地址以及壓縮后的代碼段的大小確定為第二地址信息;
      [0054]第二配置子模塊,被配置為配置第一解壓地址以及第二解壓地址。
      [0055]可選地,該信息段配置模塊,還包括:
      [0056]大小獲取子模塊,被配置為獲取代碼段的大小和數(shù)據(jù)段的大小;
      [0057]大小存儲(chǔ)子模塊,被配置為將代碼段的大小和數(shù)據(jù)段的大小存儲(chǔ)至第一信息段。
      [0058]可選地,該壓縮模塊,包括:
      [0059]拆分子模塊,被配置為將代碼段和數(shù)據(jù)段中的至少一個(gè)進(jìn)行拆分;
      [0060]第一壓縮子模塊,被配置為在拆分后的代碼段包括m段時(shí),對(duì)代碼段中的m段分別進(jìn)行壓縮,并對(duì)數(shù)據(jù)段進(jìn)行壓縮;
      [0061]第二壓縮子模塊,被配置為在拆分后的數(shù)據(jù)段包括η段時(shí),對(duì)代碼段進(jìn)行壓縮,并對(duì)數(shù)據(jù)段中的η段分別進(jìn)行壓縮;
      [0062]第三壓縮子模塊,被配置為在拆分后的代碼段包括m段且拆分后的數(shù)據(jù)段包括η段時(shí),對(duì)代碼段中的m段分別進(jìn)行壓縮,并對(duì)數(shù)據(jù)段中的η段分別進(jìn)行壓縮。
      [0063]根據(jù)本公開(kāi)實(shí)施例的第四方面,提供一種固件解壓裝置,包括:
      [0064]信息段讀取模塊,被配置為讀取固件所對(duì)應(yīng)的第一信息段,第一信息段包括壓縮后的固件中的代碼段的第一地址信息、壓縮后的固件中的數(shù)據(jù)段的第二地址信息、壓縮后的代碼段所對(duì)應(yīng)的第一解壓地址以及壓縮后的數(shù)據(jù)段所對(duì)應(yīng)的第二解壓地址;
      [0065]獲取模塊,被配置為根據(jù)第一地址信息獲取壓縮后的代碼段,根據(jù)第二地址信息獲取壓縮后的數(shù)據(jù)段;
      [0066]解壓模塊,被配置為將壓縮后的代碼段解壓至第一解壓地址,將壓縮后的數(shù)據(jù)段解壓至第二解壓地址。
      [0067]可選地,該獲取模塊,包括:
      [0068]地址確定子模塊,被配置為根據(jù)第一地址信息確定第一存儲(chǔ)地址,根據(jù)第二地址信息確定第二存儲(chǔ)地址;
      [0069]獲取子模塊,被配置為從第一存儲(chǔ)地址中讀取壓縮后的代碼段,從第二存儲(chǔ)地址中讀取壓縮后的數(shù)據(jù)段。
      [0070]可選地,該地址確定子模塊,包括:
      [0071]第一確定子模塊,被配置為在第一地址信息為第一存儲(chǔ)地址,第二地址信息為第二存儲(chǔ)地址時(shí),根據(jù)讀取到的內(nèi)容確定第一存儲(chǔ)地址和第二存儲(chǔ)地址;
      [0072]第二確定子模塊,被配置為在第一地址信息為壓縮后的代碼段的起始存儲(chǔ)地址以及壓縮后的代碼段的大小,第二地址信息為壓縮后的數(shù)據(jù)段的起始存儲(chǔ)地址以及壓縮后的數(shù)據(jù)段的大小時(shí),根據(jù)壓縮后的代碼段的起始存儲(chǔ)地址以及大小確定第一存儲(chǔ)地址,根據(jù)壓縮后的數(shù)據(jù)段的起始存儲(chǔ)地址以及大小確定第二存儲(chǔ)地址。
      [0073]可選地,第一信息段中還包括壓縮前的代碼段的大小以及壓縮前的數(shù)據(jù)段的大小,該裝置還包括:
      [0074]計(jì)算模塊,被配置為計(jì)算壓縮前的代碼段以及壓縮前的數(shù)據(jù)段的總大??;
      [0075]檢測(cè)模塊,被配置為檢測(cè)總大小是否超過(guò)電子設(shè)備的固件運(yùn)行空間;
      [0076]提示模塊,被配置為在檢測(cè)模塊的檢測(cè)結(jié)果為總大小超過(guò)固件運(yùn)行空間時(shí),提示固件有誤。
      [0077]根據(jù)本公開(kāi)實(shí)施例的第五方面,提供一種固件壓縮裝置,包括:
      當(dāng)前第1頁(yè)1 2 3 4 5 6 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1