changing avr-ld linker script prom 2.19.1 to 2.10
Massimiliano Cialdi
massimiliano.cialdi@powersoft.it
Tue Mar 9 09:48:00 GMT 2010
I have upgrade from binutils 1.19.1 to 2.20 (target architecture is avr)
in the linker scripts in [...]/avr/lib/ldscripts/ are added some memory
blocks, such like: fuse, lock and signature, all as big as 1K.
Are also added sections, like:
.fuse :
{
KEEP(*(.fuse))
KEEP(*(.lfuse))
KEEP(*(.hfuse))
KEEP(*(.efuse))
} > fuse
.lock :
{
KEEP(*(.lock*))
} > lock
.signature :
{
KEEP(*(.signature*))
} > signature
there is an example of hoe to use thes new memry sections?
In old version I started from une of that files (eg. avr5.x) and I copy
it to my project and edit it to match my micros feature.
for example:
MEMORY
{
text (rx) : ORIGIN = 0, LENGTH = 32K
data (rw!x) : ORIGIN = 0x800060, LENGTH = 2K
eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 1K
}
for ATMega32
instead of default avr5.x:
MEMORY
{
text (rx) : ORIGIN = 0, LENGTH = 128K
data (rw!x) : ORIGIN = 0x800060, LENGTH = 0xffa0
eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K
}
is that correct?
do I need to modify also fuse, lock and signature, and how?
thanks
More information about the Binutils
mailing list