This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

assembler version of "set $cpsr = 0xd3"


Hi all,

I have writen a program to my AT91EB40 boards flash at 0x10100000
and I want to execute it after reset by putting the switch, SW1, in the
UPPER MEM position.

The program doesn't work correctly though :-(

But if I boot in Angel mode and issue the gdb commands:

set rdiromatzero 1
set remotebaud 9600
target rdi com1
set $cpsr = 0xd3
jump *0x01010000
( or either of jump *0x01000000 and jump *0x01010000 with the switch in
UPPER MEM position)

it starts up fine!!

But if I skipp the "set $cpsr = 0xd3" command it wont run correctly.

So what exactly does the "set $cpsr = 0xd3" command do and
how do I replace the mode switch in software that I can flash.

I have tried with the instruction:
swi
as the very first instruction which puts my CPU in supervisor mode and
which I have made sure will return to the address following the swi instruction.
But this didn't do the trick.

Kind Regards
Odd

-- 

_______________________________________________
FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup

Make PC-to-Phone calls with Net2Phone.
Sign-up today at: http://www.net2phone.com/cgi-bin/link.cgi?121





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]