色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

在線升級 | 物聯(lián)網(wǎng)中的OTA升級原理

9GxC_IoTMaker ? 來源:未知 ? 2023-02-03 02:40 ? 次閱讀

最新的固件方式來看,可以分成以下幾類

01

OTA升級

1.1 概念

OTA:Over-the-Air Technology,即空中下載技術(shù)。

OTA升級:通過OTA方式實現(xiàn)固件或軟件的升級。

只要是通過無線通信方式實現(xiàn)升級的,都可以叫OTA升級,比如網(wǎng)絡(luò)/藍牙

通過有線方式進行升級,叫本地升級,比如通過UARTUSB或者SPI通信接口來升級設(shè)備固件。

1.2 優(yōu)點

1.通過OTA方式,可以對分布在各地的設(shè)備進行軟件升級,而不必讓運維人員各地奔波。

2.物聯(lián)網(wǎng)平臺支持通過OTA方式進行設(shè)備固件升級,是智能設(shè)備修復(fù)系統(tǒng)漏洞、實現(xiàn)系統(tǒng)升級的手段。

3.在迅速變化和發(fā)展的物聯(lián)網(wǎng)市場,新的產(chǎn)品需求不斷涌現(xiàn),因此對于智能硬件設(shè)備的更新需求就變得空前高漲,設(shè)備不再像傳統(tǒng)設(shè)備一樣一經(jīng)出售就不再變更。通過固件升級用戶提供更好的服務(wù)。

1.3 實現(xiàn)原理

核心流程:

1.制作升級包

2.下載升級包

3.驗簽升級包

4.更新程序


下載方式:

不管采用OTA方式還是有線通信方式升級,下載升級包的方式包括后臺式下載和非后臺式下載兩種模式。

后臺式下載:

在升級的時候,新固件在后臺悄悄下載,即新固件下載屬于應(yīng)用程序功能的一部分,在新固件下載過程中,應(yīng)用可以正常使用,也就是說整個下載過程對用戶來說是無感的,下載完成后,系統(tǒng)再跳到BootLoader程序,由BootLoader完成新固件覆蓋老固件的操作。比如智能手機升級Android或者iOS系統(tǒng)都是采用后臺式方式,新系統(tǒng)下載過程中,手機可以正常使用。

非后臺式下載:

在升級的時候,系統(tǒng)需要先從應(yīng)用程序跳入到BootLoader程序,由BootLoader進行新固件下載工作,下載完成后BootLoader繼續(xù)完成新固件覆蓋老固件的操作,至此升級結(jié)束。早先的功能機就是采用非后臺來升級操作系統(tǒng)的,即用戶需要先長按某些按鍵進入bootloader模式,然后再進行升級,整個升級過程中手機正常功能都無法使用。

新舊固件覆蓋模式:

新固件替換老固件覆蓋的兩種方式:雙區(qū)模式和單區(qū)模式。

雙區(qū)模式:

雙區(qū)模式中老固件和新固件在flash中各占一塊bank(存儲區(qū))。假設(shè)老固件放在bank0(運行區(qū))中,新固件放在bank1(下載區(qū))中,升級的時候,應(yīng)用程序先把新固件下載到bank1中,只有當(dāng)新固件下載完成并校驗成功后,系統(tǒng)才會跳入BootLoader程序,然后擦除老固件所在的bank0區(qū),并把bank1的新固件拷貝到bank0中。

后臺式下載必須采用雙區(qū)模式進行升級。

優(yōu)點:升級過程中出現(xiàn)問題或者新固件有問題,它還可以選擇之前的老固件老系統(tǒng)繼續(xù)執(zhí)行而不受其影響。

缺點:多占用flash空間的一個存儲區(qū),在系統(tǒng)資源比較緊張的時候較為困難。


單區(qū)模式:

單區(qū)模式的非后臺式下載只有一個bank0(運行區(qū)),老固件和新固件共享這一個bank0。升級的時候,進入bootloader程序后先擦除老固件,然后直接把新固件下載到同一個bank中,下載完成后校驗新固件的有效性,新固件有效升級完成,否則要求重來。

優(yōu)點:

跟雙區(qū)模式相比,單區(qū)模式節(jié)省了Flash空間的一個bank,在系統(tǒng)資源比較緊張的時候,單區(qū)模式是一個不錯的選擇。

缺點:

如果升級過程中出現(xiàn)問題或者新固件有問題,單區(qū)模式碰到這種情況就只能一直待在bootloader中,然后等待再次升級嘗試,此時設(shè)備的正常功能已無法使用,從用戶使用這個角度來說,可以說此時設(shè)備已經(jīng)“變磚”了。

