2025-09-23 4:15 AM
Hello,
on a stm32mp257f-ev1 board I'm developing a non secure M33 firmware using hpdma3.
I configured hpdma3 on optee RIF DT to be used only by M33 (CID2) for all channels as follow
&hpdma3 {
st,protreg = <
RIFPROT(RIF_HPDMA_CHANNEL(0), RIF_UNUSED, RIF_UNLOCK, RIF_NSEC, RIF_NPRIV, RIF_CID2, RIF_SEM_DIS, RIF_CFEN)
.........................................................................................
.........................................................................................
RIFPROT(RIF_HPDMA_CHANNEL(15), RIF_UNUSED, RIF_UNLOCK, RIF_NSEC, RIF_NPRIV, RIF_CID2, RIF_SEM_DIS, RIF_CFEN)
>;
};
When I debug the firmware on CubeIDE if I try to inspect HPDMA3 registers using "SFRs" tab I get on linux console iac exceptions of this type:
E/TC:0 stm32_iac_itr:192 IAC exceptions [159:128]: 0x200000
E/TC:0 stm32_iac_itr:197 IAC exception ID: 149
E/TC:1 stm32_iac_itr:192 IAC exceptions [159:128]: 0x10000000
E/TC:1 stm32_iac_itr:197 IAC exception ID: 156
E/TC:1 stm32_iac_itr:192 IAC exceptions [159:128]: 0x200000
E/TC:1 stm32_iac_itr:197 IAC exception ID: 149
I think there is something wrong with HPDMA3 RIF configuration, but I cannot understand the whole messages:
- Which's the difference between "E/CT:0" and "E/TC:1"?
- Where I can find the meaning of hex codes at the and of each message?
I tried reading the "How to analyze IAC & SERC errors" guide but I don't found informations on points above.
Last question is: how can I update RIF configuration to avoid these iac excepections?
Regards
Marco.