国产亚洲精品AA片在线观看,丰满熟妇HD,亚洲成色www成人网站妖精,丁香五月天婷婷五月天男人天堂

新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 如何實(shí)現(xiàn)基于英飛凌TRAVEO? T2G系列芯片的Dual Bank方案架構(gòu)實(shí)現(xiàn)OTA功能

如何實(shí)現(xiàn)基于英飛凌TRAVEO? T2G系列芯片的Dual Bank方案架構(gòu)實(shí)現(xiàn)OTA功能

作者: 時(shí)間:2025-04-22 來(lái)源:英飛凌 收藏

最近在 開發(fā)者論壇 中注意到,許多開發(fā)者都在討論和提問(wèn)關(guān)于如何實(shí)現(xiàn)基于? T2G系列芯片的OTA(Over-The-Air,遠(yuǎn)程升級(jí)技術(shù))更新應(yīng)用。為了幫助大家更好地基于? T2G系列芯片的Dual Bank方案架構(gòu)實(shí)現(xiàn)OTA功能,本文將簡(jiǎn)要介紹其原理,并提供相關(guān)的資源和示例代碼,希望能夠?yàn)榇蠹姨峁﹨⒖己蛶椭#ㄗ髡撸?a class="contentlabel" href="http://www.ljygm.com/news/listbylabel/label/英飛凌">英飛凌 Yang Jannie)

本文引用地址:http://www.ljygm.com/article/202504/469654.htm

OTA(Over-the-Air) 是一種通過(guò)無(wú)線通信協(xié)議遠(yuǎn)程更新設(shè)備固件的軟件更新方法,在現(xiàn)代智能汽車和聯(lián)網(wǎng)汽車的快速發(fā)展下,在汽車應(yīng)用中越來(lái)越受到重視。 通過(guò)OTA更新,設(shè)備制造商可以在設(shè)備部署后修復(fù)漏洞、添加新功能或優(yōu)化性能,而無(wú)需物理接觸設(shè)備。 它既可以提升用戶體驗(yàn)和安全性,又降低維護(hù)成本和環(huán)境影響做出貢獻(xiàn),為汽車行業(yè)的持續(xù)發(fā)展和創(chuàng)新提供了強(qiáng)大支持。

? T2G 系列支持雙區(qū)(Dual Bank)模式,允許RWW(Read While Write)功能。 Dual Bank 是一種支持OTA更新的存儲(chǔ)架構(gòu),它使用兩個(gè)獨(dú)立的存儲(chǔ)區(qū)來(lái)確保固件更新的可靠性和安全性。Dual bank技術(shù)通常涉及A/B分區(qū)機(jī)制,在OTA更新過(guò)程中,新固件會(huì)先被下載到備用分區(qū),下載完成后,系統(tǒng)會(huì)在下次啟動(dòng)時(shí)從新分區(qū)啟動(dòng)。客戶可以基于其特殊的dual bank 模式進(jìn)行相同位置的固件更新,提升了固件更新的靈活性和效率。

參考文檔

AN220242

AN229058

TRAVEO? T2G Dual Bank劃分

TRAVEO? T2G芯片的閃存分為Code Flash和Work Flash。

  • Code Flash用于存儲(chǔ)程序代碼, 即芯片的固件或軟件。

  • Work Flash用于存儲(chǔ)數(shù)據(jù), 即程序運(yùn)行時(shí)需要存儲(chǔ)的數(shù)據(jù),例如配置信息、日志數(shù)據(jù)等。

在Dual Bank模式下, Code Flash被劃分為兩個(gè)獨(dú)立存儲(chǔ)體(Logical Bank 0和Logical Bank 1),在不同mapping下,存儲(chǔ)體地址互換,以支持動(dòng)態(tài)重映射。以下圖CYT2B7芯片為例:

  • Mapping A :

    Logical Bank 0地址:

    0x1000_0000-0x1008_8000,

    Logical Bank 1地址:

    0x1200_0000-0x1208_8000

  • Mapping B :

    Logical Bank 0地址:

    0x1200_0000-0x1208_8000,

    Logical Bank 1地址:

    0x1000_0000-0x1008_8000

從上圖CYT2B7芯片的memory map可見,TRAVEO? T2G系列的code flash可以分成Single Bank 模式和Dual Bank 模式。通過(guò)配置 FLASHC_FLASH_CTL 寄存器的 MAIN_BANK_MODE 位與 MAIN_MAP 位實(shí)現(xiàn)對(duì)模式的控制。

  • MAIN_BANK_MODE位

    (FLASHC_FLASH_CTL[12]):

    置1啟用Dual Bank模式,置0返回Single Bank模式1。

  • MAIN_MAP位

    (FLASHC_FLASH_CTL[8]):
    僅在Dual Bank模式下有效,0選擇Mapping A,1選擇Mapping B

當(dāng)然,Work Flash也可配置為Single Bank模式或Dual Bank模式,可通過(guò) FLASHC_FLASH_CTL 寄存器的 WORK_BANK_MODE 位與 WORK_MAP 位進(jìn)行配置。需要注意的是這幾位在復(fù)位時(shí)都會(huì)被清除。ROM boot和flash boot不會(huì)改變這些配置。換句話說(shuō),TRAVEO? T2G系列MCU在 Arm ? Cortex ? -M0+應(yīng)用程序啟動(dòng)之前總是以Single Bank模式啟動(dòng)。應(yīng)用程序需要根據(jù)實(shí)際需求手動(dòng)配置Dual Bank功能。

