summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/board/common/compal_app.lds
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/firmware/board/common/compal_app.lds')
-rw-r--r--src/target/firmware/board/common/compal_app.lds107
1 files changed, 0 insertions, 107 deletions
diff --git a/src/target/firmware/board/common/compal_app.lds b/src/target/firmware/board/common/compal_app.lds
deleted file mode 100644
index 3d821ae8..00000000
--- a/src/target/firmware/board/common/compal_app.lds
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Linker script for flashed applications on the Compal E88
- *
- * This script creates a binary that can replace a standard firmware
- * located at 0x2000. It works in conjunction with the compal ramloader.
- *
- * The interrupt vectors and start address are at known, fixed offsets.
- *
- */
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-MEMORY
-{
- /* 2 MBytes of external flash memory */
- FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x200000
- /* 256 kBytes of internal zero-waitstate sram */
- IRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x040000
- /* 256 kBytes of external slow sram */
- ERAM (rw) : ORIGIN = 0x01000000, LENGTH = 0x040000
-}
-SECTIONS
-{
- /* Provide symbols for the compal loader */
- .compal.loader 0x00000000 (NOLOAD) : {
- _compal_loader_start = .;
- . = 0x2000;
- _compal_loader_end = .;
- } > FLASH
-
- /* Compal-style image header */
- .compal.header 0x00002000 : {
- _compal_header_start = .;
- KEEP(*(.compal.header))
- *(.compal.header)
- . = 0xA0;
- _compal_header_end = .;
- } > FLASH
-
- /* Compal-style vector table */
- .compal.vectors 0x000020A0 : {
- PROVIDE(_exceptions = .);
- KEEP(*(.text.exceptions))
- *(.text.exceptions)
- } > FLASH
-
- /* Compal-style entry point */
- .text.start 0x000020F8 : {
- PROVIDE(_start = .);
- KEEP(*(.text.start))
- *(.text.start)
- } > FLASH
-
- /* code */
- .text : {
- /* regular code */
- *(.text*)
- /* gcc voodoo */
- *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
- } > FLASH
- PROVIDE(_text_start = ADDR(.text));
- PROVIDE(_text_end = ADDR(.text) + SIZEOF(.text));
-
- /* read-only data */
- .rodata : {
- *(.rodata*)
- } > FLASH
- PROVIDE(_rodata_start = ADDR(.rodata));
- PROVIDE(_rodata_end = ADDR(.rodata) + SIZEOF(.rodata));
-
- /* pic offset tables */
- .got : {
- . = ALIGN(4);
- *(.got)
- *(.got.plt) *(.igot.plt) *(.got) *(.igot)
- . = ALIGN(4);
- } > FLASH
- PROVIDE(_got_start = ADDR(.got));
- PROVIDE(_got_end = ADDR(.got) + SIZEOF(.got));
-
- /* initialized data */
- .data : AT (LOADADDR(.got) + SIZEOF(.got)) {
- . = ALIGN(4);
- *(.data)
- . = ALIGN(4);
- } > IRAM
- PROVIDE(__data_start = LOADADDR(.data));
- PROVIDE(__data_end = LOADADDR(.data) + SIZEOF(.data));
- PROVIDE(_data_start = ADDR(.data));
- PROVIDE(_data_end = ADDR(.data) + SIZEOF(.data));
-
- /* uninitialized data */
- .bss (NOLOAD) : {
- . = ALIGN(4);
- *(.bss)
- . = ALIGN(4);
- } > IRAM
- PROVIDE(__bss_start = ADDR(.bss));
- PROVIDE(__bss_end = ADDR(.bss) + SIZEOF(.bss));
- PROVIDE(_bss_start = __bss_start);
- PROVIDE(_bss_end = __bss_end);
-
- /* end of image */
- . = ALIGN(4);
- _end = .;
- PROVIDE(end = .);
-}