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

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

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

特斯拉的OTA升級步驟詳解

汽車電子設(shè)計 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師陳翠 ? 2018-09-24 09:07 ? 次閱讀

特斯拉的OTA升級過程大致可由幾個關(guān)鍵步驟描述。

1)OTA過程云端通過特斯拉自有的握手協(xié)議下發(fā)固件下載地址后,特斯拉中控屏上的cid-updater會從云端下載固件,進(jìn)行解密并校驗其完整性

通過類似于A/B Update的方式,車內(nèi)其他強(qiáng)運(yùn)算力的聯(lián)網(wǎng)組件(如IC、APE等)根據(jù)cid-updater提供的固件文件進(jìn)行升級。

CID-updater還會負(fù)責(zé)根據(jù)固件包中的目錄信息與車輛配置做比照,據(jù)此產(chǎn)生release.tgz文件,并和升級軟件boot.img一同提供給網(wǎng)關(guān)。然后網(wǎng)關(guān)執(zhí)行上述升級軟件,更新在網(wǎng)關(guān)上連接的二十余個ECU。

備注:Tesla的OTA機(jī)制中的一些關(guān)鍵文件,boot.img和release.tgz,負(fù)責(zé)向ECU提供固件。 這些文件無法直接在特斯拉服務(wù)器發(fā)布的更新包中找到,關(guān)于如何從特斯拉的服務(wù)器獲取更新包以及汽車方面的整個更新過程仍然不清楚,這個過程仍未公開。

1)整車企業(yè)的云端:握手和固件包(FIRMWARE BUNDLE)

特斯拉有一個OTA框架,完成OTA程序需要這些模塊:

Message box

Firmware gathering

Job management

大多數(shù)模塊放在CID上的QtCar和QtCarServer中,作為云代理的一部分。 一旦建立了可信通道,代理就會設(shè)置一個端口,遠(yuǎn)程服務(wù)器可以將消息直接推送到汽車。必要時將從服務(wù)器端消息框中提取未讀消息。 在OTA更新期間,這些代理主要用來傳遞信息,而不是執(zhí)行實際更新操作。

FOTA過程以消息開頭,開始的時候用帶有命令initiate_firmware_handshake的消息,收到消息后,代理會將握手命令發(fā)送到cid-updater,與服務(wù)器進(jìn)行握手。 握手期間需要執(zhí)行以下步驟:

cid-updater把整車的硬件配置字符串和package_signature一起發(fā)送到遠(yuǎn)程服務(wù)器,package_signature是根據(jù)整車ECU現(xiàn)有版本生成

整車企業(yè)的云端(固件服務(wù)器)將驗證該信息,根據(jù)當(dāng)前版本提供固件包(FIRMWARE BUNDLE),包括固件包的下載地址、校驗和和解密信息。 SquashFS包含除了Autopilot以外的其他所有ECU文件

固件包通過CDN加密渠道分發(fā),cid-updater會進(jìn)行下載、驗證和解密

一旦提供了合法固件,cid-updater根據(jù)汽車配置收集正確的文件,并將這些文件分發(fā)到汽車的ECU內(nèi)。 在OTA更新過程中,作業(yè)管理器負(fù)責(zé)向遠(yuǎn)程服務(wù)器報告當(dāng)前狀態(tài)和錯誤信息, 每個更新作業(yè)都有一個用于跟蹤使用情況的作業(yè)ID。

2)車輛端:以太網(wǎng)連接的ECU

中控臺和儀表盤是特斯拉車中兩個主要的更新組建,都有一個名為cid-updater和ic-updater的updater守護(hù)進(jìn)程,這些二進(jìn)制文件之間共享了一些代碼,但這兩個守護(hù)進(jìn)程的主要目的是不同的。

cid-updater負(fù)責(zé)在可靠的通信通道建立后與遠(yuǎn)程服務(wù)器通信,獲取固件包,并提供必要的文件和信息作為輔助服務(wù)器,

ic-updater則專注于更新儀表盤本身??蓪id-updater視為本地服務(wù)器,ic-updater視為遠(yuǎn)程代理。

cid-updater和ic-updater都有一個名為command_service_listener的服務(wù),此服務(wù)將打開一個端口,服務(wù)器可以執(zhí)行RPC直接調(diào)用代理上的函數(shù)。一旦準(zhǔn)備好所有內(nèi)容,代理將使用此服務(wù)獲取客戶端的更新代理。服務(wù)器使用以下過程控制遠(yuǎn)程代理:

1.遠(yuǎn)程單元將停止所有其他工作并準(zhǔn)備好gostaged,會嘗試下載目標(biāo)的文件包。

2.本地服務(wù)器啟動HTTP服務(wù)器并提供更新文件,文件準(zhǔn)備好后,將通知遠(yuǎn)程代理。

