summaryrefslogtreecommitdiffhomepage
path: root/digital/beacon/tests/twi/atmega1281.ld
diff options
context:
space:
mode:
authorFlorent Duchon2013-04-02 20:40:21 +0200
committerFlorent Duchon2013-04-02 20:46:43 +0200
commit2669e1fd2092b33c885166a7ddeecf74a7908dcc (patch)
treeb7ae649f49e8429a9431cf07be18b14cb7b5690f /digital/beacon/tests/twi/atmega1281.ld
parent5dc17041cb8b61ffd7734e86360d1519a6315d7f (diff)
digital/beacon/tests: add twi unitary test for lol-v2
Diffstat (limited to 'digital/beacon/tests/twi/atmega1281.ld')
-rw-r--r--digital/beacon/tests/twi/atmega1281.ld97
1 files changed, 97 insertions, 0 deletions
diff --git a/digital/beacon/tests/twi/atmega1281.ld b/digital/beacon/tests/twi/atmega1281.ld
new file mode 100644
index 00000000..056e2cad
--- /dev/null
+++ b/digital/beacon/tests/twi/atmega1281.ld
@@ -0,0 +1,97 @@
+OUTPUT_FORMAT("elf32-avr")
+OUTPUT_ARCH(avr:5)
+
+MEMORY
+{
+ text (rx) : ORIGIN = 0x00000000, LENGTH = 128K
+ data (rw!x) : ORIGIN = 0x00800200, LENGTH = 8K - 500 /* leave 500 bytes for stack */
+ eeprom (rw!x) : ORIGIN = 0x00810000, LENGTH = 4K
+}
+
+SECTIONS
+{
+ .text :
+ {
+ PROVIDE(__text_start = .);
+
+ *(.vectors)
+ KEEP(*(.vectors))
+
+ *(.progmem.gcc*)
+ *(.progmem*)
+ . = ALIGN(2);
+
+ *(.trampolines*)
+ *(.jumptables*)
+ *(.lowtext*)
+
+ *(.init0)
+ KEEP (*(.init0))
+ *(.init1)
+ KEEP (*(.init1))
+ *(.init2)
+ KEEP (*(.init2))
+ *(.init3)
+ KEEP (*(.init3))
+ *(.init4)
+ KEEP (*(.init4))
+ *(.init5)
+ KEEP (*(.init5))
+ *(.init6)
+ KEEP (*(.init6))
+ *(.init7)
+ KEEP (*(.init7))
+ *(.init8)
+ KEEP (*(.init8))
+
+ *(.text.main)
+ KEEP (*(.text.main))
+ *(.text)
+ *(.text.*)
+
+ PROVIDE(__text_end = .);
+ } > text
+
+ .data : AT (ADDR(.text) + SIZEOF(.text))
+ {
+ PROVIDE(__data_start = .);
+ *(.data*)
+ *(.rodata*)
+ *(.gnu.linkonce.d*)
+ . = ALIGN(2);
+ PROVIDE(__data_end = .);
+ } > data
+
+ .bss __data_end :
+ {
+ PROVIDE(__bss_start = .);
+ *(.bss*)
+ *(COMMON)
+ PROVIDE(__bss_end = .);
+ } > data
+
+ .noinit __bss_end :
+ {
+ *(.noinit*)
+ PROVIDE(__heap_start = .);
+ } > data
+
+ __stack_start = .;
+
+ __data_load_start = LOADADDR(.data);
+ __data_load_end = __data_load_start + SIZEOF(.data);
+
+ .eeprom :
+ {
+ FILL(0xff)
+ BYTE(0xff)
+ . = . + LENGTH(eeprom)-1;
+ } > eeprom
+
+ /DISCARD/ :
+ {
+ *(.init9)
+ *(.fini*)
+ }
+
+}