
Thanks gvb! that definitely makes sense.
i see the u-boot.elf file is a lot bigger than the u-boot.bin. why is that ?
TIA ! --- On Wed, 7/23/08, Jerry Van Baren gerald.vanbaren@GE.com wrote:
From: Jerry Van Baren gerald.vanbaren@GE.com Subject: Re: [U-Boot-Users] u-boot.bin To: fundu_1999@yahoo.com Cc: u-boot-users@lists.sourceforge.net Date: Wednesday, July 23, 2008, 6:24 AM Fundu wrote:
ok, looks like 0x27051956 is uboot magic number (from
start.S)
why is the CFG_MONITOR_BASE points to the magic number
?
Because that is the definition. From the file README:
- CFG_MONITOR_BASE: Physical start address of boot monitor
code (set by make config files to be same as the text base address (TEXT_BASE) used when linking) - same as CFG_FLASH_BASE when booting from flash.
--- On Tue, 7/22/08, Fundu
fundu_1999@yahoo.com wrote:
From: Fundu fundu_1999@yahoo.com Subject: [U-Boot-Users] u-boot.bin To: u-boot-users@lists.sourceforge.net Date: Tuesday, July 22, 2008, 3:44 PM i'm working on taishan ppc440gx.
now here's what i noticed. snippet of
u-boot.bin opened
with a hex editor.
fffbffff : 27051956 552d426f 6f742031 2e322e30
This is the start, it should be (and probably is) at fffc0000. Why does your dump start at fff*bffff* (one byte before where it should)?
'..VU-Boot 1.2.0 fffc000f : 20284a75 6c203232 20323030 38202d20
(Jul 22
2008 - fffc001f : 31343a31 363a3037 29000000 00000000 14:16:07)....... fffc002f : 00000000 00000000 00000000 00000000 ................ fffc003f : 00000000 00000000 00000000 00000000 ................
and my u-boot.map
.text 0xfffc0000 0x2aa9c cpu/ppc4xx/start.o(.text) .text 0xfffc0000 0x2704
cpu/ppc4xx/start.o
Note the start address is fffc0000, not fffbffff.
[snip]
couple of question.
- this line ".text 0xfffc0000
0x2aa9c" from u-boot.map which means .text starts at 0xfffc0000 and with
length of
0x2aa9c. right ?
Yes.
then looking at the hex dump of u-boot.bin looks
like
there's some data right after first word
(U-Boot
1.2.0...) what am i missing ?
The first word is the u-boot magic number, followed by the u-boot build information (text).
- when ppc440gx reset it has 0xfffffffc in its
program
counter, the instr at this location is a branch
instr.
right ?
Yes. See cpu/ppc4xx/start.S
b) this branch should go to TEXT_BASE which is
0xfffc0000
in my case.
No, it jumps to the start of some CPU initialization code in the last 4K page (when released from reset, only the last 4K page is mapped). That code maps the rest of memory and jumps to the traditional PPC startup code. 0xfffc0000 isn't involved.
and that location contains 0x05195655. which looks
like a
"rlwimix" instr. (rotate left word
immediate then
mask insert). does this look start of monitor ?
No, it looks like operator error.
Any insight on how the bootldr starts up would be appreciated too. thanks !
HTH, gvb