
Hi Abdullah,
On Tue, May 6, 2014 at 11:54 AM, Abdullah YILDIZ abdullah.mails@gmail.com wrote:
Hi Belisko,
On Tue, May 6, 2014 at 12:34 PM, Belisko Marek marek.belisko@gmail.com wrote:
Hi Abdullah,
On Tue, May 6, 2014 at 10:55 AM, Abdullah YILDIZ abdullah.mails@gmail.com wrote:
I'm trying to understand how u-boot loads zImage into RAM.
mkimage is called as
mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008040 -d arch/arm/boot/zImage /bootImage/uImage
Why is entry point different from load address of uImage?
It is set to skip 64bytes (0x40) of mkimage header.
Here, 'a' stands for load address and 'e' stands for entry point (64 bytes are used for wrapping?). However, when loading uImage from u-boot, boot operation starts at address 0x80100000. Furthermore, u-boot recognizes the load address and entry point as 0x80008000.
Kernel uImage is loaded from NAND to ram at address which $loadaddr points to (check print $loadaddr) or env command which loading kerenl image from NAND. Then by bootm command is copied to address which is specified in mkimage (e.g. 0x80008000). Hope this helps.
Kind regards.
abdullah
BR,
marek