TC3xx芯片啟動后會運行一段固件(Firmware)程序,這段固件程序會根據不同的復位類型(Cold Power-On Rest, Warm Power-On Reset, System Reset, Application Reset)將SMU, SCU, MTU模塊的一些寄存器設置到不同的固定值,如果芯片啟動后這些寄存器的值不等于預期的值說明我們的芯片可能發生了故障。ESM[SW]:SYS:MCU_FW_CHECK就是描述該Firmware Check的功能安全需求。FW Check的寄存器如下:
1.SMU
1)AGi(i=0-11)-Alarm Status Register
2.SCU
1)STMEM - Start-up Memory Register 2-6
2)LCLCON-Lockstep Comparator Logic Control Register 1 and 2
3.MTU
1)Memory ECC Detection Register (ECCD)
2)SSH Safety Faults Status Register(FAULSTS)
3)Error Information Register(ERRINFO)
本文就來梳理FW Check的需求并給出一些具體實現時需要注意的事項。
AUTOSAR BSW: Vector Davinci
MCAL: EB Infineon
HW Platform: TC3xx
Debug Tool: UDE
功能安全系列文章:
TC3xx芯片RAM ECC錯誤軟件調試
TC3xx芯片RAM的錯誤檢測
TC3xx芯片RAM監控機制的補充
如何監控TC3xx芯片PFlash的ECC錯誤
TC3xx芯片PFlash的ECC校驗問題補充
TC3xx芯片ROM ECC錯誤軟件調試
TC3xx芯片MPU介紹
TC3xx芯片的總線內存保護
TC3xx芯片ACCEN寄存器保護詳解
AUTOSAR架構下QM Application如何訪問ASIL Application
AUTOSAR架構下MCAL Modules軟件分區問題分析
內存分區設計及鏈接文件實現
AUTOSAR項目實戰(11)-AUTOSAR OS MPU配置及調試
EVADC功能安全需求及一些軟硬件設計注意事項
TC3xx芯片SMU FSP自檢原理和實現
【功能安全】ESM[SW]:SMU:ALIVE_ALARM_TEST原理及具體實現
FW-Check需求(AURIX TC3xx Safety Manual v1.11.pdf)




以下內容為FW Check需要關注的寄存器在不同Reset后的期望值。
TC38A - COLD POWER-ON RESET AFTER LBIST EXECUTION

TC38A - SYSTEM RESET

TC38A - APPLICATION RESET


STMEM寄存器的FW Check值存在于Infineon-AURIX_TC38x-UserManual-v02_00-EN.pdf文檔中。

FW Check軟件實現邏輯很簡單,就是根據不同的Reset去Check寄存器是否處于預期值即可。需要注意的是,軟件check的時候可能會出現誤判的情況,比如:
Case 1: AG0寄存器的bit0在我們Check的時候可能由于Debug Mode已經被置為1了(預期值是0,實際FW跑完后也是0,只不過由于Debug Mode將其置為1了),這個時候我們軟件進行FW Check的時候就可能誤判沒有達到預期值,FW Check失敗。
Case 2: AG8寄存器的bit5的預期值是1,但是LBIST會將bit5清0,如果不特殊處理同樣會存在誤判的情況。
所以我們在實現FW Check的軟件時需要根據自己ECU的實際情況By Pass一些寄存器位域的檢查,也就是一些已知的和預期值不一樣的寄存器位域就不要檢查了。
本文介紹了使用英飛凌芯片FW Check的需求和原理,這些工作不做也沒人知道,不過也就是這些看不到的安全相關的工作才是衡量一個產品做的好與不好的關鍵差異點,只不過現在這種行情下這些內容好像都被慢慢忽略了...
End
「汽車電子嵌入式在CSDN上同步推出AUTOSAR精進之路專欄,本專欄每個模塊完全按實際項目中開發及維護過程來詳細介紹。模塊核心概念介紹、實際需求描述、實際工程配置、特殊需求介紹及背后原理、實際工程使用經驗總結。 目的是讓讀者看完每一個章節后能理解原理后根據需求完成一個模塊的配置或者解決一個問題。」
點擊文章最后左下角的閱讀原文可以獲取更多信息
或者復制如下鏈接到瀏覽器獲取更多信息
https://blog.csdn.net/qq_36056498/article/details/132125693
文末福利
2.為便于技術交流,創建了汽車電子嵌入式技術交流群,可盡情探討AP,CP,DDS,SOME/IP等前沿熱點話題,后臺回復“加群”即可加入;
注:本文引用了一些第三方工具和文檔,若有侵權,請聯系作者刪除!
推薦閱讀
汽車電子嵌入式精彩文章匯總第一期:20210530-20230703
汽車電子嵌入式精彩文章匯總第2期
汽車電子嵌入式精彩文章匯總第3期
汽車電子嵌入式精彩文章匯總第4期
AUTOSAR項目實戰(9) -CanTrcv模塊配置實踐
AUTOSAR架構下Multi-Core Com配置實戰
TC3xx芯片看門狗復位的默認行為分析
AUTOSAR架構下TC3xx芯片是如何進行模式切換的
AUTOSAR架構下NvM_ReadAll時間優化的實用方案(上)
AUTOSAR架構下NvM_ReadAll無法退出問題分析
TC3xx芯片RAM監控機制的補充
TC3xx芯片RAM ECC錯誤軟件調試
TC3xx芯片ROM ECC錯誤軟件調試
內存分區設計及鏈接文件實現
AUTOSAR項目實戰(10)-Alignment Error異常問題分析
AUTOSAR項目實戰(11)-AUTOSAR OS MPU配置及調試
TC3xx芯片[Class 4, TIN 3] trap原因分享
CanSM何時設置BusOffDTC及常見BusOff內部原因總結
AUTOSAR架構下如何測試NvM的使用率
AUTOSAR架構下如何測量Task的周期和運行時間
EVADC功能安全需求及一些軟硬件設計注意事項
AUTOSAR項目實戰(12)-Can Driver模塊配置使用實踐
NvM實車問題分析-看基礎扎實老司機如何快速定位問題
TC3xx芯片SMU FSP自檢原理和實現
【功能安全】ESM[SW]:SMU:ALIVE_ALARM_TEST原理及具體實現
End
歡迎點贊,關注,轉發,在看,您的每一次鼓勵,都是我最大的動力!
汽車電子嵌入式
微信掃描二維碼,關注我的公眾號