avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [avr-gcc-list] Howto put constants on fixed address


From: Martin Žižka
Subject: RE: [avr-gcc-list] Howto put constants on fixed address
Date: Fri, 21 Dec 2007 00:25:45 +0100


Yes, that's exactly what I need. And yes, I'm used to IAR and others, where this is possible. I wanted to find out if it is possible to do this with gcc, I really did not expect any problem with this. I thought that I just have not found the right documentation... :-(


From: address@hidden [mailto:address@hidden On Behalf Of TODD BATZLER
Sent: Thursday, December 20, 2007 4:32 PM
To: address@hidden
Subject: Re: [avr-gcc-list] Howto put constants on fixed address

You've now found yourself exactly where I did.  I wanted to bury a software part number at
0x100 in the flash so a 'universal' programming 'pod' could look in this specific location of
the hex file and determine if the target was valid for an upgrade regardless of what AVR
was implemented on the target board.  Best I could do is define my own section at 0x100
leaving the bytes below unused.  It appears that the gcc linker is not able to wrap
code around this reserved section like the IAR linker can and utilize the space above
and below 'my section'.

>>> <address@hidden> 12/20/2007 9:09 AM >>>
Thanks for the links, but that is not exactly what I am looking for. Using this document I was able to create output like this:

0x0000-0x008F .vectors
0x0090-0x03FF gap
0x0400-0x041F my section
0x0420-       rest of the .text section

The gap is empty - it's waste of the flash space. I have not found if it is possible to put my section to any address and let linker to "flow the .text section round it", it seems to me that it is not possible, but I don't know why - the linker should be able to do this, it's not a difficult task...
______________________________________________________________
> Od: address@hidden
> Komu: Martin Ĺ̋iĹžka <address@hidden>
> CC: avr-gcc List <address@hidden>
> Datum: 20.12.2007 01:12
> Předmět: Re: [avr-gcc-list] Howto put constants on fixed address
>
>On Dec 19, 2007, at 5:03 PM, Martin Žižka wrote:
>
>> Yes, that will place the .length segment between .vectors > and
.progmem. But
>> you are unable to place it to some exact address. That will place it >
to
>> address that is offset_of(.vectors)+length_of(.vectors). That can be
>> different for some cpus.
>
>
>I think this URL describes the syntax to do what Martin is looking to
do:
>http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_node/ld_21.html#SEC21
>
>More hints here, in that one can edit the . address:
>http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_node/ld_10.html
>
>--
>David Kelly N4HHE, address@hidden
>========================================================================
>Whom computers would destroy, they must first drive mad.
>
>



_______________________________________________
AVR-GCC-list mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]