Hello,
On exiting non-secure interrupt handler, armv8-M cm33 gets in a bad state and hangs.
I think what's happening is, on exiting non-secure handler, cpu try to restore state from a secure area, I see "sec_err_irq_mpc" fires right after non-secure irq is cleared at handler exit.
How to allow crossing from non-secure to secure state and prevent that security error from happening.
Any clue or help is highly appreciated.
Thanks,
Mohsen
Hello Stephen,
Thanks a lot for your response.
I now understand the reason for the secure error. The non-secure handler were trying to access secure memory, after removing that this sec_err interrupt is gone.
But I'm having another issue now, my code request to enter the handler multiple times but the cpu enters only once and after that it hangs. By hang I mean, my test hangs!
Stephen Theobald said:Which toolchain are you using to build and debug your system - Arm DS, Keil MDK or something else?
I'm not building or debugging, I'm just writing C code to run tests.
Mohsen,
There is little information here to help answer the question. I recommend you look at the below to understand what is happening on the processor as it enters (and exits) the handler.https://developer.arm.com/docs/100701/0200/armv8-m-exception-handlingIt would greatly help to connect a debugger to your target to step through the handler code.RegardsRonan
Thanks a lot Ronan!
My issues are resolved now.
Thanks for all your help!