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

ARM920T MMU configuration

Note: This was originally posted on 16th August 2010 at http://forums.arm.com

Hello. I'm making boot loader for arm board SMDK2443 based on ARM920T. There is 128 Mb of RAM on board, and i set up MMU to map addresses 0x80000000-0x88000000 as sections to physical 0x30000000-0x38000000. But for some reason addresses in upper part of address space point to the same physical address that in the lower part.
I.e. running following code
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);

makes output:
p1 == 835a0000 *p1==1
p2 == 875a0000 *p2==2
p1 == 835a0000 *p1==2


Of course, this makes mess for operating system, and it doesn't boot.

Can you tell me, what could be the reason of such behavior?
Parents
  • Note: This was originally posted on 17th August 2010 at http://forums.arm.com

    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.


    We've got a single 128 Mb chip of Mobile DRAM on board.
Reply
  • Note: This was originally posted on 17th August 2010 at http://forums.arm.com

    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.


    We've got a single 128 Mb chip of Mobile DRAM on board.
Children
No data