日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

差分升級(jí)方案(上)—全量升級(jí)vs差分升級(jí)的主要特點(diǎn)比較

小華半導(dǎo)體有限公司 ? 來(lái)源:小華半導(dǎo)體有限公司 ? 2024-01-18 17:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、需求源起

MCU固件升級(jí)可以通過(guò)編程器、調(diào)試器或其他設(shè)備輔助進(jìn)行操作,但這種升級(jí)方式主要應(yīng)用于產(chǎn)品研發(fā)評(píng)估及量產(chǎn)應(yīng)用階段。產(chǎn)品量產(chǎn)或設(shè)備部署后,若面對(duì)大規(guī)模設(shè)備升級(jí),把產(chǎn)品返廠做升級(jí)將面臨拆機(jī)、人工燒錄等繁瑣流程,費(fèi)時(shí)費(fèi)力。隨著物聯(lián)網(wǎng)的發(fā)展,越來(lái)越多的產(chǎn)品具備無(wú)線(xiàn)遠(yuǎn)程通信能力,產(chǎn)生了更多通過(guò)遠(yuǎn)程通訊接口進(jìn)行固件升級(jí)的需求。

2、升級(jí)步驟

固件升級(jí),就是當(dāng)前設(shè)備運(yùn)行的舊固件有系統(tǒng)漏洞或者要在現(xiàn)有設(shè)備添加新功能時(shí),將設(shè)備中的舊固件更新為新的固件,使設(shè)備運(yùn)行的程序滿(mǎn)足新的功能需求,從MCU內(nèi)部層面來(lái)看就是新固件覆蓋舊固件,如圖1所示。

89249be2-b5d8-11ee-8b88-92fbcf53809c.png

圖1固件升級(jí)示意圖

獲取新固件:通過(guò)NBIoT、WIFI、Bluetooth、LoRaZigBee等通信協(xié)議定期查詢(xún)新版本或者接收升級(jí)請(qǐng)求。

覆蓋舊固件:將新固件數(shù)據(jù)分塊寫(xiě)入舊固件所在Flash覆蓋舊固件。

3、全量升級(jí)

通常情況下,在MCU中運(yùn)行的具有升級(jí)功能的程序需要具備兩個(gè)可獨(dú)立運(yùn)行的程序,分別為BootLoader引導(dǎo)程序和實(shí)現(xiàn)產(chǎn)品功能的App應(yīng)用程序。一般情況下BootLoader程序燒錄后不會(huì)再更新,修復(fù)漏洞或者添加功能時(shí)升級(jí)的均為App應(yīng)用程序。Flash全量升級(jí)分區(qū)示意圖如圖2所示。固件可以通過(guò)App或者BootLoader進(jìn)行接收,如圖3所示。

8936d4ec-b5d8-11ee-8b88-92fbcf53809c.png

圖2Flash分區(qū)示意圖

894460a8-b5d8-11ee-8b88-92fbcf53809c.png

圖3 固件接收方式分類(lèi)

3.1 App接收固件

設(shè)備在運(yùn)行時(shí)App查詢(xún)到有新版本固件或者收到升級(jí)請(qǐng)求時(shí),先通過(guò)無(wú)線(xiàn)通信接口下載新的固件。一般有兩種方式更新固件:一種運(yùn)行App1時(shí),將新的固件分包接收并下載存至App2 Flash分區(qū),下載完成后跳轉(zhuǎn)至App2 分區(qū)運(yùn)行新的固件(MCU需要支持雙BANK運(yùn)行),升級(jí)示意圖如圖4所示;第二種跳轉(zhuǎn)Bootloader程序執(zhí)行固件遷移,將App2固件按塊寫(xiě)入App1 Flash分區(qū),待固件遷移無(wú)誤后再跳轉(zhuǎn)至App1 Flash分區(qū)運(yùn)行。

89574c5e-b5d8-11ee-8b88-92fbcf53809c.png

圖4 具有備份區(qū)的固件升級(jí)示意圖

3.2BootLoader接收固件

