
In message 8bf247760607140029l62f6c124idee300237361518f@mail.gmail.com you wrote:
I am trying to understand the flow of u-boot - what really happens
when the board is powered on till i get the u-boot prompt which accepts commands from the user.
You've posted the same question before.
I started with the file u-boot-1.1.4/cpu/arm926ejs/start.S Is this the place where u-boot actually starts?.
Yes.
It tries switch the cpu mode to SVC32 mode and relocates u-boot to RAM, disables MMU and does so many things which i dont really understand.
I recommend toi follow the flow step by step. Most functions have pretty descriptive names.
Could anyone explain it to me what really is happening out there and why?.
We initialize the system step by step as needed to get a running system capable of booting Linux.
Then i figured out that a function start_armboot() is called. This function is present in lib_arm/board.c is this function called by start.S?
Where exactly it is called from?.
Use grep to find the call.
There is a reference to start_armboot in start.S not sure if it is the one?.
Why not?
ldr pc, _start_armboot
_start_armboot: .word start_armboot
Does this actually invoke start_armboot?.
Guess what happens when you load a new address into the rpgram counter?
I have got so far. could you please tell me am i right in my understarting?.
Yes.
I understand that start_armboot initialises the the cpu, board, dram.... Once this is done - we can say that the board has been initialised.
More or less.
Any other information and pointers u provide will be helpful
Read the README, the manual, and the sources.
Best regards,
Wolfgang Denk