mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
62d6a560b1
The xfa.ld script is incompatible with binutils > 2.35.2 and results in firmwares that wont boot. Sadly, I couldn't figure out an elegant way to fix the issue. Instead, I modified the linker script provided by binutils to also include XFA.
28 lines
1.5 KiB
Plaintext
28 lines
1.5 KiB
Plaintext
/* Copyright (C) 2014-2021 Free Software Foundation, Inc.
|
|
Copying and distribution of this script, with or without modification,
|
|
are permitted in any medium without royalty provided the copyright
|
|
notice and this notice are preserved. */
|
|
OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr")
|
|
OUTPUT_ARCH(avr:107)
|
|
|
|
__TEXT_REGION_LENGTH__ = DEFINED(__TEXT_REGION_LENGTH__) ? __TEXT_REGION_LENGTH__ : 1024K;
|
|
__DATA_REGION_LENGTH__ = DEFINED(__DATA_REGION_LENGTH__) ? __DATA_REGION_LENGTH__ : 0xffa0;
|
|
__EEPROM_REGION_LENGTH__ = DEFINED(__EEPROM_REGION_LENGTH__) ? __EEPROM_REGION_LENGTH__ : 64K;
|
|
__FUSE_REGION_LENGTH__ = DEFINED(__FUSE_REGION_LENGTH__) ? __FUSE_REGION_LENGTH__ : 1K;
|
|
__LOCK_REGION_LENGTH__ = DEFINED(__LOCK_REGION_LENGTH__) ? __LOCK_REGION_LENGTH__ : 1K;
|
|
__SIGNATURE_REGION_LENGTH__ = DEFINED(__SIGNATURE_REGION_LENGTH__) ? __SIGNATURE_REGION_LENGTH__ : 1K;
|
|
__USER_SIGNATURE_REGION_LENGTH__ = DEFINED(__USER_SIGNATURE_REGION_LENGTH__) ? __USER_SIGNATURE_REGION_LENGTH__ : 1K;
|
|
|
|
MEMORY
|
|
{
|
|
text (rx) : ORIGIN = 0, LENGTH = __TEXT_REGION_LENGTH__
|
|
data (rw!x) : ORIGIN = 0x802000, LENGTH = __DATA_REGION_LENGTH__
|
|
eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = __EEPROM_REGION_LENGTH__
|
|
fuse (rw!x) : ORIGIN = 0x820000, LENGTH = __FUSE_REGION_LENGTH__
|
|
lock (rw!x) : ORIGIN = 0x830000, LENGTH = __LOCK_REGION_LENGTH__
|
|
signature (rw!x) : ORIGIN = 0x840000, LENGTH = __SIGNATURE_REGION_LENGTH__
|
|
user_signatures (rw!x) : ORIGIN = 0x850000, LENGTH = __USER_SIGNATURE_REGION_LENGTH__
|
|
}
|
|
|
|
INCLUDE avr_common.ld
|