This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]