簡介
客戶在 Nucleo-U575ZI 開發(fā)板上使用 TrustZone 架構(gòu),測試 LPBAM 功能。
首先使能了 TrustZone 架構(gòu),然后將 LPGPIO 映射到了非安全區(qū),并且配置了 DMA 鏈表功能,使用 LPTimer 作為觸發(fā),自動地修改 LPGPIO 的寄存器,從而達到在低功耗模式下,GPIO自動切換的功能。但遇到了 LPDMA 的配置問題,并且程序無法跳轉(zhuǎn)到 Non-Secure 工程。
問題分析
通過斷點可以發(fā)現(xiàn),程序是可以跳轉(zhuǎn)到 NS 工程的,可以正常執(zhí)行 SystemInit 函數(shù),可以執(zhí)行到__main,但無法進入 main 函數(shù)。
總結(jié)
在調(diào)試 TrustZone 工程的時候,需要對所有外設(shè)和內(nèi)存的安全屬性有合理的規(guī)劃和配置,相對于普通工程,TrustZone 工程更容易由于安全屬性的不符合導(dǎo)致 Bus Fault 等硬件錯誤,需要更小心謹慎。
閱讀全文