[U-Boot] arm, omap3, beagle: initial stack pointer setup

Steve Sakoman steve at sakoman.com
Wed Oct 27 14:53:27 CEST 2010


On Wed, 2010-10-27 at 14:23 +0200, Heiko Schocher wrote:
> Hello Steve,
> 
> Steve Sakoman wrote:
> > On Wed, 2010-10-27 at 09:14 +0200, Wolfgang Denk wrote:
> >> Dear Heiko Schocher,
> >>
> >> In message <4CC7C628.70402 at denx.de> you wrote:
> >>> CONFIG_SYS_INIT_RAM_ADDR	(SRAM_VECT_CODE)
> >>>                                  ^
> >>>                                  0x4020f800
> >>> CONFIG_SYS_INIT_RAM_SIZE	0x7f0
> >> Why that? From the current settings I would expect something like
> >>
> >> 	CONFIG_SYS_INIT_RAM_ADDR	0x4020f800
> >> 	CONFIG_SYS_INIT_RAM_SIZE	0x800
> >>
> >> I see no reason to substract the top 16 bytes?
> > 
> > Agreed.  I saw this issue last night, but didn't have enough time to
> > prepare a fix.
> > 
> > I'll generate and test a patch on the OMAP boards which have implemented
> > relocation.
> 
> Ok, thanks!

Now that I have some coffee, I think I see the actual reason that the
build was broken.

If you look at the error output:

start.S: Assembler messages:
start.S:175: Error: missing ')'
start.S:175: Error: missing ')'
start.S:175: Error: garbage following instruction -- `ldr sp,=((0x4020f800+0x800-#96))'

It is apparent that the assembler does not like that GENERATED_GBL_DATA_SIZE is defined as "#96"

I tried without the # symbol and the build completes successfully.

I'll prepare a patch to use CONFIG_SYS_INIT_RAM_ADDR and
CONFIG_SYS_INIT_RAM_SIZE on the OMAP boards with relocation, because
that is still a good idea, but we also need to deal with the prepended #
symbol.

I'm guessing that the PPC tools don't complain about the # symbol?

Steve





More information about the U-Boot mailing list