1、問題背景
客戶在開發(fā) STM32U5 SBSFU 過程中,原本 APP_NS 使用了整個 SRAM3 的 512K 大小的內(nèi)存,但后來由于需求變更,要將 SRAM3 中前 32K 的內(nèi)存分給 APP_S 用??蛻粽{(diào)整代碼后,發(fā)現(xiàn)觸發(fā)了 SecureFault 中斷。嘗試查找問題所在,但一直沒找到。本文將基于此問題背景,向讀取呈現(xiàn)如何調(diào)試并定位一個 trustzone 相關(guān)問題的過程,以增加讀者的調(diào)試經(jīng)驗(yàn)。
2、問題分析與定位
從客戶那拿到可以重現(xiàn)問題的測試代碼。燒錄并運(yùn)行代碼,從打印信息確實(shí)看到程序運(yùn)行不正常。因?yàn)檎G闆r下 APP_NS 的打印信息是可以看到的,但此時并沒有。
3、結(jié)束語
本文所描述的問題,客戶其實(shí)是花了大量精力來設(shè)計,MPCBB3 配置,SAU 配置,代碼區(qū)域劃分,內(nèi)存區(qū)域劃分,ld 文件配置等等,但始終沒找到問題所在,最終問題還是出在了一個毫不起眼的 “小問題”上,可見有關(guān) trustzone 開發(fā)上,仔細(xì)閱讀相關(guān)手冊,細(xì)心和耐心是相當(dāng)重要的。