伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

AURIX TC3XX系列最佳的SOTA方案

汽車ECU開發 ? 來源:汽車ECU開發 ? 2023-06-14 09:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01

什么是SOTA?

SOTA全稱是云端軟件升級(Software updates Over The Air),就是指在不連接燒寫器的情況下,通過CAN、UART或其它通訊方式,實現應用程序的更新。 在進行SOTA時,需要把舊的應用程序擦除,把新的應用程序寫入。常規的實現方式需要分別開發BootLoader程序和APP程序,MCU上電先運行BootLoader,BootLoader根據情況選擇是否跳轉到APP和是否進行程序更新。具體來說有以下幾種方式: 方案一:更新程序時,由APP接收更新數據并暫存于Flash,再將APP更新標志位置位;MCU重啟時,BootLoader檢查更新標志位,如有效,則擦除舊的APP,再將暫存于Flash的新APP數據寫入APP運行地址處。該方案的優點是更新數據的接收由APP完成,BootLoader不需要通訊協議棧,代碼量更小,且數據傳輸中斷時,原有APP不損壞。缺點是需要額外的Flash空間暫存更新數據。 方案二:BootLoader中內置通訊協議棧,更新時,先向MCU發送指令使其跳轉到BootLoader,之后先擦除舊APP,在接收新APP的同時直接將其寫入Flash的APP運行地址處。該方案的優點是不需要額外的Flash暫存數據,缺點是BootLoader代碼更復雜,且如果數據傳輸發生中斷,舊的APP將不能被恢復。該方案更適合Flash容量較小的MCU。 方案三:將方案一和方案二相結合,即在BootLoader程序中內置通訊協議棧,更新時,先向MCU發送指令使其跳轉到BootLoader,之后接收更新數據的時候,采用方案一的方法,先將數據暫存于Flash,待數據全部接收完成后再擦除舊的APP,寫入新的APP。該方案結合了方案一和方案二的優點,且能在沒有APP或APP損壞的狀態下實現程序更新。缺點是BootLoader代碼量更大,Flash空間占用更大。 方案四:在Flash中劃分出兩塊相同大小的區域,分為A區和B區,都用來存放APP,但同一時間下只有一個區的APP是有效的,分別設置一個標志位標識其有效性。初始狀態下先將APP寫入A區,更新的時候,將新的APP寫入B區,再把A區的APP擦除,同時更新兩個區的有效性標志位狀態。BootLoader中判斷哪個區的APP有效,就跳轉到哪個區運行。這種方法不需要重復拷貝APP數據,但最大的一個缺陷是AB區的APP程序運行地址不同,需要分別編譯,從而使得可應用性大大降低。 經過上面的分析,可以看出來每種方案都有其優缺點,對于Flash容量較小的MCU,通常采用方案二,因為沒有過多的空間暫存APP更新數據。但對于TC3XX這一類的MCU來說,Flash容量通常都很大,足夠用,所以通常要先把APP暫存下來再進行更新,防止數據傳輸中斷導致APP不可用。上面的方案一、三、四都能實現,但并不完美。TC3XX系列的SOTA機制更類似于方案四,但它的Flash支持兩種地址映射方式,從而使得APP編譯時不需要區分AB區,使用相同的地址即可,從而避免了方案四的硬傷,為我們提供了一種最佳的SOTA方案。

02

TC3XX的Flash地址映射方式

我們以TC397的Flash為例,用于存儲程序代碼的PFlash的標準地址映射方式(Standard Address Map)如下,表中PF0-PF5代表物理意義上的5塊Flash。 f72fb076-0a4e-11ee-962d-dac502259ad0.png 第二種地址映射方式被稱為 Alternate Address Map,如下表所示,標準模式下PF0-1的地址范圍現在被映射到了PF2-3,PF4的地址范圍被映射到了PF5。 f760a816-0a4e-11ee-962d-dac502259ad0.png

03

TC3XX的SOTA功能描述

當SOTA功能激活時,PFLash被劃分為兩部分,一部分用來存儲可執行代碼(active bank),另一部分可用來讀取和寫入(inactive bank)。當APP更新完畢后,兩個部分互換,即切換上面兩種地址映射方式。在標準模式下使用PF0-1和PF4作為active bank,后文稱作組A,在Alternate模式下使用PF2-3和PF5作為active bank,后文稱作組B,就可以實現上述方案四,且能寫入完全相同的APP程序,以相同的地址進行運行。 需要注意的是,所有NVM操作都是通過DMU使用PFLASH的物理系統地址執行的,也就是說,NVM操作總是使用標準的地址映射,而不管選擇使用哪種地址映射?!癗VM操作”是一個術語,用于任何針對FLASH的命令,如程序、擦除等,但不包括讀取和執行代碼。 有關SOTA地址映射的參數在Flash中的UCB(User Configuration Block)中進行配置,在UCB中配置后,只有當下次MCU復位的時候才會更新配置。

04

SOTA的配置參數

