AURIX TC377,TC387,TC397用戶啟動程序流程
用戶啟動程序是在Boot Firmware之后運行的程序(即用戶程序里的第一級Boot Loader,類似Linux的Uboot),初始化過程是CPU0完成的。用戶可以根據不同的復位事件來選擇不同的執行路徑。
AURITX 2代芯片的主要啟動過程如下(該階段只有在Cold Power on Reset時才會執行,其他的Reset是不會執行的):
- 第一個階段,初始化PSW寄存器,以便可以在User1模式下使用最大深度中斷堆棧深度。之后會判斷復位類型,看是Application Reset,還是Power On Reset還是CPU0 Reset。
- 第二階段主要有三個部分:1)初始化EVR,同時確保寄存器內容是所需的配置值;2)執行LBIST測試,以保證系統安全;3)MONBIST檢查,以便確保第二級電壓監控和Alarm產生路徑是好的。
- 第三階段,設置好系統以支持函數調用。這主要包括Context Save Area的初始化和Stack Pointer(A10)的初始化。至此沒有全局變量使用。
- 第四階段是初始化時鐘和Flash Wait State的值。對于ADAS的應用,在PLL初始化之前,MMIC芯片需要使能,MMIC芯片可以給CPU提供時鐘。出于功能安全考慮,RAM的MBIST需要執行,會初始化所有RAM的功能安全特性。這個階段是只有在發生Power on Reset時才會執行,對于其他類型Reset,這個階段的動作是不需要執行的,因為Clock和Flash