chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

空中下載技術(shù)OTA升級的實(shí)現(xiàn)原理及過程

智能汽車電子與軟件 ? 來源:糖果Autosar ? 2023-01-04 09:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、簡介

1.1 概念

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

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

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

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

1.2 優(yōu)點(diǎn)

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

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

3.在迅速變化和發(fā)展的物聯(lián)網(wǎng)市場,新的產(chǎn)品需求不斷涌現(xiàn),因此對于智能硬件設(shè)備的更新需求就

變得空前高漲,設(shè)備不再像傳統(tǒng)設(shè)備一樣一經(jīng)出售就不再變更。通過固件升級用戶提供更好的服務(wù)。

1.3 實(shí)現(xiàn)原理

核心流程:

1.制作升級包

2.下載升級包

3.驗(yàn)簽升級包

4.更新程序

e6e70ee8-8ba1-11ed-bfe3-dac502259ad0.png

下載方式:

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

后臺式下載:

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

e6f44824-8ba1-11ed-bfe3-dac502259ad0.png

非后臺式下載:

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

e700c57c-8ba1-11ed-bfe3-dac502259ad0.png

新舊固件覆蓋模式:

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

雙區(qū)模式:

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

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

優(yōu)點(diǎn):

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

缺點(diǎn):

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

e70ee31e-8ba1-11ed-bfe3-dac502259ad0.png

單區(qū)模式:

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

優(yōu)點(diǎn):

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

缺點(diǎn):

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

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

e71f3dd6-8ba1-11ed-bfe3-dac502259ad0.png

二、MCU OTA升級

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

e72d3a76-8ba1-11ed-bfe3-dac502259ad0.png

數(shù)字簽名

簽名:

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

驗(yàn)簽:

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

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

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

e753f30a-8ba1-11ed-bfe3-dac502259ad0.png

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

1.什么是消息摘要?

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

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

數(shù)字簽名的作用:

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

消息摘要函數(shù):

MD4、MD5、SHA-1、SHA-256、SHA-384、SHA-512

數(shù)字簽名算法

RSA、Rabin方式、ElGamal方式、DSA

2.1 制作升級包

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

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

Firmware:固件

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

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

e78616c8-8ba1-11ed-bfe3-dac502259ad0.png

簽名工具:

上位機(jī)軟件,能計(jì)算固件的簽名值,并將固件打包為升級包的格式。

固件簽名:

上位機(jī)軟件先計(jì)算整個(gè)固件的消息摘要,使用非對稱密碼的私鑰對摘要進(jìn)行加密,

被加密后的消息摘要數(shù)據(jù)就是簽名值。

固件簽名的意義:

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

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

2.2 下載升級包

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

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

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

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

下載的方式:

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

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

2.3 驗(yàn)簽升級包

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

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

2.4 更新固件

驗(yàn)簽成功保證了固件的完整性和合法性后,MCU設(shè)備從應(yīng)用程序進(jìn)入BootLoader程序,

在BootLoader程序中將flash中的新固件數(shù)據(jù)搬運(yùn)到舊固件的存儲區(qū),將其覆蓋。

然后BootLoader程序啟動固件運(yùn)行,此時(shí)固件為新固件。

flash固件數(shù)據(jù)更新:

擦除flash,寫flash。

三、Linux OTA升級

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

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

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

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

e7904dfa-8ba1-11ed-bfe3-dac502259ad0.png

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

e79c24fe-8ba1-11ed-bfe3-dac502259ad0.png

3.1 系統(tǒng)升級

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

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

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

e7a78236-8ba1-11ed-bfe3-dac502259ad0.png

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)用程序升級流程:

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

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

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

作為一個(gè)整體再進(jìn)行簽名。

e7b39706-8ba1-11ed-bfe3-dac502259ad0.png

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

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

更新方式:

1.直接覆蓋舊程序;

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

直接覆蓋舊程序:

e7be8f76-8ba1-11ed-bfe3-dac502259ad0.png

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

