[U-Boot-Users] u-boot.bin

Jerry Van Baren gerald.vanbaren at ge.com
Wed Jul 23 15:24:52 CEST 2008


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 at yahoo.com> wrote:
> 
>> From: Fundu <fundu_1999 at yahoo.com>
>> Subject: [U-Boot-Users] u-boot.bin
>> To: u-boot-users at 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.
>> 1) 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).

>> 2) 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




More information about the U-Boot mailing list