(1)SOTA Mode Enable 該參數決定是否開啟SOTA模式,在寄存器Tuning Protection Configuration中的SWAPEN進行配置,定義如下: f789b59e-0a4e-11ee-962d-dac502259ad0.pngf7b1d15a-0a4e-11ee-962d-dac502259ad0.png (2)Bank Swap 在UCB_SWAP區域中,對SOTA模式下使用哪種地址映射進行配置。 UCB_SWAP區域包含以下內容: f7e01574-0a4e-11ee-962d-dac502259ad0.png 其中最重要的是前四個,我們分別來看一下: ① MARKERLx (x=0-15) f7f66d38-0a4e-11ee-962d-dac502259ad0.pngf808b740-0a4e-11ee-962d-dac502259ad0.png MARKERL中的SWAP就是標記使用標準地址映射還是Alternate地址映射。 ② MARKERHx (x=0-15) f81e49fc-0a4e-11ee-962d-dac502259ad0.png MARKERH中存著與之相對應的MARKERLx.SWAP的入口地址,是用來做校驗的。 ③ CONFIRMATIONLx (x=0-15) f8431c64-0a4e-11ee-962d-dac502259ad0.png CONFIRMATIONL是確認代碼,要寫入固定的0x57B5327F,上面的MARKERLx.SWAP才有效。 ④ MARKERHx (x=0-15) f8740d92-0a4e-11ee-962d-dac502259ad0.png MARKERH中存著與之對應的 CONFIRMATIONLx.CODE的入口地址,也是用來做校驗的。 ?

05

SOTA的初始化配置

初始化狀態是使用標準地址映射,此時SOTA模式未啟用。按以下步驟啟用SOTA: ① 用燒寫器把APP燒寫進PFlash的組A地址處。 ② 向MARKERL0寫入0x00000055。 ③ 向MARKERH0寫入MARKERL0的系統地址。 ④ 向CONFERMATIONL0寫入0x57B5327F。 ⑤ 向CONFERMATIONH0寫入CONFERMATIONL0的系統地址。 ⑥ 將UCB_OTP0中SWAPEN標志位置為Enable。 ⑦ 重啟MCU。 經過上面的步驟,就事MCU進入了SOTA模式,其中步驟②-⑤是為了啟用標準地址映射。手冊中給了如下的流程圖供參考,其中一些加解密的步驟我這里省略了,暫時沒有詳細研究: f885e17a-0a4e-11ee-962d-dac502259ad0.png

06

SOTA的后續配置

上面說的是第一次啟用SOTA時的配置,下面我們就來看一下SOTA啟用后,進行APP更新的步驟: ① 將新的APP寫入PFlash中未激活的部分,即上文提到的Inactive Bank,并進行準確性校驗。 ② 如果新的APP被寫入組B,則向MARKERLx.SWAP寫入0x000000AA,啟用Alternate地址映射模式;如果新的APP被寫入組A,則向MARKERLx.SWAP寫入0x00000055,啟用標準地址映射模式。(x是0-15的值,從0開始向上遞增,由上文可知UCB_SWAP最多能存儲16組標志值,存滿后再擦除重新寫入。) ③ MARKERHx.ADDR、CONFIRMATIONLx.CODE和CONFIRMATIONHx.ADDR配置同上文。 ④ 向CONFIRMATIONL(x-1).CODE再次寫入0xFFFFFFFF,來使上一組UCB_SWAP值失效。向PFlash再次寫入全1的值不會導致PFlash操作錯誤。 手冊中給了下面這個流程圖供參考: f89ee148-0a4e-11ee-962d-dac502259ad0.png ? 以上就是Tricore TC3XX系列SOTA機制的介紹,我目前也只是看了手冊,還沒有實際運用過,有不正確的地方歡迎大家交流討論。 最后只要將此文章分享至朋友圈,集20個贊,截圖后臺發給小編,即可獲取下圖小編整理的一些TC3XX的資料。

f96babec-0a4e-11ee-962d-dac502259ad0.png

f981f03c-0a4e-11ee-962d-dac502259ad0.png
責任編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 軟件
    +關注

    關注

    69

    文章

    5343

    瀏覽量

    91744
  • APP
    APP
    +關注

    關注

    33

    文章

    1592

    瀏覽量

    76075
  • 程序
    +關注

    關注

    117

    文章

    3847

    瀏覽量

    85375
  • Aurix
    +關注

    關注

    1

    文章

    75

    瀏覽量

    11803

原文標題:AURIX TC3XX系列的SOTA機制詳解

