Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

The IGEP X-loader

772 bytes added, 23:15, 26 February 2011
no edit summary
</pre>
It's important take a lool to the call assembly function cpu_init_crit (you can see the code below) this is resposable to call the board initialization defined in [http://git.igep.es/?p=pub/scm/igep-x-loader.git;a=blob;f=board/igep0020/platform.S platform.S] file.Check the call to lowlevel_init:<br>
<pre> 175 cpu_init_crit:
176 /*
</pre>
Lowlevel_init it's responsable to set the stack settings and call the lowlevel board initialization called s_init "C" code defined in [http://git.igep.es/?p=pub/scm/igep-x-loader.git;a=blob;f=board/igep0020/igep0020.c here]<br> <pre> 171 .globl lowlevel_init 172 lowlevel_init:
it do a basic initialization 173 ldr sp, SRAM_STACK  174 str ip, [sp] /* stash old link register */  175 mov ip, lr /* save link reg across call */  176 bl s_init /* go setup pll,mux,memory */  177 ldr ip, [sp] /* restore save ip */  178 mov lr, ip /* restore link reg */  179   180 /* back to arch calling code */  181 mov pc, lr   </pre>At the end and at end after the s_init call the code jump to the initial C initial function called [http://git.igep.es/?p=pub/scm/igep-x-loader.git;a=blob;f=lib/board.c start_armboot] defined in the file lib/board.c.<br>
== C Execution Flow<br> ==