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

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

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

一起學(xué)習(xí)TC3xx芯片的UCB文件

832065824 ? 來源:汽車電子嵌入式 ? 2023-06-13 09:05 ? 次閱讀

前言

剛開始使用TC3xx芯片的時候,程序燒錄進(jìn)去后起不來,一番咨詢后是因為沒有配置UCB導(dǎo)致的,然后刷了一個其他平臺項目的UCB文件后,程序正常起來了。本著刨根問底的態(tài)度,今天就來一起學(xué)習(xí)TC3xx芯片的UCB。因為UCB的配置內(nèi)容非常的多,本文以UCB中BMHD的配置為例詳細(xì)介紹通過UCB來配置符合用戶需求的BMHD,其他UCB的具體內(nèi)容的配置及分析思路可以參考本文。

正文

1.UCB的定義及其功能簡介

UCB是User Configuration Block的簡稱。TC3xx芯片提供了一塊23KB的Flash存儲空間用作UCB配置。每個UCB大小為512 Byte,總共有46個UCB配置項,UCB的起始地址為0xAF400000,結(jié)束地址為0xAF405FFF

9acdc012-0980-11ee-962d-dac502259ad0.png

TC3xx芯片在啟動時會運行固化在芯片內(nèi)部的名為SSW的軟件,SSW軟件在運行時可以讀取用戶的配置信息來進(jìn)行特定化的啟動操作,比如SSW運行完后跳轉(zhuǎn)到客戶應(yīng)用程序的起始地址,RAM是否需要進(jìn)行初始化及冷啟動還是熱啟動后初始化等,是否需要進(jìn)行LBIST操作等。而這些可以讓用戶自定義的配置就是UCB的配置內(nèi)容。

也就是說,用戶可以通過配置UCB來影響SSW程序的執(zhí)行(比如跳轉(zhuǎn)的APP的起始地址),及完成芯片的特殊配置(比如使能HSM等)。

9afd9d0a-0980-11ee-962d-dac502259ad0.png

2.UCB_BMHD0_ORIN/COPY功能詳細(xì)分析

UCB的配置內(nèi)容很多,這里詳細(xì)介紹UCB_BMHD0_ORIN和UCB_BMHD0_COPY,起到拋磚引玉的作用,在分析其他UCB的時候可以參考。

UCB_BMHD0_ORIN和UCB_BMHD0_COPY用來配置Boot Mode Headers (BMHD),SSW程序在啟動時會讀取UCB_BMHD0_ORIN和UCB_BMHD0_COPY配置信息進(jìn)行評估,然后執(zhí)行對應(yīng)的操作。UCB_BMHD0_ORIN和UCB_BMHD0_COPY的配置項目如下圖所示。

9b0b013e-0980-11ee-962d-dac502259ad0.png

2.1 BMI_BMHD

BMI配置如下圖所示,BMI可以配置:

PINDIS: 是否可以通過HWCFG pins外部配置Start-up mode

HWCFG:程序的Start-up mode選擇,比如配置為111B則SSW介紹后直接跳轉(zhuǎn)到Checker Software

LSENAx: 配置是否使能CPUx的Lockstep monitoring

LBISTENA: 配置是否在SSW執(zhí)行LBIST

CHSWENA:配置SSW程序結(jié)束后是否執(zhí)行CHSW

9b627f04-0980-11ee-962d-dac502259ad0.png

9bbf27ea-0980-11ee-962d-dac502259ad0.png

BMHDID:固定為0xB359H

2.2 STAD

STAD: 如果是ABM啟動,則為Alternate Boot Mode Header的起始地址;如果為Internal 啟動,則為用戶程序的起始地址

2.3 CRCBMHD

CRCBMHD: 是BMI+ BMHDID +STAD值的CRC32校驗值

CRCBMHD_N:是BMI+ BMHDID +STAD反向值的CRC32校驗值

2.4 Password

PW0-PW7: 給UCB_BMHD0_ORIN和UCB_BMHD0_COPY安裝(Install)密碼(Password),如果我們在運行時想要修改UCB_BMHD0_ORIN和UCB_BMHD0_COPY的內(nèi)容,需要通過Disable Protection指令傳入Password進(jìn)行match后才能修改。

9bd87556-0980-11ee-962d-dac502259ad0.png

9c098a74-0980-11ee-962d-dac502259ad0.png

例如:執(zhí)行

ST553CH, 0x00

ST.W 553CH, PW0

ST.W 553CH, PW1

ST.W 553CH, PW2

ST.W 553CH, PW3

ST.W 553CH, PW4

ST.W 553CH, PW5

ST.W 553CH, PW6

ST.W 553CH, PW7

就能Disable UCB_BMHD0_ORIN和UCB_BMHD0_COPY的寫保護(hù)。

9c3e2176-0980-11ee-962d-dac502259ad0.png

2.5 Confirmation

往Confirmation位域中寫入特定的值就能讓Confirmation處于:UNLOCKED, CONFIRMATION,ERASED,ERRORED四種狀態(tài)之一。

9c4d0632-0980-11ee-962d-dac502259ad0.png

然后,UCB_BMHD0_ORIN和UCB_BMHD0_COPY中的Confirmation的狀態(tài)組合,就能決定SSW使用ORIN還是COPY中的配置數(shù)據(jù)

9c7fb96a-0980-11ee-962d-dac502259ad0.png

3.UCB在項目中的使用

請關(guān)注本公眾號的后續(xù)文章。

4. 總結(jié)

. 通過配置UCB可以指導(dǎo)SSW程序的執(zhí)行及系統(tǒng)的相關(guān)配置

