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 19th August 2010 at http://forums.arm.com

    Is that 128M bits (128Mb) or 128M bytes (128MB)?

    Bytes, not bits.

    That what samsung web site tells me about this memory chip:

    K4 (Memory) : DRAM
    X (Small Classification) : Mobile DDR SDRAM
    1G (Density, Refresh) : 1G, 8K/64ms
    16 (Organization) : x16
    3 (Bank) : 4Bank
    P (Interface, VDD, VDDQ) : LVTTL, 1.8V, 1.8V
Reply
  • Note: This was originally posted on 19th August 2010 at http://forums.arm.com

    Is that 128M bits (128Mb) or 128M bytes (128MB)?

    Bytes, not bits.

    That what samsung web site tells me about this memory chip:

    K4 (Memory) : DRAM
    X (Small Classification) : Mobile DDR SDRAM
    1G (Density, Refresh) : 1G, 8K/64ms
    16 (Organization) : x16
    3 (Bank) : 4Bank
    P (Interface, VDD, VDDQ) : LVTTL, 1.8V, 1.8V
Children
No data