This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

I cannot write the sp register in the monitor mode

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?

Parents
  • 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).

Reply
  • 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).

Children
  • 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.