diff options
author | Ingo Albrecht <prom@berlin.ccc.de> | 2010-04-11 08:04:20 +0200 |
---|---|---|
committer | Ingo Albrecht <prom@berlin.ccc.de> | 2010-07-20 14:41:19 +0200 |
commit | 0068f87c1fa8e8ee788851b67f39dfd9ae307cb8 (patch) | |
tree | 7489a95e92bd7b8536be7fb2b78e8be20ae16eb0 /src/target/firmware/board | |
parent | 3936c397a7918fa8625355b5af39a371da6adc3a (diff) |
firmware: linker script and startup code reorg.
Diffstat (limited to 'src/target/firmware/board')
-rw-r--r-- | src/target/firmware/board/common/compal_osmoload.lds | 98 | ||||
-rw-r--r-- | src/target/firmware/board/compal/ram.lds (renamed from src/target/firmware/board/common/compal_ramload.lds) | 7 | ||||
-rw-r--r-- | src/target/firmware/board/compal/rffe_dualband.c (renamed from src/target/firmware/board/common/rffe_compal_dualband.c) | 0 | ||||
-rw-r--r-- | src/target/firmware/board/compal/start.S (renamed from src/target/firmware/board/common/compal_ramload_start.S) | 0 | ||||
-rw-r--r-- | src/target/firmware/board/compal_e88/loader.lds (renamed from src/target/firmware/board/common/compal_app.lds) | 0 |
5 files changed, 7 insertions, 98 deletions
diff --git a/src/target/firmware/board/common/compal_osmoload.lds b/src/target/firmware/board/common/compal_osmoload.lds deleted file mode 100644 index 2765ec22..00000000 --- a/src/target/firmware/board/common/compal_osmoload.lds +++ /dev/null @@ -1,98 +0,0 @@ -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) -MEMORY -{ - /* compal-loaded binary: text, initialized data */ - LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00010000 - /* compal-loaded binary: unitialized data, stacks, heap */ - DRAM (rw) : ORIGIN = 0x00810000, LENGTH = 0x00010000 - /* remainder of internal ram: this is where we are linking to */ - IRAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00020000 -} -SECTIONS -{ - . = 0x820000; - - /* initialization code */ - . = ALIGN(4); - .text.start : { - PROVIDE(_start = .); - KEEP(*(.text.start)) - *(.text.start) - } > IRAM - - /* exception vectors from 0x80001c to 0x800034 */ - .text.exceptions 0x80001c : AT (LOADADDR(.text.start) + SIZEOF(.text.start)) { - KEEP(*(.text.exceptions)) - * (.text.exceptions) - . = ALIGN(4); - - /* constructors and destructors */ - . = ALIGN(4); - __CTOR_LIST__ = .; - LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) - KEEP(*(SORT(.ctors))) - LONG(0) /* end of list */ - __CTOR_END__ = .; - __DTOR_LIST__ = .; - LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) - KEEP(*(SORT(.dtors))) - LONG(0) /* end of list */ - __DTOR_END__ = .; - } > LRAM - PROVIDE(_exceptions = LOADADDR(.text.exceptions)); - - /* code */ - . = ALIGN(4); - .text (LOADADDR(.text.exceptions) + SIZEOF(.text.exceptions)) : - AT (LOADADDR(.text.exceptions) + SIZEOF(.text.exceptions)) { - /* regular code */ - *(.text*) - /* gcc voodoo */ - *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) - } > IRAM - PROVIDE(_text_start = LOADADDR(.text)); - PROVIDE(_text_end = LOADADDR(.text) + SIZEOF(.text)); - - /* read-only data */ - . = ALIGN(4); - .rodata : { - *(.rodata*) - } > IRAM - PROVIDE(_rodata_start = LOADADDR(.rodata)); - PROVIDE(_rodata_end = LOADADDR(.rodata) + SIZEOF(.rodata)); - - /* initialized data */ - . = ALIGN(4); - .data : { - *(.data) - } > IRAM - PROVIDE(_data_start = LOADADDR(.data)); - PROVIDE(_data_end = LOADADDR(.data) + SIZEOF(.data)); - - /* pic offset tables */ - . = ALIGN(4); - .got : { - *(.got) - *(.got.plt) *(.igot.plt) *(.got) *(.igot) - } > IRAM - PROVIDE(_got_start = LOADADDR(.got)); - PROVIDE(_got_end = LOADADDR(.got) + SIZEOF(.got)); - - /* uninitialized data */ - .bss (NOLOAD) : { - . = ALIGN(4); - __bss_start = .; - *(.bss) - } > IRAM - . = ALIGN(4); - __bss_end = .; - PROVIDE(_bss_start = __bss_start); - PROVIDE(_bss_end = __bss_end); - - /* end of image */ - . = ALIGN(4); - _end = .; - PROVIDE(end = .); -} diff --git a/src/target/firmware/board/common/compal_ramload.lds b/src/target/firmware/board/compal/ram.lds index 00f0d001..d6df49a9 100644 --- a/src/target/firmware/board/common/compal_ramload.lds +++ b/src/target/firmware/board/compal/ram.lds @@ -1,3 +1,10 @@ +/* + * Linker script for running from internal SRAM on Compal phones + * + * This script is tailored specifically to the requirements imposed + * on us by the Compal bootloader. + * + */ OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) diff --git a/src/target/firmware/board/common/rffe_compal_dualband.c b/src/target/firmware/board/compal/rffe_dualband.c index bfd3d98e..bfd3d98e 100644 --- a/src/target/firmware/board/common/rffe_compal_dualband.c +++ b/src/target/firmware/board/compal/rffe_dualband.c diff --git a/src/target/firmware/board/common/compal_ramload_start.S b/src/target/firmware/board/compal/start.S index 3036fec9..3036fec9 100644 --- a/src/target/firmware/board/common/compal_ramload_start.S +++ b/src/target/firmware/board/compal/start.S diff --git a/src/target/firmware/board/common/compal_app.lds b/src/target/firmware/board/compal_e88/loader.lds index 3d821ae8..3d821ae8 100644 --- a/src/target/firmware/board/common/compal_app.lds +++ b/src/target/firmware/board/compal_e88/loader.lds |