相比較,雙區(qū)模式雖然犧牲了很多存儲空間,但是換來了更好的升級體驗。



02

MCU OTA升級

以MCU(微控制器)固件升級為例,講解嵌入式裸機程序的OTA升級。由于裸機固件是固化在設(shè)備的存儲器(如flash)中,即存儲器中保存的是機器碼,對MCU進行OTA固件升級,也就是要實現(xiàn)通過OTA方式將存儲器中舊固件的機器碼替換為新固件的機器碼。


數(shù)字簽名

簽名:

A給B發(fā)送消息,A先計算出消息的消息摘要,然后使用自己的私鑰加密消息摘要,被加密的消息摘要就是簽名。

驗簽:

B收到消息后,也會使用和A相同的方法計算消息摘要,然后用A的公鑰解密簽名,并與自己計算出來的消息

摘要進行比較,如果相同則說明消息是A發(fā)送給B的,同時,A也無法否認自己發(fā)送消息給B的事實。

(B使用A的公鑰解密簽名文件的過程,叫做"驗簽")


密碼學(xué)基礎(chǔ)概念:

1.什么是消息摘要?

2.什么是非對稱加解密?私鑰與公鑰?

3.什么是數(shù)字簽名?


數(shù)字簽名的作用:保證數(shù)據(jù)完整性,機密性和發(fā)送方角色的不可抵賴性。

消息摘要函數(shù):MD4、MD5、SHA-1、SHA-256、SHA-384、SHA-512

數(shù)字簽名算法:RSA、Rabin方式、ElGamal方式、DSA


2.1 制作升級包

通過簽名工具使用簽名算法對固件進行數(shù)字簽名,簽名后的文件即為升級包。

升級包的內(nèi)容一般包括firmware、header和signature value。

Firmware:固件

Header:頭部信息。存放配置信息,如版本號、產(chǎn)品類型等。

Signature value:簽名值。對firmware和header簽名后的值。


簽名工具:上位機軟件,能計算固件的簽名值,并將固件打包為升級包的格式。

固件簽名:上位機軟件先計算整個固件的消息摘要,使用非對稱密碼的私鑰對摘要進行加密,被加密后的消息摘要數(shù)據(jù)就是簽名值。

固件簽名的意義:

計算hash值可以識別固件是否被篡改和偽裝,確保固件的完整性。

使用非對稱秘鑰簽名方便后續(xù)驗證升級包身份的合法性。


2.2 下載升級包

根據(jù)上位機軟件和MCU設(shè)備約定的通信協(xié)議,上位機軟件將升級包通過OTA方式發(fā)送給MCU設(shè)備,

MCU設(shè)備收到數(shù)據(jù)后,根據(jù)通信協(xié)議解析出升級包的數(shù)據(jù),并將升級包的數(shù)據(jù)保存到存儲器中。


通信協(xié)議的作用:

通訊雙方約定俗成地用于數(shù)據(jù)交流的格式。

下載的方式:

1.在應(yīng)用程序中下載:后臺式

2.在BootLoader中下載:非后臺式


2.3 驗簽升級包

MCU設(shè)備接收完所有的升級包后,先計算升級包中固件的摘要,然后使用非對稱秘鑰的

公鑰解密升級包的簽名值,如果解密出來的固件摘要與自己計算的摘要相同,則驗簽成功。


2.4 更新固件

驗簽成功保證了固件的完整性和合法性后,MCU設(shè)備從應(yīng)用程序進入BootLoader程序,在BootLoader程序中將flash中的新固件數(shù)據(jù)搬運到舊固件的存儲區(qū),將其覆蓋。然后BootLoader程序啟動固件運行,此時固件為新固件。


flash固件數(shù)據(jù)更新:擦除flash,寫flash。


03

Linux OTA升級


Linux系統(tǒng)的組成:

主要由三大部分組成,包括uboot(引導(dǎo)啟動程序)、kernel(內(nèi)核)和rootfs(根文件系統(tǒng))。


三者在flash中的分區(qū)如下:

應(yīng)用程序存放于rootfs。


Linux系統(tǒng)的啟動流程:

3.1 系統(tǒng)升級

Linux系統(tǒng)由ubootkernel ootfs三大部分組成,對Linux系統(tǒng)進行升級,也就是對flash中這三個分區(qū)的數(shù)據(jù)進行更新替換。