設(shè)備在運(yùn)行App時(shí)查詢(xún)到有新版本固件或者收到升級(jí)請(qǐng)求時(shí),跳轉(zhuǎn)Bootloader程序?qū)⑿碌墓碳职邮詹⑾螺d至App Flash分區(qū)。下載完成時(shí),舊固件被新固件覆蓋,然后再跳轉(zhuǎn)App Flash分區(qū)運(yùn)行,示意圖如圖5所示。

89658eea-b5d8-11ee-8b88-92fbcf53809c.png

圖5 單區(qū)固件升級(jí)示意圖

App與BootLoader接收固件都需要完整的下載新的固件包,即便新的固件相較于舊固件改動(dòng)量很小,往往MCU RAM資源有限,需要分包下載,每包數(shù)據(jù)必須正確無(wú)誤,如果有錯(cuò)誤或者遺漏則需要重新下載。升級(jí)過(guò)程中如果斷電,需要再次請(qǐng)求網(wǎng)絡(luò)重新下載新的固件包,所以整包升級(jí)下載時(shí)間較長(zhǎng),升級(jí)失敗風(fēng)險(xiǎn)較高。對(duì)一些電池供電的設(shè)備,下載時(shí)間越長(zhǎng)系統(tǒng)功耗越高。

4、差分升級(jí)

在服務(wù)器端基于差分算法將舊固件V1和新固件V2的差異進(jìn)行提取并應(yīng)用壓縮算法計(jì)算出差分包,將差分包由服務(wù)器端傳輸給MCU客戶(hù)端,再由差分解壓縮算法還原出新的固件V2,這樣的升級(jí)方式稱(chēng)為差分升級(jí),差分升級(jí)的示意圖如圖6所示。

8978e878-b5d8-11ee-8b88-92fbcf53809c.png

圖6 差分升級(jí)示意圖

一般差分算法核心思想為:對(duì)舊固件新固件文件做子字符串匹配或使用Hash技術(shù), 提取公共部分, 再將新固件文件中剩余的部分打包成差分包;在差分還原時(shí), 用復(fù)制和插入兩個(gè)基本操作將舊固件和差分包合成新固件。對(duì)于固件代碼較大而修改量較小的新固件,使用差分升級(jí)算法,差分包大小相較于新固件會(huì)明顯變小,無(wú)線(xiàn)升級(jí)時(shí)下載流量也會(huì)相應(yīng)大幅度降低。

6、差分升級(jí)vs全量升級(jí)

差分升級(jí)和全量升級(jí)各有各的優(yōu)點(diǎn)和適合應(yīng)用的領(lǐng)域,設(shè)計(jì)者在實(shí)際產(chǎn)品開(kāi)發(fā)中可根據(jù)不同應(yīng)用選擇不同的升級(jí)方式。例如,產(chǎn)品是電池供電,并且數(shù)據(jù)傳輸速率比較低,則要求產(chǎn)品升級(jí)時(shí)能夠盡可能減少數(shù)據(jù)量的傳輸,節(jié)約功耗,此時(shí)可優(yōu)先采用差分升級(jí)的方式。差分升級(jí)與全量升級(jí)的主要特點(diǎn)比較如圖7所示。

8996e0d0-b5d8-11ee-8b88-92fbcf53809c.png

