RE: Réf. : Re: starting RAM adress for linux kernel

Steven Blakeslee BlakesleeS at embeddedplanet.com
Sat Jun 4 01:06:27 EST 2005


> 
> we need to have the start of Ram at 0x0300 0000 because we 
> use the command mem=40M (for uboot) to force Linux in the low 
> part of memory and to reserve the high part of memory (218M 
> exactly ) for ioremap (for our application) but we keep the 
> same flash mapping (to avoid more problems).
> So how can we do that ? The boot seems OK but there is some 
> problems in Kernel after uncompressing the kernel image.
> Is the only solution is to inverse the mapping with Ram from 
> 0 to 258M and the flash above ?

RAM should always start at address 0x0 in your chip select mapping.  When you pass mem=40M Linux will claim
RAM from 0x0 to 0x02800000.  The rest of the RAM, 0x02800000 to the end will be available for ioremap.  The reason your kernel does nothing after being uncompressed is because it has no idea where it is and probably is not being uncompressed to a valid RAM address.

The sensible place to map FLASH is the end of memory, or anywhere out of the way.  I assume you are low booting and that is why you think FLASH needs to be at the beginning of memory.  It does not, even though that is where you boot from you can remap the FLASH.


> 
> Finally, will Busybox work with Ram starting at 0x03000000 ?

Busy box is part of your ramdisk, it does not know anything about the memory map.  If your kernel does not get past uncompressing then you did not get anywhere near busy box running.




More information about the Linuxppc-embedded mailing list