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