
Dear Belisko Marek,
In message CAAfyv34gspt4whV-sa=mo0fFunZfX8FA6+=e7jRdpZ59hygENw@mail.gmail.com you wrote:
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.
Actually the configuration given here looks bogus. The 64 byte header of the legacy image format does NOT get copied to the address range starting at load address, so you actually start execution at a 64 byte offset within your binary. This is likely incorrect.
A common error is to misunderstand that the "loadaddr" variable used in U-Boot as target address for the image download has _nothing_ to do with the "loadaddr" parameter of the mkimage command , which gives the address where the "bootm" command will copy the image to (eventually uncompressing it). Unfortunately ARM never adapted to use this.
Best regards,
Wolfgang Denk