3.遠(yuǎn)程代理下載更新文件,下載文件并驗證其簽名后,更新程序?qū)⑦M(jìn)行分段

4.將更新文件刷入ECU,對于儀表盤來說

假設(shè)當(dāng)前在Part A運(yùn)行

將新的rootfs圖像和DTB刷入 Part B

將新的Kernal寫入Part B

將主引導(dǎo)鏈和恢復(fù)引導(dǎo)鏈切換到Part B

檢查引導(dǎo)鏈以確保下次引導(dǎo)是可接受的

完成所有這些操作后,設(shè)備將處于暫停和非活動狀態(tài)。

5.經(jīng)過最后的準(zhǔn)備工作后,設(shè)備將重新啟動:代理和服務(wù)器之間將持續(xù)連接,服務(wù)器可以獲得有關(guān)當(dāng)前更新狀態(tài)的最新信息

3)車輛端:網(wǎng)關(guān)轉(zhuǎn)換的CAN總線ECU

這些ECU的更新文件存儲在文件夾(squashfs-root)/ deploy / seed_artifacts_v2中 :boot.img、release_version.txt 、version_map2.tsv和Signed_metadata_map.tsv、internal_option_defaults.tsv、ECUNAME/, like esp/, gtw/ etc

boot.img文件在升級時運(yùn)行,并從release.tgz讀取固件文件。 boot.img包含一個簽名,在其原始EOF之后填充。 發(fā)送更新命令時,將檢查此簽名是否通過公鑰驗證。

Boot.img中的一個重要步驟是讀取固件包release.tgz,包含網(wǎng)關(guān)用來更新相應(yīng)ECU的所有文件,每個ECU只有一個固件文件。 從ECUNAME / PROVIDERID / ECUFWNAME.hex復(fù)制特定的固件文件。 在打包tar文件時,cid-updater從網(wǎng)關(guān)獲取ECU信息和汽車信息,并根據(jù)signed_metadata_map.tsv中的表選擇正確的PROVIDERID,文件格式如下:

以下是刷寫ECU的關(guān)鍵步驟:

1.制作固件包,cid-updater將從網(wǎng)關(guān)獲得最新的ECU硬件信息。對于每個ECU,cid-updater將搜索signed_metadata_map.tsv以查看哪條線與當(dāng)前汽車具有相同的Requirements字段。找到后,它會將PATH_TO_FILE中的文件復(fù)制到名為New_name的tar文件中。為了簡化更新包,cid-updater只會將signed_metadata_map.tsv中的相應(yīng)行復(fù)制到release.tgz中具有相同名稱的文件中。

2.根據(jù)更新模式,在SD卡中創(chuàng)建UPD文件, updater讀取此文件以了解其當(dāng)前狀態(tài)。

3.更新程序boot.img上傳到SD卡,并使用文件名重新啟動。

當(dāng)updater執(zhí)行時,未修改的boot.img將每個文件讀入內(nèi)存,使用signed_metadata_map.tsv中相應(yīng)行中的前幾個字段填充,并使用符號值和啟動時保存的公鑰驗證其簽名.IMG。更新程序一旦找到不正確的固件文件就會退出,更新將導(dǎo)致失敗。所有簽名和散列算法都使用帶有SHA512的Ed25519,并仔細(xì)選擇所有公鑰和常量。

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

    關(guān)注

    66

    文章

    6214

    瀏覽量

    126188
  • OTA
    OTA
    +關(guān)注

    關(guān)注

    7

    文章

    552

    瀏覽量

    34975

原文標(biāo)題:特斯拉的OTA升級過程

