I am trying to write some words starting from 0x3FFFC000 to 0x3FFFC018. I am able to write to all locations except 0x3FFFC018.
Keil uvision4, ARM7
AREA sevensegment, CODE, READONLY LDR r1,=space LDR r0,=0x3FFFC000 MOV r3,#0 next LDR r2,[r1] STR r2,[r0],#4 ADD r3,r3,#1 CMP r3,#7 BNE next exit b exit space DCD 0x20202020 END
Might it be instructive if you dump the registers, and memory around 0x3FFFC000 once it gets to "exit"? And provide those for people who can't see your system.
A quick search gives me this:
http://www.keil.com/dd/docs/arm/philips/lpc214x.h
#define FIO0DIR (*((volatile unsigned long *) 0x3FFFC000)) #define FIO0MASK (*((volatile unsigned long *) 0x3FFFC010)) #define FIO0PIN (*((volatile unsigned long *) 0x3FFFC014)) #define FIO0SET (*((volatile unsigned long *) 0x3FFFC018))