[U-Boot-Users] U-Boot Boot Sequence
Martin Winistörfer
martinwinistoerfer at gmx.ch
Sun Jan 12 20:06:16 CET 2003
Hello all,
Im currently looking closely to the boot sequence for the MPC8xx but cant
exactly
figure it out how it works. Every hint is appreciated.
Since most MPC8xx and MPCxx both start executing at adress 0x100 there
must reside some code at this location at boot time. I assume the U-Boot
image will
be burned to the external flash (CS0) and we start from there (0x100).
What I dont understand is, that the label _start (In cpu/mpc8xx/start.S)
will be placed to the runtime
adress 0x100, but resides in the .text section which according to the linker
file
(take as example board/cogent/u-boot.lds) wont probably start at adresse
0x100
in the image. The .text section is located after the .interp section.
Are this assumptions true?
I have another question concerns the adress calculation
to in_flash label (Some guys already mentioned something about this on this
list).
The U-Boot image is located in flash (CS0) we start executing at adress
0x100
in flash somehow. MPC is now executing instruction by instruction
until the following lines:
> /*
> * 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
> blr
My question is why to calculate the branch to in_flash and why
adding the CFG_MONITOR_BASE? (dont be angry I know the
same question has alredy been asked but....)
Since _start label is placed to location 0x100
> . = EXC_OFF_SYS_RESET
> .globl _start
> _start:
and location counter will increase until to the in_flash label (and further
of course),
the in_flash label will be always in a specific offset from the label
_start.
Why we cant simply leave it (the branch calculation) and simply executing
the next
instruction? (first instrution in in_flash)
I really dont know whether I simply make a huge mess but please help me
to clarify it. Best regards,
Martin
--
+++ GMX - Mail, Messaging & more http://www.gmx.net +++
NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Min. surfen!
More information about the U-Boot
mailing list