
Dear vinoth,
In message CAJst-kGL+cNWys125Y9Xtj=XZvRhStdjnG7cfKMgiQN7dR5=jQ@mail.gmail.com you wrote:
I tried creating the uImage from the vmlinux --but I did not understand what does the -a (load address) and -e (entry point ) points to? I assume that it is the same load address used when loading the kernel image from sd card to RAM.
No, it is not.
There are actually two "load addresses". Uusally I prefer to call the first the "download address": this is the address in memory space where you download the uImage file to, i. e. the first address of the uImage file in the system memory (RAM or parallel NOR flash etc.).
The payload of the uImage is often a _compressed_ kernel image. To boot it, U-Boot will have to uncompress and _load_ it to some other address in RAM. This is the "load address", given by the "-a" option to mkimage. Afther that, you have the uncompressed, executable kerl image sitting in RAM, starting at the "load address" - but this is not necessarily the same as the entry point address - the latter is given by the "-e" argument.
While you can download and store the uImage file at an arbitrary address in memory, the addresses for the executable (uncompressed) image and for the entry point are often fixed - this is why they re registered in the uImage file.
Note that because you usually uncompress and load (copy) the image to the load address, you must not download the uImage to the load address; this will usually result in memory corruptuin and boot failure.
Best regards,
Wolfgang Denk