[ECOS] Help! Linker data section confusion (mine)

Gary Thomas gthomas@redhat.com
Fri Nov 2 06:05:00 GMT 2001


On Tue, 2001-11-13 at 11:38, Roger Barraud wrote:
> Hmmm... no reply...
> Help!!
> 
> Can someone please tell me whether the redboot.bin image out of the eCos config
> tool is meant to be an absolute loadable image or not?
> 

Yes, absolutely.

> If so, why is my __ram_data_end == 0x14, when my __ram_data_start is 0x8000 ?
> i.e. end < start !!?
> 
> Am I meant to relocate the image somehow? with objcopy perhaps? If so, what's
> the magic incantation to get the data section located to 0x8000 correctly, with
> a sensible, non-negative size???
> 

This sounds like a familiar problem.  What version of the tools, in 
particular 'binutils' are you using?  I seem to recall seeing some 
previous messages that indicated that binutils of a certain vintage were
broken and they did not handle this properly.

> Aaarrrgggg!!
> I have too little hair left to be pulling any more out!!
> ~(:)
> 
> Roger Barraud
> note - remove NO and SPAM from my email address to reply by email direct
> 
> 
> > Hi All,
> > 	I'm trying to build an SA11x0 redboot/eCos port. So far so good,
> > using the Linux configtool version 2.03 and basing our source changes on Intel
> > Assabet platform.
> > 
> > I have an image redboot.bin which is humongous - 1.3GB approx - which is the
> > span of the addresses used in the program (rom base at 0x50000000). Is this
> > normal? - or should the .bin build option strip it down to rom sections etc.?
> > 
> > I have stripped the first 1280MB out and managed to execute the code from boot
> > ROM (FLASH (JTAGing it in))... but the part in vectors.S where the 'data'
> > section is copied from rom to ram fails - probably faults actually - as
> > __ram_data_end is less (at 0x14) than __ram_data_start (0x8000).
> > 
> > I've looked at the .ldi linker script fragments and the architecture .ld file
> > (which defines things like SECTION_data)...  but I'm a little bewildered
> still.
> > 
> > Should __ram_data_end be defined with an ABSOLUTE(.) rather than a '.' ?
> > 
> > The BSS section seems similarly afflicted.
> > 
> > What have I broken?
> > 
> > Any pearls of wisdom would be appreciated :)
> > 
> > Cheers
> > Roger Barraud
> > 
> > 
> > 




More information about the Ecos-discuss mailing list