From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Odd Lindahl" To: gdb@sources.redhat.com Subject: assembler version of "set $cpsr = 0xd3" Date: Thu, 14 Jun 2001 02:07:00 -0000 Message-id: <20010614090729.13656.qmail@mail.com> X-SW-Source: 2001-06/msg00117.html 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