. UCB_BMHD_ORIN/COPY主要配置程序的啟動模式,SSW程序結(jié)束后的跳轉(zhuǎn)地址,是否開啟鎖步核及以及是否在SSW中執(zhí)行LBIST

. 讀者可以參照本文的分析思路來分析其他UCB_HSMCFG, UCB_PFLASH_ORIN/COPY等的配置選項





審核編輯:劉清

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

    關(guān)注

    0

    文章

    3

    瀏覽量

    7314
  • CRC32
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    8203
  • Flash存儲
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    8275

原文標(biāo)題:TC3xx芯片的UCB詳解

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

收藏 人收藏

    評論

    相關(guān)推薦

    如何通過SW編寫TC3X UCB?

    我正在嘗試學(xué)習(xí)如何通過 SW 編寫 TC3X UCB。 我知道這點非常重要,因為隨意擺弄 UCB 會導(dǎo)致 ECU 損壞。 我已經(jīng)學(xué)會了怎么
    發(fā)表于 05-31 06:31

    TSIM是否支持TC3xx系列在沒有硬件的情況下調(diào)試應(yīng)用程序?

    你好, TSIM是否支持TC3xx系列在沒有硬件的情況下調(diào)試應(yīng)用程序? AURIX TC3xx - Free Entry ToolChain 是否有助于實現(xiàn)上述目的?
    發(fā)表于 05-17 07:02

    TC3xx的HSM中有沒有單調(diào)計數(shù)器?

    你好, 我看到 OPTIGA 有單調(diào)計數(shù)器,但我在 TC3xx 的 HSM 中確實找不到單調(diào)計數(shù)器。 能否確認(rèn)TC3xx的HSM中沒有單調(diào)計數(shù)器?
    發(fā)表于 03-05 07:56

    深入解析TC3xx芯片中的SMU模塊應(yīng)用

    TC3xx芯片是德國英飛凌半導(dǎo)體公司推出的汽車級處理器芯片系列,其中的SMU(System Management Unit)模塊是其重要組成部分之。SMU模塊在
    的頭像 發(fā)表于 03-01 18:08 ?1544次閱讀

    GCC和TASKING有什么區(qū)別?應(yīng)該為AURIX? TC3xx選擇什么?

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

    TC3xx系列是否支持RTC功能?

    請教各位,TC3xx系列芯片是否支持RTC功能,目前要記錄snapshot的時間點(年月日時分秒)。
    發(fā)表于 02-02 07:53

    TC3xx系列怎么禁用trap?

    目前在TC3xx調(diào)試flash讀寫功能,單獨運行flash相關(guān)功能沒有問題,但將flash相關(guān)功能集成到工程中。操作pflash就會進(jìn)入trap中,查看了些帖子說是要禁掉trap?請問怎么禁用trap?目前沒找到相關(guān)函數(shù)
    發(fā)表于 01-31 06:21

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

    目前正在使用 Swap/Partitions 概念實現(xiàn) SOTA(TC3xx 系列)。 檢查為應(yīng)用程序和引導(dǎo)加載程序?qū)嵤?SOTA 的可行性。 1。對于兩個獨立的軟件,SOTA是否可行? 2。如果是
    發(fā)表于 01-30 07:56

    TC3XX寄存器讀寫時間過長怎么解決?

    我目前在做TC3XX底層代碼優(yōu)化,經(jīng)過之前多次測試目前可以確定該系列芯片對單個寄存器地址的讀寫耗時超過100us。請問對于寄存器讀寫耗時你們官方有沒有確切的文件說明?還有就是既然寄存器讀寫時間那么長100M的外設(shè)總線時鐘是否有意
    發(fā)表于 01-25 06:56

    Pflash恢復(fù)保護(hù)命令最終會在Aurix TC3xx控制器上重置目標(biāo)是為什么?

    我正在連接 T32 調(diào)試器的 Aurix TC3xx 控制器評估板上測試 Pflash 讀/寫保護(hù)機(jī)制,我配置了 UCB_pFlash 和 UCB 調(diào)試,我成功解鎖了 Pflash 保護(hù),然后嘗試再次鎖定保護(hù),最終進(jìn)入目標(biāo)重置。
    發(fā)表于 01-24 06:42

    TC3xx SCR功耗應(yīng)該怎么評估?

    TC3xx SCR處于70kHz active狀態(tài),以及CAN WAKE UP也處于active,Tricore都掉電了,這個時候功耗是多少呢?SCR中不同的組件激活狀態(tài)下,功耗應(yīng)該怎么評估,有沒有
    發(fā)表于 01-19 08:28

    tc3xx休眠時mcu pin可以是高阻態(tài)嗎?如何設(shè)置?

    tc3xx,休眠時mcu pin可以是高阻態(tài)嗎?如何設(shè)置?
    發(fā)表于 01-19 08:26

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

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

    TC3xx芯片時鐘系統(tǒng)的鎖相環(huán)PLL詳解

    的Tick數(shù)就是基于模塊時鐘的)。本系列文章就來詳細(xì)介紹TC3xx芯片的時鐘系統(tǒng)及其具體配置。本文為TC3xx芯片時鐘系統(tǒng)的鎖相環(huán)PLL詳解。
    的頭像 發(fā)表于 12-01 09:37 ?2292次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>時鐘系統(tǒng)的鎖相環(huán)PLL詳解

    TC3xx芯片的Endinit功能詳解

    為了提供系統(tǒng)的安全性能,TC3xx些重要的寄存器都受Endinit保護(hù),不能直接修改。如果想要修改這些重要寄存器,就需要先按特定步驟解鎖Endinit,然后才能修改這些重要的寄存器的值,最后還要
    的頭像 發(fā)表于 11-27 09:23 ?2008次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>的Endinit功能詳解