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?
Yep, accessing flash, MMU, caches etc. don't work without the "board config" (=board, SoC or MCU config).
But if you know the parameters, you should be able to make a configuration that lets you debug "within the core".
If you need to upload the program with the debugger, the debugger is not of much use without the configuration (or driver).
It might be possible to "upload" a small program into RAM using MWW commands (better put them in a script; don't type them each time).
... Of course, a perl script on the host could generate an uploading script, so at least basic debugging *would* be possible; however a bit inconvenient.
I previously used SEGGER J-Link and SEGGER's gdb server to debug this board.
It works without any board specific options. I don't need to write such a special program too.
Therefore, I assume some parameters in my configuration file would be incorrect and no additional procedure such as RPi2 would be needed.
Is this of any help?
http://www.tincantools.com/wiki/OpenOCD_Troubleshooting:_JTAG_Tap_Unexpected
This may be of help too.
http://openocd.org/doc/html/Debug-Adapter-Configuration.html
This makes me think maybe you should try cmsis-dap driver.
https://community.freescale.com/thread/337734