文章出處:【微信號:eng2mot,微信公眾號:汽車ECU開發】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    英飛凌TC3XX系列多核MCU學習筆記(1)

    聲明:本文是在學習英飛凌 TC3XX系列多核 MCU 過程中整理的筆記,便于后期復習!
    發表于 09-19 09:54 ?4934次閱讀
    英飛凌<b class='flag-5'>TC3XX</b><b class='flag-5'>系列</b>多核MCU學習筆記(1)

    英飛凌TC3XX系列多核MCU學習筆記(3)

    TC3XX 系列屬于AURIX? 2G系列,AURIX? 2G系列
    發表于 09-19 10:00 ?4795次閱讀
    英飛凌<b class='flag-5'>TC3XX</b><b class='flag-5'>系列</b>多核MCU學習筆記(<b class='flag-5'>3</b>)

    英飛凌TC3xx系列安全管理單元的使用

    本篇文檔主要用來介紹英飛凌基于AURIX-2G TriCore 1.6.2架構的 TC3xx系列安全管理單元的使用。
    的頭像 發表于 12-07 09:29 ?4774次閱讀
    英飛凌<b class='flag-5'>TC3xx</b><b class='flag-5'>系列</b>安全管理單元的使用

    AURIX? TC3XX如何暫時僅啟用/禁用CAN中斷?

    你我使用的是 AURIX? TC3XX。 在 CAN ISR 處理期間,如何暫時僅啟用/禁用 CAN 中斷?
    發表于 01-18 06:47

    SWAP是否適用于兩個用于TC3xx系列控制器的獨立軟件?

    目前正在使用 Swap/Partitions 概念實現 SOTATC3xx 系列)。 檢查為應用程序和引導加載程序實施 SOTA 的可行性。 1。對于兩個獨立的軟件,
    發表于 01-30 07:56

    GCC和TASKING有什么區別?應該為AURIX? TC3xx選擇什么?

    GCC 和 TASKING 有什么區別? 我應該為 AURIX? TC3xx 選擇什么? 這將如何影響代碼的運行?
    發表于 03-01 10:09

    TSIM是否支持TC3xx系列在沒有硬件的情況下調試應用程序?

    你好, TSIM是否支持TC3xx系列在沒有硬件的情況下調試應用程序? AURIX TC3xx - Free Entry ToolChain 是否有助于實現上述目的?
    發表于 05-17 07:02

    英飛凌AURIX單片機TC3xx系列助力自動駕駛和電動交通發展

    2016年10月28日,為滿足自動駕駛汽車和電動車的市場需求,英飛凌科技股份公司(FSE: IFX / OTCQX: IFNNY)近日發布新一代 AURIX?單片機,即TC3xx,它是市場上同類器件中集成度最高的產品,實時性能是現有器件的
    發表于 11-07 13:51 ?3510次閱讀

    英飛凌AURIX單片機TC3xx系列助力電動交通發展

    為滿足自動駕駛汽車和電動車的市場需求,英飛凌科技股份公司近日發布新一代 AURIX?單片機,即TC3xx,它是市場上同類器件中集成度最高的產品,實時性能是現有器件的3倍。
    發表于 03-24 13:42 ?6222次閱讀

    關于英飛凌AURIX?單片機TC3xx系列的性能和應用

    英飛凌副總裁兼控制器業務總經理Peter Schaefer表示:“AURIX TC3xx系列器件將推進自動駕駛和電動汽車的發展。能夠推出新一代高性能多核單片機,我們頗感到自豪,它將設立新的性能標準,其性能、加密和安全功能全都符合
    的頭像 發表于 09-24 17:36 ?9448次閱讀

    英飛凌 AURIX 單片機 培訓文檔鏈接

    包括AURIX? -TC2xx Microcontroller TrainingAURIX? -TC3xx Microcontroller TrainingAURIX? TC2xx I
    發表于 12-03 16:06 ?20次下載
    英飛凌 <b class='flag-5'>AURIX</b> 單片機 培訓文檔鏈接

    英飛凌AURIX TC3xx和TRAVEO T2G系列微控制器介紹

    英飛凌市場領先的 AURIX TC3xx 和TRAVEO T2G 車用 MCU將率先支持Rust語言。雖然TRAVEO 使用的是 Rust 官方工具鏈和Arm Cortex-M 目標架構,但英飛凌的工具合作伙伴 HighTec EDV-Systeme 為
    發表于 06-20 15:07 ?2389次閱讀
    英飛凌<b class='flag-5'>AURIX</b> <b class='flag-5'>TC3xx</b>和TRAVEO T2G<b class='flag-5'>系列</b>微控制器介紹

    TC3xx芯片DMU介紹

    AUTOSAR架構圖下的Fls模塊對上(Fee)模塊提供統一的標準接口,但是具體的實現因不同的芯片而不一樣,Infineon公司的Fls模塊通過操作TC3xx芯片的DMU模塊實現Fls的功能。在具體
    的頭像 發表于 08-31 14:10 ?3934次閱讀
    <b class='flag-5'>TC3xx</b>芯片DMU介紹

    英飛凌AURIX? TC3xx安全應用套件快速上手

    英飛凌AURIX? TC3xx安全應用套件快速上手 在電子工程師的日常工作中,快速且有效地掌握新的硬件套件是一項必備技能。今天,我們就來探討一下英飛凌AURIX? TC3xx安全應用套
    的頭像 發表于 12-19 14:30 ?690次閱讀

    AURIX? TC3xx 電機控制電源板:設計解析與特性洞察

    AURIX? TC3xx 電機控制電源板:設計解析與特性洞察 一、引言 作為一名電子工程師,在電機控制領域不斷探索新的解決方案是我們的日常工作。今天要給大家介紹的 AURIX?
    的頭像 發表于 12-21 15:50 ?656次閱讀