[U-Boot-Users] what's function of "absolute address" in these codes?

xiangguo_li at hotmail.com xiangguo_li at hotmail.com
Tue Nov 13 13:04:18 CET 2007


//codes from start.S of 74xx_7xx  

=====================================================================
START_GOT
 ...

 . = EXC_OFF_SYS_RESET
 .globl _start
_start:
 li r21, BOOTFLAG_COLD /* Normal Power-On: Boot from FLASH */
 b boot_cold
 sync

...

boot_cold:
boot_warm:
 /* disable everything */
...
        
 /*
  * Calculate absolute address in FLASH and jump there
  *------------------------------------------------------*/
 lis r3, CFG_MONITOR_BASE at h
 ori r3, r3, CFG_MONITOR_BASE at l
 addi r3, r3, in_flash - _start + EXC_OFF_SYS_RESET           //
 mtlr r3                                                                                //move contents in r3 to Link Register(LR)
 blr                                                                                      //branch to address in Link Register(LR)

in_flash:                                                                                //
 /* let the C-code set up the rest   */
 /*       */
 /* Be careful to keep code relocatable !  */
 /*------------------------------------------------------*/

==========================================================================
why not use "bl in_flash" or  simply comment these codes out?
thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20071113/2d53ee7f/attachment.htm 


More information about the U-Boot mailing list