Interrupts from the secure world to the non-secure world.

Hello experts,

I am using SAM L11 (Core is Cortex-M23).
I did a simple test of the interrupt.
In the case of the handler was the secure world, it worked as I expected.
The instruction sequences are as the follows.
 *(int*)(0xE000E380) = 0;
 *(int*)(0xE000E100) = 1;
 *(int*)(0xE000E200) = 1;
 for(i=0;i<1000;i++);
However, when Interrupt Target Non-secure Register (0xE000E380) was set,
the HardFault had occurred. As for SAM L11, would it be reasonable behavior?
 *(int*)(0xE000E380) = 1;
 *(int*)(0xE000E100) = 1;
 *(int*)(0xE000E200) = 1; /* HardFault */
 for(i=0;i<1000;i++);
Although I put the vector of the secure world to the non-secure world address, the phenomenon was not changed.
From the specification aspect, how does it work?

Thank you and best regards,

Yasuhiko Koumoto.

Parents Reply Children
No data
More questions in this forum