pingpong操作

e7dd7378-8ba1-11ed-bfe3-dac502259ad0.png

四、總結(jié)

OTA升級的核心:

e7ead1b2-8ba1-11ed-bfe3-dac502259ad0.png

審核編輯:郭婷

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

    關(guān)注

    60

    文章

    8323

    瀏覽量

    279175
  • 無線通信
    +關(guān)注

    關(guān)注

    58

    文章

    4810

    瀏覽量

    146148
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1836

    瀏覽量

    98667

原文標(biāo)題:OTA升級的實(shí)現(xiàn)原理

文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    技術(shù)筆記 | Ubuntu 系統(tǒng) OTA 升級全流程詳解

    前言:在嵌入式系統(tǒng)設(shè)備管理中,OTA(Over-The-Air)升級實(shí)現(xiàn)設(shè)備遠(yuǎn)程維護(hù)、功能迭代的核心能力。本文基于Ubuntu系統(tǒng)環(huán)境,詳細(xì)拆解updateEngine工具的OTA
    的頭像 發(fā)表于 07-31 08:32 ?550次閱讀
    <b class='flag-5'>技術(shù)</b>筆記 | Ubuntu 系統(tǒng) <b class='flag-5'>OTA</b> <b class='flag-5'>升級</b>全流程詳解

    ESP32通過OTA無線局域網(wǎng)遠(yuǎn)程升級下載程序

    本文介紹了ESP32通過OTA無線局域網(wǎng)遠(yuǎn)程升級固件的基本方法
    的頭像 發(fā)表于 07-22 13:21 ?1162次閱讀
    ESP32通過<b class='flag-5'>OTA</b>無線局域網(wǎng)遠(yuǎn)程<b class='flag-5'>升級</b><b class='flag-5'>下載</b>程序

    藍(lán)牙空中升級(OTA)原理

    DFU,即通過空中無線方式實(shí)現(xiàn)設(shè)備固件升級。只不過大家為了方便起見,直接用OTA來指代固件空中升級
    發(fā)表于 07-21 14:50

    東風(fēng)日產(chǎn)N7開啟首次OTA升級

    近日,東風(fēng)日產(chǎn)舉辦“NI好 N7首次OTA升級發(fā)布會”,并宣布OTA升級即日開啟推送。
    的頭像 發(fā)表于 07-05 13:57 ?795次閱讀

    詳解藍(lán)牙空中升級(OTA)原理與步驟

    如何實(shí)現(xiàn)Bluetooth LE OTA?什么叫DFU?如何通過UART實(shí)現(xiàn)固件升級?又如何通過USB實(shí)現(xiàn)固件
    的頭像 發(fā)表于 07-04 09:56 ?3363次閱讀
    詳解藍(lán)牙<b class='flag-5'>空中</b><b class='flag-5'>升級</b>(<b class='flag-5'>OTA</b>)原理與步驟

    瑞薩電子MCU無感OTA升級功能介紹

    “零感知”的升級體驗(yàn)。本文以RX26T為例,拆解無感OTA實(shí)現(xiàn)思路、代碼框架與實(shí)測情況,幫助開發(fā)者在自家項(xiàng)目中快速落地。
    的頭像 發(fā)表于 05-15 14:36 ?1172次閱讀
    瑞薩電子MCU無感<b class='flag-5'>OTA</b><b class='flag-5'>升級</b>功能介紹

    有沒有大神使用cubeMX生成初始代碼開發(fā)實(shí)現(xiàn)通過USB(HID)進(jìn)行OTA升級功能的?

    求助,有沒有大神使用cubeMX生成初始代碼開發(fā)實(shí)現(xiàn)通過USB(HID)進(jìn)行OTA升級功能的
    發(fā)表于 04-22 13:35

    RK3568開發(fā)板OTA升級

    OTA(Over-The-Air)升級作為一種無損失的系統(tǒng)升級方式,能夠遠(yuǎn)程將新功能部署到產(chǎn)品上,極大地提高了設(shè)備的可維護(hù)性和可擴(kuò)展性。除了通過網(wǎng)絡(luò)直接下載
    的頭像 發(fā)表于 04-21 14:32 ?1069次閱讀
    RK3568開發(fā)板<b class='flag-5'>OTA</b><b class='flag-5'>升級</b>

    一文解鎖OTA遠(yuǎn)程升級方案!基于RK3562全國產(chǎn)平臺

    在設(shè)備維護(hù)成本高、用戶體驗(yàn)難提升的雙重難題下,OTA(Over-the-Air)空間下載技術(shù)的出現(xiàn),無疑成為破解困境的“金鑰匙”,它是一種通過無線網(wǎng)絡(luò)實(shí)現(xiàn)設(shè)備遠(yuǎn)程
    的頭像 發(fā)表于 04-07 10:15 ?817次閱讀
    一文解鎖<b class='flag-5'>OTA</b>遠(yuǎn)程<b class='flag-5'>升級</b>方案!基于RK3562全國產(chǎn)平臺

    淺談車規(guī)MCU (MGEQ1C064) OTA升級

    upgrade)即空中下載技術(shù),簡單來說,是通過外部方式(有線或無線)對產(chǎn)品進(jìn)行更新,而不是傳統(tǒng)的編程器刷入固件的方式。 隨著智能網(wǎng)聯(lián)汽車技術(shù)的飛速發(fā)展,OTA
    發(fā)表于 03-04 12:52

    OTA軟件升級管理系統(tǒng)

    OTA(Over-the-Air Technology,空中下載技術(shù))是通過空中下載的方式對車輛中的軟件進(jìn)行遠(yuǎn)程升級。經(jīng)緯恒潤
    的頭像 發(fā)表于 01-13 09:39 ?1492次閱讀
    <b class='flag-5'>OTA</b>軟件<b class='flag-5'>升級</b>管理系統(tǒng)

    比亞迪仰望U8迎來重磅OTA升級

    近日,仰望U8 迎來重磅OTA,仰望U8豪華版迎來V2.1.0 OTA大版本升級實(shí)現(xiàn)了19項(xiàng)功能新增,16項(xiàng)功能優(yōu)化;仰望U8越野玩家版迎來OTA
    的頭像 發(fā)表于 12-26 14:37 ?1113次閱讀

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

    OTA無線升級過程視頻演示:OTA介紹OTA(Over-The-Air,空中
    的頭像 發(fā)表于 12-11 01:00 ?4950次閱讀
    【<b class='flag-5'>OTA</b><b class='flag-5'>升級</b>】無需數(shù)據(jù)線,一條命令即可完成固件<b class='flag-5'>升級</b>!

    OTA無線更新技術(shù):一鍵升級系統(tǒng),隨時(shí)暢享FLIR最新技術(shù)

    手機(jī)換代迅速,系統(tǒng)更新頻繁,讓人不禁遐想:若熱像儀也能如此,檢測人員是否就能隨時(shí)掌握最新科技? 比如FLIR Ex Pro熱像儀的OTA無線更新技術(shù) ,它讓用戶的熱像儀輕松升級至最新版,確保用戶始終
    的頭像 發(fā)表于 12-03 15:34 ?925次閱讀
    <b class='flag-5'>OTA</b>無線更新<b class='flag-5'>技術(shù)</b>:一鍵<b class='flag-5'>升級</b>系統(tǒng),隨時(shí)暢享FLIR最新<b class='flag-5'>技術(shù)</b>!

    OTA測試暗箱的技術(shù)原理和應(yīng)用場景

    等新一代通信技術(shù)的不斷發(fā)展,OTA測試暗箱也在不斷更新和升級。例如,一些先進(jìn)的OTA測試暗箱已經(jīng)支持毫米波等高頻段的測試,并具備更高的測試精度和穩(wěn)定性。這些新型測試暗箱的應(yīng)用將進(jìn)一步推
    發(fā)表于 11-14 14:36