圖7差分升級(jí)與全量升級(jí)的主要特點(diǎn)比較







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ZigBee技術(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    116

    瀏覽量

    43540
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1761

    瀏覽量

    155939
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1401

    瀏覽量

    121053
  • 電池供電
    +關(guān)注

    關(guān)注

    0

    文章

    461

    瀏覽量

    23359

原文標(biāo)題:差分升級(jí)方案(上)——全量升級(jí)vs差分升級(jí)

文章出處:【微信號(hào):小華半導(dǎo)體有限公司,微信公眾號(hào):小華半導(dǎo)體有限公司】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于MCU的分升級(jí)實(shí)現(xiàn)方案解析

    分升級(jí)又叫增量升級(jí),顧名思義就是通過(guò)分算法將源版本與目標(biāo)版本之間差異的部分提取出來(lái)制作成分包,然后在設(shè)備通過(guò)還原算法將差異部分在源版本
    的頭像 發(fā)表于 10-13 11:59 ?1.5w次閱讀
    基于MCU的<b class='flag-5'>差</b><b class='flag-5'>分升級(jí)</b>實(shí)現(xiàn)<b class='flag-5'>方案</b>解析

    請(qǐng)問(wèn)esp32是否支持分升級(jí)?

    我現(xiàn)在工程需要適配ota功能,但是鑒于固件體積較大,想請(qǐng)教下是否支持分升級(jí)?
    發(fā)表于 06-21 08:14

    如何構(gòu)建STM32L452RE的分升級(jí)能力?

    在STM32L452RE這顆MCU如何將艾拉比的分升級(jí)功能,移植入STM32L452RE的bootloader中,從而使STM32L452RE能夠擁有
    發(fā)表于 09-11 11:51

    AliOS Things 3.0 開(kāi)發(fā):OTA之差分升級(jí)快速上手

    升級(jí)快速上手查看詳情概要前面已經(jīng)介紹了AliOS Things 3.0 OTA的整包升級(jí)和壓縮升級(jí),本文將介紹AliOS Things 3.0版本的OTA
    發(fā)表于 10-18 09:57

    如何去實(shí)現(xiàn)基于單片機(jī)的分升級(jí)

    分算法有開(kāi)源的bsdiff,壓縮算法也有開(kāi)源的單片機(jī)就能用的,把這兩個(gè)結(jié)合起來(lái)放單片機(jī)里就可以實(shí)現(xiàn)分升級(jí)。由于上位機(jī)負(fù)責(zé)進(jìn)行分和壓縮的操作,而上位機(jī)沒(méi)有ram的限制,可以隨意。因
    發(fā)表于 11-19 06:14

    在單片機(jī)上實(shí)現(xiàn)分升級(jí)

    最近咨詢(xún)?nèi)绻趩纹瑱C(jī)上實(shí)現(xiàn)分升級(jí)的同學(xué)很多,因?yàn)樵创a目前不方便公開(kāi),所以有個(gè)想法是,向?qū)@塊比較感興趣的朋友提供基于各位所用編譯器的分算法庫(kù),方便各位做學(xué)習(xí)交流使用。有需要的歡迎提
    發(fā)表于 01-20 08:16

    探討一下基于STM32單片機(jī)的分升級(jí)算法

    DiffIAP應(yīng)用背景隨著目前物聯(lián)網(wǎng),車(chē)聯(lián)網(wǎng),智能設(shè)備的增多,需要遠(yuǎn)程升級(jí)設(shè)備程序的場(chǎng)景增多,以往的IAP升級(jí)和OTA升級(jí)都是整包升級(jí),bin文件過(guò)大導(dǎo)致
    發(fā)表于 02-14 06:02

    ESP32C3固件太大,OTA時(shí)有沒(méi)有方法做分升級(jí)?

    如題,esp32c3同時(shí)打開(kāi)BLE和WIFI的功能,固件都1MByte了,OTA時(shí)可以用分升級(jí)嗎。還有就是怎么優(yōu)化下固件大???
    發(fā)表于 02-15 08:02

    esp32是否支持分升級(jí)?

    我現(xiàn)在工程需要適配ota功能,但是鑒于固件體積較大,想請(qǐng)教下是否支持分升級(jí)?
    發(fā)表于 02-20 07:36

    基于MCU,如何零代碼無(wú)開(kāi)發(fā)實(shí)現(xiàn)OTA分升級(jí)?

    、工業(yè)等各個(gè)領(lǐng)域。在 MCU 的 OTA 升級(jí)方式,部分客戶(hù)實(shí)現(xiàn)方式為整包升級(jí),甚至很多 MCU 產(chǎn)品是裸跑,并且是不升級(jí)的,當(dāng)然這也和產(chǎn)品形態(tài)、功能特性、行業(yè)等
    的頭像 發(fā)表于 10-14 17:23 ?5857次閱讀
    基于MCU,如何零代碼無(wú)開(kāi)發(fā)實(shí)現(xiàn)OTA<b class='flag-5'>差</b><b class='flag-5'>分升級(jí)</b>?

    基于單片機(jī)的分升級(jí)

    分算法有開(kāi)源的bsdiff,壓縮算法也有開(kāi)源的單片機(jī)就能用的,把這兩個(gè)結(jié)合起來(lái)放單片機(jī)里就可以實(shí)現(xiàn)分升級(jí)。由于上位機(jī)負(fù)責(zé)進(jìn)行分和壓縮的操作,而上位機(jī)沒(méi)有ram的限制,可以隨意。因
    發(fā)表于 11-12 21:06 ?11次下載
    基于單片機(jī)的<b class='flag-5'>差</b><b class='flag-5'>分升級(jí)</b>

    基于STM32單片機(jī)的分升級(jí)(增量升級(jí))算法

    DiffIAP應(yīng)用背景隨著目前物聯(lián)網(wǎng),車(chē)聯(lián)網(wǎng),智能設(shè)備的增多,需要遠(yuǎn)程升級(jí)設(shè)備程序的場(chǎng)景增多,以往的IAP升級(jí)和OTA升級(jí)都是整包升級(jí),bin文件過(guò)大導(dǎo)致
    發(fā)表于 12-09 15:51 ?22次下載
    基于STM32單片機(jī)的<b class='flag-5'>差</b><b class='flag-5'>分升級(jí)</b>(增量<b class='flag-5'>升級(jí)</b>)算法

    啟明FOTA分升級(jí) 系統(tǒng)級(jí)解決方案

    “你的設(shè)備遠(yuǎn)程升級(jí)可以不再是升級(jí)整個(gè)固件。啟明提供了一套完整的分升級(jí)算法,升級(jí)固件更小、下載速度更快、大大降低網(wǎng)絡(luò)不穩(wěn)定造成傳輸失敗概率,
    的頭像 發(fā)表于 06-05 09:40 ?2716次閱讀
    啟明FOTA<b class='flag-5'>差</b><b class='flag-5'>分升級(jí)</b> 系統(tǒng)級(jí)解決<b class='flag-5'>方案</b>

    啟明FOTA分升級(jí) 系統(tǒng)級(jí)解決方案

    “你的設(shè)備遠(yuǎn)程升級(jí)可以不再是升級(jí)整個(gè)固件。啟明提供了一套完整的分升級(jí)算法,升級(jí)固件更小、下載速度更快、大大降低網(wǎng)絡(luò)不穩(wěn)定造成傳輸失敗概率,
    的頭像 發(fā)表于 06-09 09:46 ?2487次閱讀
    啟明FOTA<b class='flag-5'>差</b><b class='flag-5'>分升級(jí)</b> 系統(tǒng)級(jí)解決<b class='flag-5'>方案</b>

    ZDP1440系列小技巧—如何OTA分升級(jí)顯示素材?

    ZDP1440是一款基于開(kāi)源GUI引擎的圖像顯示專(zhuān)用驅(qū)動(dòng)芯片,支持U盤(pán)、SD卡本地升級(jí)UI固件,同時(shí)也支持通過(guò)UART/SPI方式進(jìn)行OTA升級(jí),本文將介紹如何OTA分升級(jí)顯示素材。
    的頭像 發(fā)表于 05-06 14:01 ?1861次閱讀
    ZDP1440系列小技巧—如何OTA<b class='flag-5'>差</b><b class='flag-5'>分升級(jí)</b>顯示素材?
    溆浦县| 顺昌县| 基隆市| 平潭县| 常熟市| 克什克腾旗| 栖霞市| 仁化县| 昭觉县| 星座| 滨州市| 紫云| 龙海市| 平乐县| 临泉县| 鹿邑县| 民县| 永靖县| 介休市| 屯留县| 黄大仙区| 靖州| 资阳市| 娄底市| 大关县| 肥城市| 城市| 平湖市| 丰都县| 博罗县| 措美县| 盐边县| 济阳县| 如皋市| 巴马| 寿光市| 历史| 永泰县| 赫章县| 海淀区| 温州市|