
Hi, Thanks for your response. I have gone much further and would like to know If
ldr pc, _start_armboot _start_armboot: .word start_armboot
Does this really invoke start_armboot?. This is because _start_armboot is what is stored in pc and not start_armboot and there is also a branch point _start_armboot (underscore start_armboot) Please see above.
Actually the above declares a variable start_armboot and does not invoke the function start_armboot. If this is true, then who calls start_armboot?
According to me start_armboot ( ) which is present in lib_arm/board.c never returns until u reset the board and probably should be one of the last functions that needs to be called.
Correct?.
Rest agreed, What i have understood is First, reset is called which set the cpu to SVC32 mode and calls cpu_init_crit which inturn calls lowlevel_init to setup memory and board specific register values.
Then stack is setup and start_amboot is called.
start_armboot is the point of entry where code is C. ie (Assembly to C) begins from start_armboot.
am i Correct?.
This is the function which does some remaining initialisation and then starts initialising the for pheripherals.
am i Correct?
I didnt understand the things relating interrupt and thier processing though.
Thanks and Regards, sriram