由于ubootkernel ootfs在flash分區(qū)中是以二進制數(shù)據(jù)存儲的,與MCU固件在flash中存的是二進制數(shù)據(jù)一樣,包括ubootkernel ootfs的升級文件也是以二進制數(shù)方式直接寫入到對應(yīng)的Flash分區(qū)。其升級方式與MCU固件的升級原理基本是一致的。

一般可在uboot中下載升級包來升級ubootkernel ootfs ,與MCU在BootLoader程序中完成升級類似。

3.2 應(yīng)用程序升級

在Linux系統(tǒng)中,應(yīng)用程序是存放在文件系統(tǒng)中,并以可執(zhí)行程序文件的方式存在,其在系統(tǒng)中就是文件,這與MCU固件存放在flash分區(qū)的方式不同。

應(yīng)用程序的升級流程與MCU固件、Linux系統(tǒng)升級基本一致。應(yīng)用程序的升級除了可以升級可執(zhí)行文件外,還可以升級配置文件等。

應(yīng)用程序升級流程:

制作升級包(打包簽名工具)、下載升級包(下載工具)、升級包驗簽、程序更新

與MCU OTA升級區(qū)別:

制作升級包:將應(yīng)用程序相關(guān)的文件(可執(zhí)行程序、庫文件、配置文件等)打包為壓縮包

作為一個整體再進行簽名。

升級包下載和驗簽通過后,將壓縮包解壓,可以得到應(yīng)用程序的相關(guān)文件。

應(yīng)用程序的更新,可以通過啟動應(yīng)用程序的程序來更新,如啟動腳本、啟動程序,類似MCU升級的BootLoader程序作用。

更新方式:

1.直接覆蓋舊程序;

2.保留舊程序,執(zhí)行新程序;

直接覆蓋舊程序:


保留舊程序,執(zhí)行新程序:

pingpong操作


04

總結(jié)

OTA升級的核心:




原文標題:在線升級 | 物聯(lián)網(wǎng)中的OTA升級原理

文章出處:【微信公眾號:機智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    2

    文章

    587

    瀏覽量

    26392

原文標題:在線升級 | 物聯(lián)網(wǎng)中的OTA升級原理

