This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
changing avr-ld linker script prom 2.19.1 to 2.10
- From: Massimiliano Cialdi <massimiliano dot cialdi at powersoft dot it>
- To: binutils at sourceware dot org
- Date: Tue, 09 Mar 2010 10:37:28 +0100
- Subject: changing avr-ld linker script prom 2.19.1 to 2.10
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