TRAVEO? T2G Dual Bank模式優(yōu)勢(shì)

  1. 高可靠性: dual bank結(jié)構(gòu)允許在一個(gè)bank進(jìn)行更新的同時(shí),另一個(gè)bank繼續(xù)執(zhí)行當(dāng)前的固件。這種方式確保了更新過(guò)程中設(shè)備的正常運(yùn)行,避免了因更新失敗導(dǎo)致的系統(tǒng)崩潰。

  2. 無(wú)縫切換: 更新完成后,系統(tǒng)可以無(wú)縫切換到新固件,無(wú)需長(zhǎng)時(shí)間的停機(jī)或重啟過(guò)程。

  3. 容錯(cuò)能力: 如果在更新過(guò)程中出現(xiàn)問(wèn)題,系統(tǒng)可以回滾到舊版本固件,保證設(shè)備的穩(wěn)定性和可靠性。

  4. 減少停機(jī)時(shí)間: 由于更新可以在后臺(tái)進(jìn)行,設(shè)備的停機(jī)時(shí)間大大減少,提高了設(shè)備的可用性。

  5. 安全性: TRAVEO? T2G系列MCU配備硬件安全模塊,提供強(qiáng)大的加密和認(rèn)證機(jī)制,確保OTA更新的安全性和完整性。

更新固件實(shí)現(xiàn)流程

固件更新:

  1. 假設(shè)CM4/7用戶程序代碼運(yùn)行在Bank 0即處于Mapping A映射時(shí),接收到通過(guò)車輛局域網(wǎng)(如CAN FD或以太網(wǎng))發(fā)送的固件更新請(qǐng)求和數(shù)據(jù)。

  2. CM0+用戶程序開始擦除整個(gè)Bank 1的code flash區(qū)域和特定的work flash區(qū)域,其中work flash區(qū)域需要放置remap參數(shù),用于標(biāo)識(shí)下一次復(fù)位后需要設(shè)置Mapping A還是Mapping B,即最新程序存儲(chǔ)于bank 0還是bank 1中。在此示例中,將更新bank 1的code flash,故而下一次復(fù)位后將使用Mapping B。

  3. 完成flash擦除后,CM0+用戶程序?qū)⑾嗤腃M0+用戶程序代碼復(fù)制到Bank 1,并編程新的CM4/7用戶程序代碼。需要注意的是,以CYT2B7芯片為例,無(wú)論是運(yùn)行在Mapping A需要更新bank 1的程序還是運(yùn)行在Mapping B需要更新bank 0,更新地址皆處于0x1200_0000-0x1208_8000,而非0x1000_0000-0x1008_8000。

  4. 最后,CM0+更新work flash中的remap參數(shù),以便在下一次復(fù)位時(shí)切換應(yīng)用程序代碼。

系統(tǒng)啟動(dòng)與切換

  1. 在復(fù)位后,CM4/7和CM0+開始執(zhí)行ROM boot程序。CM4/7進(jìn)入等待中斷(WFI)狀態(tài),直到CM0+使能它。

  2. CM0+完成ROM boot和flash boot后,執(zhí)行其用戶程序代碼。在CM0+用戶程序配置FLASHC_FLASH_CTL 寄存器MAIN_BANK_MODE位為dual bank模式,并讀取work flash中的remap參數(shù)。

  3. 如果從work flash讀取的數(shù)據(jù)是預(yù)期值,CM0+會(huì)跳轉(zhuǎn)到SRAM代碼,然后通過(guò)設(shè)FLASHC_FLASH_CTL 寄存器的MAIN_MAP位將code flash 的mapping切換為“Mapping B”。需要注意的是,改變這一位將改變flash的映射,故必須將此部分切換mapping操作的代碼置于SRAM中執(zhí)行,而不能繼續(xù)在flash中執(zhí)行。

  4. 在完成切換操作后,code flash bank 0的地址將與code flash bank 1的地址交換。

  5. CM0+跳回到code flash中執(zhí)行程序并使能CM4/7。CM4/7和CM0+運(yùn)行程序地址不變,但此時(shí)執(zhí)行的已是bank 1中的新代碼。

請(qǐng)?jiān)L問(wèn)以下鏈接下載相關(guān)示例代碼:

  • TRAVEO? T2G SDL

  • TRAVEO? T2G Sample driver Library Code Examples

如果您在實(shí)現(xiàn)過(guò)程中遇到問(wèn)題,可以嘗試在社區(qū)中尋找答案,可能已經(jīng)有人提出了相同的困擾并得到了解決。

Community熱帖舉例:

  • 關(guān)于使用CYT4BB7CEBQ0AESGS切換bank總是死機(jī)問(wèn)題

  • MSP指針跳轉(zhuǎn)

  • CYT2B75-OTA-flash-driver

如果您還未曾使用過(guò)TRAVEO? T2G 系列芯片,可以點(diǎn)擊這里快速入門:

  • TRAVEO? T2G MCU初次使用者快速上手:編譯器IAR

  • TRAVEO? T2G MCU初次使用者快速上手:編譯器Green Hills

  • TRAVEO? T2G MCU初次使用者快速上手:編譯器GCC



關(guān)鍵詞: 英飛凌 TRAVEO

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