I use a Cortex-A7 board and write start up code.
I try to use Security Extension.
I use `smc` instruction and make cpu mode monitor mode.
In the monitor handler, I tried to changed stack pointer value for calling other functions.
But after execute `ldr sp, =_stack_start`, sp value is 0x0 (Of course, _stack_start is not 0x0 and I check it in the assembler code).
Therefore, after `push` some registers and `pop` those registers, the data abort excetpions occurred!
How can I change the sp value?
I can't be sure, but I think Freescale's CodeWarrior might be able to debug the target.
You may want to try out the KEIL tools too.