We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
char *p1 = 0x835a0000, *p2 = 0x875a0000; *p1 = 1; printf("p1 == %x\t*p1==%x\n", p1,*p1); *p2 = 2; printf("p2 == %x\t*p2==%x\n", p2,*p2); printf("p1 == %x\t*p1==%x\n", p1,*p1);
p1 == 835a0000 *p1==1p2 == 875a0000 *p2==2p1 == 835a0000 *p1==2
Is it definitely a 128MB RAM device? Some memory controllers support "up to 128MB" via a number of chip selects but often use smaller physical RAM chips. (i.e. 2 64MB devices via 2 chip selects). It is not uncommon to fit less than the maximum RAM and then alias the address range by using multiple chip select lines to drive the same chip select pin. May not be true in your case, but seen it happen before, so could be worth checking.