文章出處:【微信號:IoTMaker,微信公眾號:機智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    OTA升級】無需數(shù)據(jù)線,一條命令即可完成固件升級

    OTA無線升級過程視頻演示:OTA介紹OTA(Over-The-Air,空中升級)是一種通過無線通信技術(shù)實現(xiàn)遠程更新設(shè)備固件或軟件的方法。設(shè)
    的頭像 發(fā)表于 12-11 01:00 ?405次閱讀
    【<b class='flag-5'>OTA</b><b class='flag-5'>升級</b>】無需數(shù)據(jù)線,一條命令即可完成固件<b class='flag-5'>升級</b>!

    聯(lián)網(wǎng)的Fota是什么,如何使用HTTP來給設(shè)備升級

    一 概述 FOTA(Firmware Over-The-Air)移動終端的空中下載軟件升級,指通過云端升級技術(shù),為具有連網(wǎng)功能的設(shè)備提供固件升級服務(wù)。在
    的頭像 發(fā)表于 09-25 14:35 ?602次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>中</b>的Fota是什么,如何使用HTTP來給設(shè)備<b class='flag-5'>升級</b>

    OTA升級后重啟,printf日志錯誤的原因?

    OTA升級后重啟,printf日志錯誤。
    發(fā)表于 07-18 06:26

    ESP8266 OTA升級失敗的原因?

    我正在使用自定義服務(wù)器來升級 esp8266。我可以從服務(wù)器下載圖像,但總是升級失敗。 我將以下.bin文件下載到閃存(下載前,我擦除整個閃存): ------------ 2 MByte
    發(fā)表于 07-11 07:45

    ESP8266 OTA升級不成功的原因?

    我正在使用最新的 RTOS SDK 版本 1.5 ESP8266。我使用自定義服務(wù)器進行OTA升級。 有時 OTA 升級成功,有時即使閃爍了正確的圖像,
    發(fā)表于 07-10 06:14

    如何在ESP8266上運行OTA升級

    在 ESP8266 (ESP-12F) 上運行 OTA 升級
    發(fā)表于 07-10 06:13

    esp-ali-smartliving SDK功能OTA升級失敗的原因?

    ,使用阿里生活物聯(lián)網(wǎng)平臺OTA升級失敗,提示:Not digestSign key in json doc of OTA,如下圖 請問如何解決呢?
    發(fā)表于 06-28 08:50

    請問ESP32是否支持串口在線升級

    請問ESP32是否支持串口在線升級。對OTA升級例程進行修改,將http傳輸改為串口傳輸,是否可行。
    發(fā)表于 06-18 06:30

    ESP-IDF是否支持基于BLE的OTA升級

    節(jié)點需要切換到WiFi才能完成HTTP升級,ESP-IDF是否支持基于BLE的OTA升級
    發(fā)表于 06-12 07:49

    ESP-IDF4.4 OTA升級失敗的原因?

    ESP-IDF4.4 OTA 功能,在啟動OTA功能后下載固件過程中出現(xiàn)wifi無Internet訪問,然后很快網(wǎng)絡(luò)恢復(fù),需要等待很久后OTA升級失敗。
    發(fā)表于 06-06 08:19

    技術(shù)帖 | RK3568開發(fā)板的OTA升級教程

    說起OTA我們應(yīng)該都不陌生,它是一種可以為設(shè)備無損失升級系統(tǒng)的方式,能將新功能遠程部署到產(chǎn)品上。我們不僅可以通過網(wǎng)絡(luò)下載OTA升級包,也可以通過下載
    的頭像 發(fā)表于 04-20 08:01 ?1605次閱讀
    技術(shù)帖 | RK3568開發(fā)板的<b class='flag-5'>OTA</b><b class='flag-5'>升級</b>教程

    請問BlueNRG ota升級ota_sw_activation變量上電是隨機值嗎?

    最近在看BlueNRG ota升級代碼時有一個疑惑,ota_sw_activation變量是一個未初始化的值,按照ram特性上電應(yīng)該是一個隨機值,那么在
    發(fā)表于 03-13 08:29

    汽車ota升級有什么用 汽車ota功能有必要嗎

    以通過無線網(wǎng)絡(luò),將最新的軟件版本直接傳輸?shù)杰囕v,實現(xiàn)快速、簡便的升級。那么汽車OTA升級有什么用呢? 汽車OTA
    的頭像 發(fā)表于 02-18 14:39 ?1306次閱讀

    ota升級是什么意思 ota升級有什么用

    OTA(Over-the-Air)升級是指通過無線網(wǎng)絡(luò),將軟件、固件或系統(tǒng)的新版本傳輸?shù)街С值脑O(shè)備上進行更新和安裝的過程。這一技術(shù)廣泛應(yīng)用于手機、智能電視、汽車等各類智能設(shè)備。本文將詳細介紹
    的頭像 發(fā)表于 02-02 10:25 ?5499次閱讀

    深入了解聯(lián)網(wǎng)設(shè)備的OTA升級機制

    OTA(Over-The-Air,空中下載技術(shù))是一種無線傳輸技術(shù),用于在聯(lián)網(wǎng)設(shè)備之間進行遠程更新和配置。OTA指的是通過無線通信網(wǎng)絡(luò)來遠程更新或
    發(fā)表于 01-21 10:03 ?1860次閱讀
    深入了解<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>設(shè)備的<b class='flag-5'>OTA</b><b class='flag-5'>升級</b>機制
    主站蜘蛛池模板: 受被攻做到腿发颤高h文| 草柳最新地址| 亚洲黄色高清| 乌克兰美女x?x?y?y| 少妇的肉体AA片免费观看| 三级网站视频| 善良的小峓子2在钱免费中文字| 女人十八毛片水真多啊| 免费观看亚洲视频| 女朋友的妈妈在线观看| 欧美国产精品主播一区| 女教师二十三岁| 任你懆视频 这里只有精品| 啪啪后入内射日韩| 日本久久久免费高清| 任你躁国语自产二区在线播放 | GAY空少被体育生开菊| 99精品视频在线观看免费| 99久久久精品免费观看国产| AV无码九九久久| xlxx美女| 国产跪地吃黄金喝圣水合集| 国产乱码精品一区二区三区四川| 国产色播视频在线观看| 狠狠色狠狠色综合日日92 | vidosgratis tv少女| YIN荡的老师系列第6部分视频| 百度影音第四色| 国产成人精品综合久久久| 好男人WWW免费高清视频在线| 国产精品久久久久久久伊一| 成人免费观看www视频| CHINESE熟女老女人HD视频| 91久久99久91天天拍拍| 最近的2019中文字幕国语HD| 一个人免费观看HD完整版| 亚洲色图在线观看视频| 亚洲乱亚洲乱妇13p| 亚洲中文字幕乱倫在线| 亚洲欧美高清在线精品一区| 亚洲高清视频在线|