前言
剛開(kāi)始使用TC3xx芯片的時(shí)候,程序燒錄進(jìn)去后起不來(lái),一番咨詢后是因?yàn)闆](méi)有配置UCB導(dǎo)致的,然后刷了一個(gè)其他平臺(tái)項(xiàng)目的UCB文件后,程序正常起來(lái)了。本著刨根問(wèn)底的態(tài)度,今天就來(lái)一起學(xué)習(xí)TC3xx芯片的UCB。因?yàn)閁CB的配置內(nèi)容非常的多,本文以UCB中BMHD的配置為例詳細(xì)介紹通過(guò)UCB來(lái)配置符合用戶需求的BMHD,其他UCB的具體內(nèi)容的配置及分析思路可以參考本文。
正文
1.UCB的定義及其功能簡(jiǎn)介
UCB是User Configuration Block的簡(jiǎn)稱。TC3xx芯片提供了一塊23KB的Flash存儲(chǔ)空間用作UCB配置。每個(gè)UCB大小為512 Byte,總共有46個(gè)UCB配置項(xiàng),UCB的起始地址為0xAF400000,結(jié)束地址為0xAF405FFF。
TC3xx芯片在啟動(dòng)時(shí)會(huì)運(yùn)行固化在芯片內(nèi)部的名為SSW的軟件,SSW軟件在運(yùn)行時(shí)可以讀取用戶的配置信息來(lái)進(jìn)行特定化的啟動(dòng)操作,比如SSW運(yùn)行完后跳轉(zhuǎn)到客戶應(yīng)用程序的起始地址,RAM是否需要進(jìn)行初始化及冷啟動(dòng)還是熱啟動(dòng)后初始化等,是否需要進(jìn)行LBIST操作等。而這些可以讓用戶自定義的配置就是UCB的配置內(nèi)容。
也就是說(shuō),用戶可以通過(guò)配置UCB來(lái)影響SSW程序的執(zhí)行(比如跳轉(zhuǎn)的APP的起始地址),及完成芯片的特殊配置(比如使能HSM等)。
2.UCB_BMHD0_ORIN/COPY功能詳細(xì)分析
UCB的配置內(nèi)容很多,這里詳細(xì)介紹UCB_BMHD0_ORIN和UCB_BMHD0_COPY,起到拋磚引玉的作用,在分析其他UCB的時(shí)候可以參考。
UCB_BMHD0_ORIN和UCB_BMHD0_COPY用來(lái)配置Boot Mode Headers (BMHD),SSW程序在啟動(dòng)時(shí)會(huì)讀取UCB_BMHD0_ORIN和UCB_BMHD0_COPY配置信息進(jìn)行評(píng)估,然后執(zhí)行對(duì)應(yīng)的操作。UCB_BMHD0_ORIN和UCB_BMHD0_COPY的配置項(xiàng)目如下圖所示。
2.1 BMI_BMHD
BMI配置如下圖所示,BMI可以配置:
PINDIS: 是否可以通過(guò)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
BMHDID:固定為0xB359H
2.2 STAD
STAD: 如果是ABM啟動(dòng),則為Alternate Boot Mode Header的起始地址;如果為Internal 啟動(dòng),則為用戶程序的起始地址。
2.3 CRCBMHD
CRCBMHD: 是BMI+ BMHDID +STAD值的CRC32校驗(yàn)值
CRCBMHD_N:是BMI+ BMHDID +STAD反向值的CRC32校驗(yàn)值
2.4 Password
PW0-PW7: 給UCB_BMHD0_ORIN和UCB_BMHD0_COPY安裝(Install)密碼(Password),如果我們?cè)谶\(yùn)行時(shí)想要修改UCB_BMHD0_ORIN和UCB_BMHD0_COPY的內(nèi)容,需要通過(guò)Disable Protection指令傳入Password進(jìn)行match后才能修改。
例如:執(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ù)。
2.5 Confirmation
往Confirmation位域中寫入特定的值就能讓Confirmation處于:UNLOCKED, CONFIRMATION,ERASED,ERRORED四種狀態(tài)之一。
然后,UCB_BMHD0_ORIN和UCB_BMHD0_COPY中的Confirmation的狀態(tài)組合,就能決定SSW使用ORIN還是COPY中的配置數(shù)據(jù)。
3.UCB在項(xiàng)目中的使用
請(qǐng)關(guān)注本公眾號(hào)的后續(xù)文章。
4. 總結(jié)
. 通過(guò)配置UCB可以指導(dǎo)SSW程序的執(zhí)行及系統(tǒng)的相關(guān)配置
. UCB_BMHD_ORIN/COPY主要配置程序的啟動(dòng)模式,SSW程序結(jié)束后的跳轉(zhuǎn)地址,是否開(kāi)啟鎖步核及以及是否在SSW中執(zhí)行LBIST
. 讀者可以參照本文的分析思路來(lái)分析其他UCB_HSMCFG, UCB_PFLASH_ORIN/COPY等的配置選項(xiàng)
審核編輯:劉清
-
ABM
+關(guān)注
關(guān)注
0文章
3瀏覽量
7347 -
CRC32
+關(guān)注
關(guān)注
0文章
8瀏覽量
8261 -
Flash存儲(chǔ)
+關(guān)注
關(guān)注
0文章
38瀏覽量
8329
原文標(biāo)題:TC3xx芯片的UCB詳解
文章出處:【微信號(hào):汽車電子嵌入式,微信公眾號(hào):汽車電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論