[U-Boot-Users] U-boot & MonteJade start up

Jonathan Pratt Jonathan.Pratt at elprotech.com
Wed May 2 08:22:42 CEST 2007


> -----Original Message-----
> From: Stefan Roese [mailto:sr at denx.de] 
> Sent: Wednesday, 2 May 2007 3:17 PM
> To: u-boot-users at lists.sourceforge.net
> Cc: Jonathan Pratt
> Subject: Re: [U-Boot-Users] U-boot & MonteJade start up
> 
> On Wednesday 02 May 2007 06:39, Jonathan Pratt wrote:
> > Is there some pre-bootloader code which does the transition to 
> > big-endian?
> 
> No.
> 
> > If so, do I need to program this sepeartely? If not, where does the 
> > transition to big-endian occur and why does the code I see (in the 
> > srec file, for example) appear to start off big-endian?
> 
> Because it's compiled to be in big endian format. All IXP4xx 
> U-Boot & Linux implementations I know of are done in big endian mode.
> 
> > I can
> > imagine ld getting pretty confused trying to link a little-endian 
> > snippet to a big-endian application.
> 
> I have to admit, that I don't know right now, where this big 
> endian/little endian change is made. Perhaps some 
> boot-strapping pin? Not sure, would have to look in the 
> manual. Martijn? Could you jump in here?

When in doubt check the code, I guess.

I have been trawling the code and found that the reset vector points to
the reset code, and the first thing it does is set big-endian-ness (load
R0 with 0xF8 and write this value to CP15, register 1 - b7 is the
endian-ness control bit).

>From the IXP42x Developer's Manual the state of this bit is 0
(little-endian) on reset. I can't find any information about
boot-strapping the endian-ness of the processor, or different behaviour
of the excternal bus interface. I can imagine the switch over being
problematic, but I can't find any documentaion as to how its done.

 
> For the 2 IXP4xx boards I used (ixdpg425 and pdnb3) I can 
> say, that they "just work" with the current U-Boot 
> implementation in big endian mode. And here definitely no 
> pre-bootloader is required.
> 
> What exactly is your problem? Can you see where the U-Boot 
> hangs with you debugger? You are aware that the IXDPG425 port 
> uses UART1 (and not UART0) for console with 115200 baud.

I'm having difficulty using the Macraigor USB wiggler. It doesn't seem
to allow me to do a 'step' or 'go' with any useful result (ie the
program counter doesn't appear to change). This is adding to my
difficulties. I can't tell at the moment how far the code is getting
before it dies.

I tried recompiling u-boot with UART2 as the console but had no better
results. I believe that UART1 in u-boot is UART0 for the IXP425 (ie the
console UART which is connected) and UART2 in u-boot is the other one
that is not available on the IXDGP425 board. [but feel free to correct
me if I'm wrong].
 
> Best regards,
> Stefan


Thanks for your input Stefan.

Jonathan Pratt




More information about the U-Boot mailing list