<div>Hello,</div>
<div>&nbsp;</div>
<div>The answer to your question &quot;who calls start_armboot?&quot;&nbsp; is answered by you ASM code below.&nbsp; Hint... take a close look at the regsiter you are loading.</div>
<div>&nbsp;</div>
<div>:-)</div>
<div>&nbsp;</div>
<div>Regards,</div>
<div>&nbsp;</div>
<div>Russell<br><br>&nbsp;</div>
<div><span class="gmail_quote">On 7/14/06, <b class="gmail_sendername">Ram</b> &lt;<a href="mailto:vshrirama@gmail.com">vshrirama@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi,<br>&nbsp;&nbsp;Thanks for your response. I have gone much further and would like to know If<br><br>&nbsp;&nbsp;&nbsp;&nbsp; ldr pc, _start_armboot
<br>&nbsp;&nbsp;&nbsp;&nbsp;_start_armboot:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.word start_armboot<br><br><br>&nbsp;&nbsp; Does this really invoke start_armboot?.&nbsp;&nbsp;This is because<br>_start_armboot is what is<br>&nbsp;&nbsp; stored in pc and not start_armboot and there is also a branch
<br>point _start_armboot (underscore start_armboot) Please see above.<br><br>&nbsp;&nbsp;Actually the above declares a variable start_armboot and does not<br>invoke the function<br>&nbsp;&nbsp;start_armboot. If this is true, then who calls start_armboot?
<br><br><br>&nbsp;&nbsp; According to me start_armboot ( ) which is present in<br>lib_arm/board.c never returns until u reset the board and probably<br>should be one of the last functions that needs to be called.<br><br>&nbsp;&nbsp; Correct?.
<br><br><br>&nbsp;&nbsp;Rest agreed, What i have understood is<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;First,&nbsp;&nbsp;reset is called which set the cpu to SVC32 mode and<br>calls cpu_init_crit<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;which inturn calls lowlevel_init to setup memory and board<br>specific register values.
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Then stack is setup and start_amboot is called.<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start_armboot is the point of entry where code is C. ie<br>(Assembly to C) begins from start_armboot.<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; am i Correct?.
<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This is the function which does some remaining initialisation<br>and then starts initialising the for pheripherals.<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;am i Correct?<br><br><br>I didnt understand the things relating interrupt and thier processing though.
<br><br>Thanks and Regards,<br>sriram<br><br><br>-------------------------------------------------------------------------<br>Using Tomcat but need to do more? Need to support web services, security?<br>Get stuff done quickly with pre-integrated technology to make your job easier
<br>Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo<br><a href="http://sel.as-us.falkag.net/sel?cmd=lnk&amp;kid=120709&amp;bid=263057&amp;dat=121642">http://sel.as-us.falkag.net/sel?cmd=lnk&amp;kid=120709&amp;bid=263057&amp;dat=121642
</a><br>_______________________________________________<br>U-Boot-Users mailing list<br><a href="mailto:U-Boot-Users@lists.sourceforge.net">U-Boot-Users@lists.sourceforge.net</a><br><a href="https://lists.sourceforge.net/lists/listinfo/u-boot-users">
https://lists.sourceforge.net/lists/listinfo/u-boot-users</a><br></blockquote></div><br>