文章出處:【微信號:QCDZSJ,微信公眾號:汽車電子設(shè)計】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    “偽裝式”召回遭否,汽車OTA新規(guī)推安全升級

    特斯拉為汽車行業(yè)引入OTA遠(yuǎn)程升級以來,汽車的OTA也從基礎(chǔ)的零部件OTA逐步升級至整車
    的頭像 發(fā)表于 08-27 09:47 ?4467次閱讀

    OTA原理詳解

    云端OTA通知推送云端只會給當(dāng)時在線設(shè)備推送;對于當(dāng)時不在線,或者沒升級成功的設(shè)備,云端會每天推送一次。MCU OTA:包括下載、存儲、校驗、傳輸4個過程。下載、存儲、校驗同GAgent OT
    發(fā)表于 03-01 15:45

    OTA固件升級教程

    、進(jìn)入【服務(wù)】固件升級OTA)模塊,點擊【創(chuàng)建新固件】步驟二、固件信息填寫推送方式可選,同時增加軟硬件版本號字段。硬件版本號+軟件版本號+固件類型完全匹配視為同一系列固件,OTA
    發(fā)表于 03-01 18:31

    嵌入式OTA升級實現(xiàn)原理是什么

    目錄一、簡介1.1 概念1.2 優(yōu)點1.3 實現(xiàn)原理二、MCU OTA升級2.1 制作升級包2.2 下載升級包2.3 驗簽升級包2.4 更新
    發(fā)表于 12-14 07:24

    什么是在線OTA升級

    什么是在線OTA升級- OTA是Over-the-Air的簡寫,空中下載技術(shù)的意思。- OTA在線升級在日常消費(fèi)電子產(chǎn)品中很常見,比如手機(jī),
    發(fā)表于 12-22 07:44

    OTA升級方法

    簡介OTA升級是嵌入式設(shè)備幾乎都有的一項功能。對于簡單的設(shè)備來說,例如單片機(jī)設(shè)備,OTA升級需要將新的固件刷寫到FLASH上即可;對于高級一點的Linux設(shè)備來說,更加復(fù)雜,首先需要對
    發(fā)表于 01-25 08:12

    如何升級OTA

    如何升級OTA?
    發(fā)表于 02-14 06:27

    如何實現(xiàn)OpenHarmony的OTA升級

    ??墒褂肏CPAD-100開發(fā)板或DAYU200開發(fā)板驗證,patch已提供,其他開發(fā)板可能存在差異,請自行驗證。OTA升級步驟制作升級包(update_packaging_tools
    發(fā)表于 02-07 10:29

    CAROTA科絡(luò)達(dá)視角:從國內(nèi)車廠的OTA升級的實踐,聊聊汽車OTA升級的發(fā)展

    就在不久前,當(dāng)“山竹”臺風(fēng)橫掃廣東深圳的時候,特斯拉選擇給其用戶OTA升級了電池續(xù)航,著實讓他們感受到了作為特斯拉車主的優(yōu)越感;但估計更多的是讓國內(nèi)整車廠體會到圍觀者的無奈。 從第一款
    發(fā)表于 03-06 10:08 ?321次閱讀

    特斯拉將召回的Model Y用OTA升級來解決

    據(jù)外媒報道,特斯拉公司和美國高速公路交通安全管理局(NHTSA)證實,將在美國召回部分Model Y,原因是這些車輛的后剎車燈可能會出現(xiàn)故障。不過,這一問題可以通過一次簡單的OTA升級來解決。
    的頭像 發(fā)表于 10-20 15:01 ?2058次閱讀

    淺析汽車OTA(遠(yuǎn)程升級)的通信流量和安全測試問題

    在網(wǎng)聯(lián)化和軟件定義汽車兩大趨勢下,汽車OTA(遠(yuǎn)程升級)受到汽車業(yè)界越來越多的重視。據(jù)調(diào)研報告,多達(dá)383.8萬汽車支持不同程度的汽車OTA(遠(yuǎn)程升級)。
    的頭像 發(fā)表于 05-18 14:39 ?3175次閱讀
    淺析汽車<b class='flag-5'>OTA</b>(遠(yuǎn)程<b class='flag-5'>升級</b>)的通信流量和安全測試問題

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

    從最新的固件方式來看,可以分成以下幾類 0 1 OTA升級 1.1? 概念 OTA:Over-the-Air Technology,即空中下載技術(shù)。 OTA
    的頭像 發(fā)表于 02-03 02:40 ?1251次閱讀

    OTA是什么?OTA升級有何用?

    ota是什么?ota升級是什么意思?很多用智能手機(jī)的人應(yīng)該都會知道 ota是什么 ,而對于一些剛?cè)腴T的機(jī)友們,ROOT、刷機(jī)、越獄都比較熟悉,但OT
    的頭像 發(fā)表于 03-15 14:36 ?7203次閱讀

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

    從最新的固件方式來看,可以分成以下幾類01OTA升級1.1概念OTA:Over-the-AirTechnology,即空中下載技術(shù)。OTA升級
    的頭像 發(fā)表于 02-02 09:59 ?1348次閱讀
    在線<b class='flag-5'>升級</b> | 物聯(lián)網(wǎng)中的<b class='flag-5'>OTA</b><b class='flag-5'>升級</b>原理

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

    如何實現(xiàn)BLE OTA?什么叫DFU?如何通過UART實現(xiàn)固件升級?又如何通過USB實現(xiàn)固件升級?怎么保證升級的安全性?什么叫雙區(qū)(dual bank)DFU?什么叫單區(qū)(single
    的頭像 發(fā)表于 07-10 09:36 ?5151次閱讀
    <b class='flag-5'>詳解</b>藍(lán)牙空中<b class='flag-5'>升級</b>(BLE <b class='flag-5'>OTA</b>)原理與<b class='flag-5'>步驟</b>