[U-Boot-Users] newbie: How to avoid memory area overlapping?
甜瓜
littlesweetmelon at gmail.com
Mon May 19 11:00:52 CEST 2008
Howdy,
I use uboot + linux kernel + ramdisk to start the board. The
kernel and ramdisk (say uImage and Ramdisk)
are stored on my PC. Each time, by typing:
tftp 200000 uImage
tftp 600000 Ramdisk
these two files are loaded to memory. Then enter "bootm 200000 600000"
to real boot. Well, I am a little
confused about the booting.
1. There are only 32MB memory on board. As documented, uboot will copy
itself from flash to the tail of
memory address. That means, if flash_size=512KB, the memory image
of uboot would located at
0x01F80000. Am I right? But "md 0x01F80000" does not show data
pattern similar to uboot itself.
Why? Is this address assigned to other purpose?
2. uImage and Ramdisk are gzipped files. uboot should decompress them
first. Which address will uboot
store decompress data? Since uboot didn't know the file size of
uImage and Ramdisk, how does uboot
arrange memory areas to avoid overlapping? I mean decompressed
data might overwrite each other or
overwrite the original gzipped data.
3. When the control goes to linux, linux will manage whole memory. But
it does not know anything about
uboot arrangement. How does linux avoid occasionally damaging the
decompressed data of
uImage/Ramdisk which hosted by uboot?
Best regards,
---
ShenLei
More information about the U-Boot
mailing list