RE: Réf. : Re: starting RAM adress for linux kernel
From: Steven Blakeslee <hidden>
Date: 2005-06-03 15:06:33
=20 we need to have the start of Ram at 0x0300 0000 because we=20 use the command mem=3D40M (for uboot) to force Linux in the low=20 part of memory and to reserve the high part of memory (218M=20 exactly ) for ioremap (for our application) but we keep the=20 same flash mapping (to avoid more problems). So how can we do that ? The boot seems OK but there is some=20 problems in Kernel after uncompressing the kernel image. Is the only solution is to inverse the mapping with Ram from=20 0 to 258M and the flash above ?
RAM should always start at address 0x0 in your chip select mapping. = When you pass mem=3D40M 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.
=20 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.