diff --git a/boards/arm/a1x/pcduino-a10/scripts/sdram.ld b/boards/arm/a1x/pcduino-a10/scripts/sdram.ld index 7d736b55554..2a325346bd9 100644 --- a/boards/arm/a1x/pcduino-a10/scripts/sdram.ld +++ b/boards/arm/a1x/pcduino-a10/scripts/sdram.ld @@ -39,7 +39,7 @@ MEMORY { - sdram (W!RX) : ORIGIN = 0x4a000000, LENGTH = 864M + sdram (W!RX) : ORIGIN = 0x4a000000, LENGTH = 864M } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -49,85 +49,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > sdram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > sdram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sdram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sdram - .ARM.extab : - { - *(.ARM.extab*) - } > sdram + .ARM.extab : + { + *(.ARM.extab*) + } > sdram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > sdram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > sdram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sdram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sdram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sdram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sdram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sdram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sdram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/am335x/beaglebone-black/scripts/sdram.ld b/boards/arm/am335x/beaglebone-black/scripts/sdram.ld index d1549b14b36..82ef7b1721f 100644 --- a/boards/arm/am335x/beaglebone-black/scripts/sdram.ld +++ b/boards/arm/am335x/beaglebone-black/scripts/sdram.ld @@ -54,85 +54,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > ddr + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > ddr - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > ddr + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > ddr - .ARM.extab : - { - *(.ARM.extab*) - } > ddr + .ARM.extab : + { + *(.ARM.extab*) + } > ddr - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ddr - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > ddr + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > ddr + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > ddr - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > ddr + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > ddr - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > ddr + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > ddr - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/c5471/c5471evm/scripts/ld.script b/boards/arm/c5471/c5471evm/scripts/ld.script index 07fbaf2f160..a9f6a7a28da 100644 --- a/boards/arm/c5471/c5471evm/scripts/ld.script +++ b/boards/arm/c5471/c5471evm/scripts/ld.script @@ -89,9 +89,12 @@ SECTIONS _sbss = ABSOLUTE(.); *(.bss) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } - /* Stabs debugging sections. */ + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } diff --git a/boards/arm/cxd56xx/spresense/scripts/ramconfig.ld b/boards/arm/cxd56xx/spresense/scripts/ramconfig.ld index 674ceb7b12c..eea87a88517 100644 --- a/boards/arm/cxd56xx/spresense/scripts/ramconfig.ld +++ b/boards/arm/cxd56xx/spresense/scripts/ramconfig.ld @@ -37,7 +37,7 @@ MEMORY { - ram (rwx) : ORIGIN = 0x0d000000, LENGTH = 1536K + ram (rwx) : ORIGIN = 0x0d000000, LENGTH = 1536K } OUTPUT_ARCH(arm) @@ -46,74 +46,75 @@ EXTERN(_vectors) /* Force the vectors to be included in the output */ EXTERN(__stack) /* Force the __stack to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - Image$$MODLIST$$Base = .; - KEEP(*(.modulelist)) - Image$$MODLIST$$Limit = .; - _etext = ABSOLUTE(.); - } > ram + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + Image$$MODLIST$$Base = .; + KEEP(*(.modulelist)) + Image$$MODLIST$$Limit = .; + _etext = ABSOLUTE(.); + } > ram - .init_section : { - _sinit = ABSOLUTE(.); - KEEP(*(.init_array .init_array.*)) - _einit = ABSOLUTE(.); - } > ram + .init_section : { + _sinit = ABSOLUTE(.); + KEEP(*(.init_array .init_array.*)) + _einit = ABSOLUTE(.); + } > ram - .ARM.extab : { - *(.ARM.extab*) - } > ram + .ARM.extab : { + *(.ARM.extab*) + } > ram - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > ram - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > ram + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > ram + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > ram - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > ram + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > ram - /* __stack symbol is referred from mkspk tool - * and means the end address of heap region */ - PROVIDE(__stack = ORIGIN(ram) + LENGTH(ram)); + /* __stack symbol is referred from mkspk tool + * and means the end address of heap region */ + PROVIDE(__stack = ORIGIN(ram) + LENGTH(ram)); - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/dm320/ntosd-dm320/scripts/sdram.ld b/boards/arm/dm320/ntosd-dm320/scripts/sdram.ld index 6b2f5daf1f4..d4cfbde0ae9 100644 --- a/boards/arm/dm320/ntosd-dm320/scripts/sdram.ld +++ b/boards/arm/dm320/ntosd-dm320/scripts/sdram.ld @@ -37,49 +37,50 @@ OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - /* The OS entry point is here */ + /* The OS entry point is here */ - . = 0x00008000; - .text : { - _stext = ABSOLUTE(.); - *(.text) - *(.fixup) - *(.gnu.warning) - *(.rodata) - *(.glue_7) - *(.glue_7t) - *(.got) /* Global offset table */ - _etext = ABSOLUTE(.); - } + . = 0x00008000; + .text : { + _stext = ABSOLUTE(.); + *(.text) + *(.fixup) + *(.gnu.warning) + *(.rodata) + *(.glue_7) + *(.glue_7t) + *(.got) /* Global offset table */ + _etext = ABSOLUTE(.); + } - _eronly = ABSOLUTE(.); - . = ALIGN(4096); + _eronly = ABSOLUTE(.); + . = ALIGN(4096); - .data : { - _sdata = ABSOLUTE(.); - *(.data) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } + .data : { + _sdata = ABSOLUTE(.); + *(.data) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } - .bss : { - _sbss = ABSOLUTE(.); - *(.bss) - *(COMMON) - _ebss = ABSOLUTE(.); - } + .bss : { + _sbss = ABSOLUTE(.); + *(.bss) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/efm32/efm32-g8xx-stk/scripts/efm32-g8xx-stk.ld b/boards/arm/efm32/efm32-g8xx-stk/scripts/efm32-g8xx-stk.ld index 348df4f41f1..88d5c4f7f76 100644 --- a/boards/arm/efm32/efm32-g8xx-stk/scripts/efm32-g8xx-stk.ld +++ b/boards/arm/efm32/efm32-g8xx-stk/scripts/efm32-g8xx-stk.ld @@ -34,8 +34,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 131072 - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16384 + flash (rx) : ORIGIN = 0x00000000, LENGTH = 131072 + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16384 } OUTPUT_ARCH(arm) @@ -44,67 +44,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/efm32/efm32gg-stk3700/scripts/ld.script b/boards/arm/efm32/efm32gg-stk3700/scripts/ld.script index 9076ffb489f..8d5727875de 100644 --- a/boards/arm/efm32/efm32gg-stk3700/scripts/ld.script +++ b/boards/arm/efm32/efm32gg-stk3700/scripts/ld.script @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/efm32/olimex-efm32g880f128-stk/scripts/ld.script b/boards/arm/efm32/olimex-efm32g880f128-stk/scripts/ld.script index 276613a5a9b..a272a8e39a4 100644 --- a/boards/arm/efm32/olimex-efm32g880f128-stk/scripts/ld.script +++ b/boards/arm/efm32/olimex-efm32g880f128-stk/scripts/ld.script @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/imx6/sabre-6quad/scripts/dramboot.ld b/boards/arm/imx6/sabre-6quad/scripts/dramboot.ld index a1e6d1ea0ac..7130d1d8f99 100644 --- a/boards/arm/imx6/sabre-6quad/scripts/dramboot.ld +++ b/boards/arm/imx6/sabre-6quad/scripts/dramboot.ld @@ -44,8 +44,8 @@ MEMORY { - oscram (W!RX) : ORIGIN = 0x00900000, LENGTH = 256K - 16K - ddr3 (W!RX) : ORIGIN = 0x10800000, LENGTH = 1024M - 8M + oscram (W!RX) : ORIGIN = 0x00900000, LENGTH = 256K - 16K + ddr3 (W!RX) : ORIGIN = 0x10800000, LENGTH = 1024M - 8M } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -55,85 +55,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > ddr3 + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > ddr3 - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > ddr3 + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > ddr3 - .ARM.extab : - { - *(.ARM.extab*) - } > ddr3 + .ARM.extab : + { + *(.ARM.extab*) + } > ddr3 - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ddr3 - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > ddr3 + PROVIDE_HIDDEN (__exidx_end = .); - /* Uninitialized data */ + /* Uninitialized data */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > ddr3 + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > ddr3 - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > ddr3 + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > ddr3 - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > ddr3 + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > ddr3 - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/imxrt/imxrt1050-evk/scripts/flash-ocram.ld b/boards/arm/imxrt/imxrt1050-evk/scripts/flash-ocram.ld index 1f58a8ebf6b..f3475290a8f 100644 --- a/boards/arm/imxrt/imxrt1050-evk/scripts/flash-ocram.ld +++ b/boards/arm/imxrt/imxrt1050-evk/scripts/flash-ocram.ld @@ -37,10 +37,10 @@ MEMORY { - flash (rx) : ORIGIN = 0x60000000, LENGTH = 0x04000000 - sram (rwx) : ORIGIN = 0x20200000, LENGTH = 0x00080000 - itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 0x00020000 - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000 + flash (rx) : ORIGIN = 0x60000000, LENGTH = 0x04000000 + sram (rwx) : ORIGIN = 0x20200000, LENGTH = 0x00080000 + itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 0x00020000 + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000 } OUTPUT_ARCH(arm) @@ -54,101 +54,102 @@ ENTRY(_stext) SECTIONS { - /* Image Vector Table and Boot Data for booting from external flash */ + /* Image Vector Table and Boot Data for booting from external flash */ - .boot_hdr : ALIGN(4) - { - FILL(0xff) - __boot_hdr_start__ = ABSOLUTE(.) ; - KEEP(*(.boot_hdr.conf)) - . = 0x1000 ; - KEEP(*(.boot_hdr.ivt)) - . = 0x1020 ; - KEEP(*(.boot_hdr.boot_data)) - . = 0x1030 ; - KEEP(*(.boot_hdr.dcd_data)) - __boot_hdr_end__ = ABSOLUTE(.) ; - . = 0x2000 ; - } >flash + .boot_hdr : ALIGN(4) + { + FILL(0xff) + __boot_hdr_start__ = ABSOLUTE(.) ; + KEEP(*(.boot_hdr.conf)) + . = 0x1000 ; + KEEP(*(.boot_hdr.ivt)) + . = 0x1020 ; + KEEP(*(.boot_hdr.boot_data)) + . = 0x1030 ; + KEEP(*(.boot_hdr.dcd_data)) + __boot_hdr_end__ = ABSOLUTE(.) ; + . = 0x2000 ; + } >flash - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - .ARM.exidx : - { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > flash + .ARM.exidx : + { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > flash - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .ramfunc ALIGN(4): - { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > flash + .ramfunc ALIGN(4): + { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/imxrt/imxrt1050-evk/scripts/kernel-space.ld b/boards/arm/imxrt/imxrt1050-evk/scripts/kernel-space.ld index 75c8e920a16..b3106289008 100644 --- a/boards/arm/imxrt/imxrt1050-evk/scripts/kernel-space.ld +++ b/boards/arm/imxrt/imxrt1050-evk/scripts/kernel-space.ld @@ -97,6 +97,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > kocram diff --git a/boards/arm/imxrt/imxrt1050-evk/scripts/user-space.ld b/boards/arm/imxrt/imxrt1050-evk/scripts/user-space.ld index aee702881c7..968802de10f 100644 --- a/boards/arm/imxrt/imxrt1050-evk/scripts/user-space.ld +++ b/boards/arm/imxrt/imxrt1050-evk/scripts/user-space.ld @@ -113,6 +113,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > uocram diff --git a/boards/arm/imxrt/imxrt1060-evk/scripts/flash-ocram.ld b/boards/arm/imxrt/imxrt1060-evk/scripts/flash-ocram.ld index 8985688b890..86c7077440b 100644 --- a/boards/arm/imxrt/imxrt1060-evk/scripts/flash-ocram.ld +++ b/boards/arm/imxrt/imxrt1060-evk/scripts/flash-ocram.ld @@ -38,10 +38,10 @@ MEMORY { - flash (rx) : ORIGIN = 0x60000000, LENGTH = 8M - sram (rwx) : ORIGIN = 0x20200000, LENGTH = 512M - itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 128K - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + flash (rx) : ORIGIN = 0x60000000, LENGTH = 8M + sram (rwx) : ORIGIN = 0x20200000, LENGTH = 512M + itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 128K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -54,101 +54,102 @@ ENTRY(_stext) SECTIONS { - /* Image Vector Table and Boot Data for booting from external flash */ + /* Image Vector Table and Boot Data for booting from external flash */ - .boot_hdr : ALIGN(4) - { - FILL(0xff) - __boot_hdr_start__ = ABSOLUTE(.) ; - KEEP(*(.boot_hdr.conf)) - . = 0x1000 ; - KEEP(*(.boot_hdr.ivt)) - . = 0x1020 ; - KEEP(*(.boot_hdr.boot_data)) - . = 0x1030 ; - KEEP(*(.boot_hdr.dcd_data)) - __boot_hdr_end__ = ABSOLUTE(.) ; - . = 0x2000 ; - } >flash + .boot_hdr : ALIGN(4) + { + FILL(0xff) + __boot_hdr_start__ = ABSOLUTE(.) ; + KEEP(*(.boot_hdr.conf)) + . = 0x1000 ; + KEEP(*(.boot_hdr.ivt)) + . = 0x1020 ; + KEEP(*(.boot_hdr.boot_data)) + . = 0x1030 ; + KEEP(*(.boot_hdr.dcd_data)) + __boot_hdr_end__ = ABSOLUTE(.) ; + . = 0x2000 ; + } >flash - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - .ARM.exidx : - { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > flash + .ARM.exidx : + { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > flash - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .ramfunc ALIGN(4): - { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > flash + .ramfunc ALIGN(4): + { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/imxrt/imxrt1060-evk/scripts/kernel-space.ld b/boards/arm/imxrt/imxrt1060-evk/scripts/kernel-space.ld index c642f42dc50..8cd07322afc 100644 --- a/boards/arm/imxrt/imxrt1060-evk/scripts/kernel-space.ld +++ b/boards/arm/imxrt/imxrt1060-evk/scripts/kernel-space.ld @@ -98,6 +98,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > kocram diff --git a/boards/arm/imxrt/imxrt1060-evk/scripts/user-space.ld b/boards/arm/imxrt/imxrt1060-evk/scripts/user-space.ld index 6759f349f11..5ae101dc327 100644 --- a/boards/arm/imxrt/imxrt1060-evk/scripts/user-space.ld +++ b/boards/arm/imxrt/imxrt1060-evk/scripts/user-space.ld @@ -114,6 +114,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > uocram diff --git a/boards/arm/kinetis/freedom-k28f/scripts/flash.ld b/boards/arm/kinetis/freedom-k28f/scripts/flash.ld index 5d8c51b797c..b9b82296e66 100644 --- a/boards/arm/kinetis/freedom-k28f/scripts/flash.ld +++ b/boards/arm/kinetis/freedom-k28f/scripts/flash.ld @@ -55,11 +55,11 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 - progflash (rx) : ORIGIN = 0x00000800, LENGTH = 1M - 2K - tcm (rwx) : ORIGIN = 0x1ffc0000, LENGTH = 512K - ocram (rwx) : ORIGIN = 0x34000000, LENGTH = 512K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 + progflash (rx) : ORIGIN = 0x00000800, LENGTH = 1M - 2K + tcm (rwx) : ORIGIN = 0x1ffc0000, LENGTH = 512K + ocram (rwx) : ORIGIN = 0x34000000, LENGTH = 512K } OUTPUT_ARCH(arm) @@ -68,94 +68,95 @@ ENTRY(_stext) EXTERN(__flashconfigbytes) SECTIONS { - .vectors : - { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : + { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : - { - KEEP(*(.cfmconfig)) - } > cfmprotect + .cfmprotect : + { + KEEP(*(.cfmconfig)) + } > cfmprotect - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : - { - *(.ARM.extab*) - } > progflash + .ARM.extab : + { + *(.ARM.extab*) + } > progflash - .ARM.exidx : - { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : + { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > ocram AT > progflash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > ocram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): - { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > ocram AT > progflash + .ramfunc ALIGN(4): + { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > ocram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > ocram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > ocram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/kinetis/freedom-k64f/scripts/flash.ld b/boards/arm/kinetis/freedom-k64f/scripts/flash.ld index 3951587afb1..b22eaf5deeb 100644 --- a/boards/arm/kinetis/freedom-k64f/scripts/flash.ld +++ b/boards/arm/kinetis/freedom-k64f/scripts/flash.ld @@ -48,10 +48,10 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 - progflash (rx) : ORIGIN = 0x00000800, LENGTH = 1M - datasram (rwx) : ORIGIN = 0x1fff0000, LENGTH = 128K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 + progflash (rx) : ORIGIN = 0x00000800, LENGTH = 1M + datasram (rwx) : ORIGIN = 0x1fff0000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -60,84 +60,85 @@ ENTRY(_stext) EXTERN(__flashconfigbytes) SECTIONS { - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : { - KEEP(*(.cfmconfig)) - } > cfmprotect + .cfmprotect : { + KEEP(*(.cfmconfig)) + } > cfmprotect - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : { - *(.ARM.extab*) - } > progflash + .ARM.extab : { + *(.ARM.extab*) + } > progflash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datasram AT > progflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datasram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > datasram AT > progflash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > datasram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datasram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datasram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/kinetis/freedom-k66f/scripts/flash.ld b/boards/arm/kinetis/freedom-k66f/scripts/flash.ld index c7cdf3b8679..acf33d31178 100644 --- a/boards/arm/kinetis/freedom-k66f/scripts/flash.ld +++ b/boards/arm/kinetis/freedom-k66f/scripts/flash.ld @@ -45,10 +45,10 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 - progflash (rx) : ORIGIN = 0x00000410, LENGTH = 2M - (1K + 16) - datasram (rwx) : ORIGIN = 0x1fff0000, LENGTH = 256K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 + progflash (rx) : ORIGIN = 0x00000410, LENGTH = 2M - (1K + 16) + datasram (rwx) : ORIGIN = 0x1fff0000, LENGTH = 256K } OUTPUT_ARCH(arm) @@ -57,84 +57,85 @@ ENTRY(_stext) EXTERN(__flashconfigbytes) SECTIONS { - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : { - KEEP(*(.cfmconfig)) - } > cfmprotect + .cfmprotect : { + KEEP(*(.cfmconfig)) + } > cfmprotect - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : { - *(.ARM.extab*) - } > progflash + .ARM.extab : { + *(.ARM.extab*) + } > progflash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datasram AT > progflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datasram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > datasram AT > progflash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > datasram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datasram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datasram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/kinetis/kwikstik-k40/scripts/kwikstik-k40.ld b/boards/arm/kinetis/kwikstik-k40/scripts/kwikstik-k40.ld index eca4a5c82a1..10d7ea32749 100644 --- a/boards/arm/kinetis/kwikstik-k40/scripts/kwikstik-k40.ld +++ b/boards/arm/kinetis/kwikstik-k40/scripts/kwikstik-k40.ld @@ -48,10 +48,10 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 - progflash (rx) : ORIGIN = 0x00000800, LENGTH = 256K - 2K - datasram (rwx) : ORIGIN = 0x1fff8000, LENGTH = 64K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 + progflash (rx) : ORIGIN = 0x00000800, LENGTH = 256K - 2K + datasram (rwx) : ORIGIN = 0x1fff8000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -60,84 +60,85 @@ ENTRY(_stext) EXTERN(__flashconfigbytes) SECTIONS { - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : { - KEEP(*(.cfmconfig)) - } > cfmprotect + .cfmprotect : { + KEEP(*(.cfmconfig)) + } > cfmprotect - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : { - *(.ARM.extab*) - } > progflash + .ARM.extab : { + *(.ARM.extab*) + } > progflash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datasram AT > progflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datasram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > datasram AT > progflash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > datasram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datasram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datasram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/kinetis/teensy-3.x/scripts/mk20dx128vlh5.ld b/boards/arm/kinetis/teensy-3.x/scripts/mk20dx128vlh5.ld index fb7384cb68b..b61db9dd941 100644 --- a/boards/arm/kinetis/teensy-3.x/scripts/mk20dx128vlh5.ld +++ b/boards/arm/kinetis/teensy-3.x/scripts/mk20dx128vlh5.ld @@ -48,10 +48,10 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 - progflash (rx) : ORIGIN = 0x00000800, LENGTH = 128K - 2K - datasram (rwx) : ORIGIN = 0x1fffe000, LENGTH = 16K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 + progflash (rx) : ORIGIN = 0x00000800, LENGTH = 128K - 2K + datasram (rwx) : ORIGIN = 0x1fffe000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -60,84 +60,85 @@ ENTRY(_stext) EXTERN(__flashconfigbytes) SECTIONS { - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : { - KEEP(*(.cfmconfig)) - } > cfmprotect + .cfmprotect : { + KEEP(*(.cfmconfig)) + } > cfmprotect - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : { - *(.ARM.extab*) - } > progflash + .ARM.extab : { + *(.ARM.extab*) + } > progflash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datasram AT > progflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datasram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > datasram AT > progflash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > datasram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datasram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datasram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/kinetis/teensy-3.x/scripts/mk20dx256vlh7.ld b/boards/arm/kinetis/teensy-3.x/scripts/mk20dx256vlh7.ld index 7ca85b77880..062a945469e 100644 --- a/boards/arm/kinetis/teensy-3.x/scripts/mk20dx256vlh7.ld +++ b/boards/arm/kinetis/teensy-3.x/scripts/mk20dx256vlh7.ld @@ -48,10 +48,10 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 - progflash (rx) : ORIGIN = 0x00000800, LENGTH = 256K - 2K - datasram (rwx) : ORIGIN = 0x1fff8000, LENGTH = 64K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 + progflash (rx) : ORIGIN = 0x00000800, LENGTH = 256K - 2K + datasram (rwx) : ORIGIN = 0x1fff8000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -60,84 +60,85 @@ ENTRY(_stext) EXTERN(__flashconfigbytes) SECTIONS { - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : { - KEEP(*(.cfmconfig)) - } > cfmprotect + .cfmprotect : { + KEEP(*(.cfmconfig)) + } > cfmprotect - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : { - *(.ARM.extab*) - } > progflash + .ARM.extab : { + *(.ARM.extab*) + } > progflash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datasram AT > progflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datasram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > datasram AT > progflash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > datasram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datasram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datasram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/kinetis/twr-k60n512/scripts/twr-k60n512.ld b/boards/arm/kinetis/twr-k60n512/scripts/twr-k60n512.ld index d92408ac0c3..3521a2ce659 100644 --- a/boards/arm/kinetis/twr-k60n512/scripts/twr-k60n512.ld +++ b/boards/arm/kinetis/twr-k60n512/scripts/twr-k60n512.ld @@ -48,10 +48,10 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 - progflash (rx) : ORIGIN = 0x00000800, LENGTH = 512K - 2K - datasram (rwx) : ORIGIN = 0x1fff0000, LENGTH = 128K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 1K + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 16 + progflash (rx) : ORIGIN = 0x00000800, LENGTH = 512K - 2K + datasram (rwx) : ORIGIN = 0x1fff0000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -60,84 +60,85 @@ ENTRY(_stext) EXTERN(__flashconfigbytes) SECTIONS { - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : { - KEEP(*(.cfmconfig)) - } > cfmprotect + .cfmprotect : { + KEEP(*(.cfmconfig)) + } > cfmprotect - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : { - *(.ARM.extab*) - } > progflash + .ARM.extab : { + *(.ARM.extab*) + } > progflash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datasram AT > progflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datasram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > datasram AT > progflash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > datasram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datasram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datasram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/kinetis/twr-k64f120m/scripts/ld.script b/boards/arm/kinetis/twr-k64f120m/scripts/ld.script index ff66cf60213..3b5d6678390 100644 --- a/boards/arm/kinetis/twr-k64f120m/scripts/ld.script +++ b/boards/arm/kinetis/twr-k64f120m/scripts/ld.script @@ -124,6 +124,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > datasram diff --git a/boards/arm/kl/freedom-kl25z/scripts/freedom-kl25z.ld b/boards/arm/kl/freedom-kl25z/scripts/freedom-kl25z.ld index 7c4a7c70e00..68d724782a3 100644 --- a/boards/arm/kl/freedom-kl25z/scripts/freedom-kl25z.ld +++ b/boards/arm/kl/freedom-kl25z/scripts/freedom-kl25z.ld @@ -39,10 +39,10 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 0x00c0 - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 0x10 - progflash (rx) : ORIGIN = 0x00000410, LENGTH = 128K - 0x410 - datasram (rwx) : ORIGIN = 0x1ffff000, LENGTH = 16K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 0x00c0 + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 0x10 + progflash (rx) : ORIGIN = 0x00000410, LENGTH = 128K - 0x410 + datasram (rwx) : ORIGIN = 0x1ffff000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -51,84 +51,85 @@ EXTERN(_cfmconfig) ENTRY(_stext) SECTIONS { - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : { - *(.cfmconfig) - } > cfmprotect + .cfmprotect : { + *(.cfmconfig) + } > cfmprotect - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : { - *(.ARM.extab*) - } > progflash + .ARM.extab : { + *(.ARM.extab*) + } > progflash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datasram AT > progflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datasram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > datasram AT > progflash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > datasram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datasram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datasram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/kl/freedom-kl26z/scripts/freedom-kl26z.ld b/boards/arm/kl/freedom-kl26z/scripts/freedom-kl26z.ld index 27a22248575..f353dd99b95 100644 --- a/boards/arm/kl/freedom-kl26z/scripts/freedom-kl26z.ld +++ b/boards/arm/kl/freedom-kl26z/scripts/freedom-kl26z.ld @@ -39,10 +39,10 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 0x00c0 - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 0x10 - progflash (rx) : ORIGIN = 0x00000410, LENGTH = 128K - 0x410 - datasram (rwx) : ORIGIN = 0x1ffff000, LENGTH = 16K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 0x00c0 + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 0x10 + progflash (rx) : ORIGIN = 0x00000410, LENGTH = 128K - 0x410 + datasram (rwx) : ORIGIN = 0x1ffff000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -51,84 +51,85 @@ EXTERN(_cfmconfig) ENTRY(_stext) SECTIONS { - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : { - *(.cfmconfig) - } > cfmprotect + .cfmprotect : { + *(.cfmconfig) + } > cfmprotect - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : { - *(.ARM.extab*) - } > progflash + .ARM.extab : { + *(.ARM.extab*) + } > progflash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datasram AT > progflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datasram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > datasram AT > progflash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > datasram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datasram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datasram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/kl/teensy-lc/scripts/teensy-lc.ld b/boards/arm/kl/teensy-lc/scripts/teensy-lc.ld index f82eb78dea8..244ecb5dfb0 100644 --- a/boards/arm/kl/teensy-lc/scripts/teensy-lc.ld +++ b/boards/arm/kl/teensy-lc/scripts/teensy-lc.ld @@ -39,10 +39,10 @@ MEMORY { - vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 0x00c0 - cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 0x10 - progflash (rx) : ORIGIN = 0x00000410, LENGTH = 64K - 2K - 0x410 - datasram (rwx) : ORIGIN = 0x1ffff800, LENGTH = 8K + vectflash (rx) : ORIGIN = 0x00000000, LENGTH = 0x00c0 + cfmprotect (rx) : ORIGIN = 0x00000400, LENGTH = 0x10 + progflash (rx) : ORIGIN = 0x00000410, LENGTH = 64K - 2K - 0x410 + datasram (rwx) : ORIGIN = 0x1ffff800, LENGTH = 8K } OUTPUT_ARCH(arm) @@ -51,84 +51,85 @@ EXTERN(_cfmconfig) ENTRY(_stext) SECTIONS { - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectflash + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectflash - .cfmprotect : { - *(.cfmconfig) - } > cfmprotect + .cfmprotect : { + *(.cfmconfig) + } > cfmprotect - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progflash + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progflash - .ARM.extab : { - *(.ARM.extab*) - } > progflash + .ARM.extab : { + *(.ARM.extab*) + } > progflash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > progflash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > progflash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datasram AT > progflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datasram AT > progflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > datasram AT > progflash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > datasram AT > progflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datasram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datasram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lc823450/lc823450-xgevk/scripts/ld-ipl2.script b/boards/arm/lc823450/lc823450-xgevk/scripts/ld-ipl2.script index 280490a52ef..3a3e2f2d280 100644 --- a/boards/arm/lc823450/lc823450-xgevk/scripts/ld-ipl2.script +++ b/boards/arm/lc823450/lc823450-xgevk/scripts/ld-ipl2.script @@ -96,6 +96,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/lc823450/lc823450-xgevk/scripts/ld-spif-boot.script b/boards/arm/lc823450/lc823450-xgevk/scripts/ld-spif-boot.script index 006b22237b8..df716c0d5a7 100644 --- a/boards/arm/lc823450/lc823450-xgevk/scripts/ld-spif-boot.script +++ b/boards/arm/lc823450/lc823450-xgevk/scripts/ld-spif-boot.script @@ -107,6 +107,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/lc823450/lc823450-xgevk/scripts/ld.script b/boards/arm/lc823450/lc823450-xgevk/scripts/ld.script index 21efeb3c3a8..cc6ced53ca8 100644 --- a/boards/arm/lc823450/lc823450-xgevk/scripts/ld.script +++ b/boards/arm/lc823450/lc823450-xgevk/scripts/ld.script @@ -105,6 +105,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/lc823450/lc823450-xgevk/scripts/memory.ld b/boards/arm/lc823450/lc823450-xgevk/scripts/memory.ld index 07a172b4173..4c31f2b5114 100644 --- a/boards/arm/lc823450/lc823450-xgevk/scripts/memory.ld +++ b/boards/arm/lc823450/lc823450-xgevk/scripts/memory.ld @@ -37,15 +37,15 @@ MEMORY { - /* 1024Kb FLASH (tentative) */ + /* 1024Kb FLASH (tentative) */ - kflash (rx) : ORIGIN = 0x05000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x05020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x05040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x05000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x05020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x05040000, LENGTH = 768K - /* 256Kb SRAM (tentative) */ + /* 256Kb SRAM (tentative) */ - ksram (rwx) : ORIGIN = 0x020c0000, LENGTH = 32K - usram (rwx) : ORIGIN = 0x020c8000, LENGTH = 32K - xsram (rwx) : ORIGIN = 0x020d0000, LENGTH = 192K + ksram (rwx) : ORIGIN = 0x020c0000, LENGTH = 32K + usram (rwx) : ORIGIN = 0x020c8000, LENGTH = 32K + xsram (rwx) : ORIGIN = 0x020d0000, LENGTH = 192K } diff --git a/boards/arm/lc823450/lc823450-xgevk/scripts/user-space.ld b/boards/arm/lc823450/lc823450-xgevk/scripts/user-space.ld index 85e4cef5c8c..f5702bafd99 100644 --- a/boards/arm/lc823450/lc823450-xgevk/scripts/user-space.ld +++ b/boards/arm/lc823450/lc823450-xgevk/scripts/user-space.ld @@ -93,6 +93,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/lpc17xx_40xx/lincoln60/scripts/ld.script b/boards/arm/lpc17xx_40xx/lincoln60/scripts/ld.script index 756b033c758..0448eda7aab 100644 --- a/boards/arm/lpc17xx_40xx/lincoln60/scripts/ld.script +++ b/boards/arm/lpc17xx_40xx/lincoln60/scripts/ld.script @@ -98,6 +98,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram /* Stabs debugging sections. */ diff --git a/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/kernel-space.ld b/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/kernel-space.ld index a7b89335982..9bd148ea53b 100644 --- a/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/kernel-space.ld +++ b/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/kernel-space.ld @@ -90,6 +90,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/ld.script b/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/ld.script index 5225be24041..7d57b4702ac 100644 --- a/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/ld.script +++ b/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/ld.script @@ -106,6 +106,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > SRAM diff --git a/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/memory.ld b/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/memory.ld index 3cd31530496..a0783caec5a 100644 --- a/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/memory.ld +++ b/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/memory.ld @@ -81,20 +81,20 @@ MEMORY { - /* 256Kb FLASH */ + /* 256Kb FLASH */ - kflash (rx) : ORIGIN = 0x00000000, LENGTH = 256K /* More than needed */ - uflash (rx) : ORIGIN = 0x00040000, LENGTH = 256K + kflash (rx) : ORIGIN = 0x00000000, LENGTH = 256K /* More than needed */ + uflash (rx) : ORIGIN = 0x00040000, LENGTH = 256K - /* 64Kb of SRAM in the CPU block */ + /* 64Kb of SRAM in the CPU block */ - ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 4K /* May include waste */ - usram (rwx) : ORIGIN = 0x10001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x10002000, LENGTH = 24K /* All used as heap */ + ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 4K /* May include waste */ + usram (rwx) : ORIGIN = 0x10001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x10002000, LENGTH = 24K /* All used as heap */ - /* Other peripheral memory (free, nothing is linked here) */ + /* Other peripheral memory (free, nothing is linked here) */ - ahbram8_b0a(rwx) : ORIGIN = 0x20000000, LENGTH = 8K - ahbram8_b0b(rwx) : ORIGIN = 0x20002000, LENGTH = 8K - ahbram16(rwx) : ORIGIN = 0x20004000, LENGTH = 16K + ahbram8_b0a(rwx) : ORIGIN = 0x20000000, LENGTH = 8K + ahbram8_b0b(rwx) : ORIGIN = 0x20002000, LENGTH = 8K + ahbram16(rwx) : ORIGIN = 0x20004000, LENGTH = 16K } diff --git a/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/user-space.ld b/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/user-space.ld index 85d7a4c705a..bcc9ea991c7 100644 --- a/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/user-space.ld +++ b/boards/arm/lpc17xx_40xx/lpc4088-devkit/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/kernel-space.ld b/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/kernel-space.ld index b0b5dfcec0a..426ff155279 100644 --- a/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/kernel-space.ld +++ b/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/kernel-space.ld @@ -90,6 +90,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/ld.script b/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/ld.script index 5c510db2c43..40fe15f24b9 100644 --- a/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/ld.script +++ b/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/ld.script @@ -106,6 +106,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > SRAM diff --git a/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/memory.ld b/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/memory.ld index 55b97e6221e..4fbb5c7c9f2 100644 --- a/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/memory.ld +++ b/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/memory.ld @@ -81,20 +81,20 @@ MEMORY { - /* 256Kb FLASH */ + /* 256Kb FLASH */ - kflash (rx) : ORIGIN = 0x00000000, LENGTH = 256K /* More than needed */ - uflash (rx) : ORIGIN = 0x00040000, LENGTH = 256K + kflash (rx) : ORIGIN = 0x00000000, LENGTH = 256K /* More than needed */ + uflash (rx) : ORIGIN = 0x00040000, LENGTH = 256K - /* 64Kb of SRAM in the CPU block */ + /* 64Kb of SRAM in the CPU block */ - ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 4K /* May include waste */ - usram (rwx) : ORIGIN = 0x10001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x10002000, LENGTH = 24K /* All used as heap */ + ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 4K /* May include waste */ + usram (rwx) : ORIGIN = 0x10001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x10002000, LENGTH = 24K /* All used as heap */ - /* Other peripheral memory (free, nothing is linked here) */ + /* Other peripheral memory (free, nothing is linked here) */ - ahbram8_b0a(rwx) : ORIGIN = 0x20000000, LENGTH = 8K - ahbram8_b0b(rwx) : ORIGIN = 0x20002000, LENGTH = 8K - ahbram16(rwx) : ORIGIN = 0x20004000, LENGTH = 16K + ahbram8_b0a(rwx) : ORIGIN = 0x20000000, LENGTH = 8K + ahbram8_b0b(rwx) : ORIGIN = 0x20002000, LENGTH = 8K + ahbram16(rwx) : ORIGIN = 0x20004000, LENGTH = 16K } diff --git a/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/user-space.ld b/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/user-space.ld index 60ae9e13ce8..be6f1b5bcec 100644 --- a/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/user-space.ld +++ b/boards/arm/lpc17xx_40xx/lpc4088-quickstart/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/lpc17xx_40xx/lpcxpresso-lpc1768/scripts/ld.script b/boards/arm/lpc17xx_40xx/lpcxpresso-lpc1768/scripts/ld.script index 8ca235aac8b..f88c7b811c7 100644 --- a/boards/arm/lpc17xx_40xx/lpcxpresso-lpc1768/scripts/ld.script +++ b/boards/arm/lpc17xx_40xx/lpcxpresso-lpc1768/scripts/ld.script @@ -98,6 +98,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/kernel-space.ld b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/kernel-space.ld index ced2f901edb..5e66382454e 100644 --- a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/kernel-space.ld +++ b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-flash-app.ld b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-flash-app.ld index b8e6ad7f5e5..0c24b4abe52 100644 --- a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-flash-app.ld +++ b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-flash-app.ld @@ -109,6 +109,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > SRAM diff --git a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-flash-boot.ld b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-flash-boot.ld index 6e7a5ac1246..2d127da0682 100644 --- a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-flash-boot.ld +++ b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-flash-boot.ld @@ -107,6 +107,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > SRAM diff --git a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-sdram.ld b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-sdram.ld index 50631920320..516741fdd19 100644 --- a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-sdram.ld +++ b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/link-sdram.ld @@ -111,6 +111,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > SRAM diff --git a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/memory.ld b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/memory.ld index d04ffb60577..06e3b704867 100644 --- a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/memory.ld +++ b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/memory.ld @@ -78,21 +78,21 @@ MEMORY { - /* 256Kb FLASH */ + /* 256Kb FLASH */ - kflash (rx) : ORIGIN = 0x00000000, LENGTH = 64K - uflash (rx) : ORIGIN = 0x00010000, LENGTH = 64K - xflash (rx) : ORIGIN = 0x00010000, LENGTH = 384K + kflash (rx) : ORIGIN = 0x00000000, LENGTH = 64K + uflash (rx) : ORIGIN = 0x00010000, LENGTH = 64K + xflash (rx) : ORIGIN = 0x00010000, LENGTH = 384K - /* 64Kb of SRAM in the CPU block */ + /* 64Kb of SRAM in the CPU block */ - ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x10001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x10001000, LENGTH = 56K + ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x10001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x10001000, LENGTH = 56K - /* Other peripheral memory (free, nothing is linked here) */ + /* Other peripheral memory (free, nothing is linked here) */ - ahbram8_b0a(rwx) : ORIGIN = 0x20000000, LENGTH = 8K - ahbram8_b0b(rwx) : ORIGIN = 0x20002000, LENGTH = 8K - ahbram16(rwx) : ORIGIN = 0x20004000, LENGTH = 16K + ahbram8_b0a(rwx) : ORIGIN = 0x20000000, LENGTH = 8K + ahbram8_b0b(rwx) : ORIGIN = 0x20002000, LENGTH = 8K + ahbram16(rwx) : ORIGIN = 0x20004000, LENGTH = 16K } diff --git a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/user-space.ld b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/user-space.ld index 6e7518ade0a..0d77ca1689f 100644 --- a/boards/arm/lpc17xx_40xx/lx_cpu/scripts/user-space.ld +++ b/boards/arm/lpc17xx_40xx/lx_cpu/scripts/user-space.ld @@ -90,6 +90,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/lpc17xx_40xx/mbed/scripts/ld.script b/boards/arm/lpc17xx_40xx/mbed/scripts/ld.script index 64579ca35cb..ee2376fed45 100644 --- a/boards/arm/lpc17xx_40xx/mbed/scripts/ld.script +++ b/boards/arm/lpc17xx_40xx/mbed/scripts/ld.script @@ -98,6 +98,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram /* Stabs debugging sections. */ diff --git a/boards/arm/lpc17xx_40xx/mcb1700/scripts/ld.script b/boards/arm/lpc17xx_40xx/mcb1700/scripts/ld.script index fb0e225663f..c12f400e0a1 100644 --- a/boards/arm/lpc17xx_40xx/mcb1700/scripts/ld.script +++ b/boards/arm/lpc17xx_40xx/mcb1700/scripts/ld.script @@ -98,6 +98,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram /* Stabs debugging sections. */ diff --git a/boards/arm/lpc17xx_40xx/olimex-lpc1766stk/scripts/ld.script b/boards/arm/lpc17xx_40xx/olimex-lpc1766stk/scripts/ld.script index 4b35dc7f924..36e8f28a327 100644 --- a/boards/arm/lpc17xx_40xx/olimex-lpc1766stk/scripts/ld.script +++ b/boards/arm/lpc17xx_40xx/olimex-lpc1766stk/scripts/ld.script @@ -98,6 +98,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/lpc17xx_40xx/open1788/scripts/kernel-space.ld b/boards/arm/lpc17xx_40xx/open1788/scripts/kernel-space.ld index 3252fd81e89..a6ee3b81cca 100644 --- a/boards/arm/lpc17xx_40xx/open1788/scripts/kernel-space.ld +++ b/boards/arm/lpc17xx_40xx/open1788/scripts/kernel-space.ld @@ -90,6 +90,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/lpc17xx_40xx/open1788/scripts/ld.script b/boards/arm/lpc17xx_40xx/open1788/scripts/ld.script index 114d4a24e08..12d55e55f07 100644 --- a/boards/arm/lpc17xx_40xx/open1788/scripts/ld.script +++ b/boards/arm/lpc17xx_40xx/open1788/scripts/ld.script @@ -105,6 +105,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > SRAM diff --git a/boards/arm/lpc17xx_40xx/open1788/scripts/memory.ld b/boards/arm/lpc17xx_40xx/open1788/scripts/memory.ld index 2d898f7370d..225729b26fd 100644 --- a/boards/arm/lpc17xx_40xx/open1788/scripts/memory.ld +++ b/boards/arm/lpc17xx_40xx/open1788/scripts/memory.ld @@ -81,20 +81,20 @@ MEMORY { - /* 256Kb FLASH */ + /* 256Kb FLASH */ - kflash (rx) : ORIGIN = 0x00000000, LENGTH = 256K /* More than needed */ - uflash (rx) : ORIGIN = 0x00040000, LENGTH = 256K + kflash (rx) : ORIGIN = 0x00000000, LENGTH = 256K /* More than needed */ + uflash (rx) : ORIGIN = 0x00040000, LENGTH = 256K - /* 64Kb of SRAM in the CPU block */ + /* 64Kb of SRAM in the CPU block */ - ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 4K /* May include waste */ - usram (rwx) : ORIGIN = 0x10001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x10002000, LENGTH = 24K /* All used as heap */ + ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 4K /* May include waste */ + usram (rwx) : ORIGIN = 0x10001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x10002000, LENGTH = 24K /* All used as heap */ - /* Other peripheral memory (free, nothing is linked here) */ + /* Other peripheral memory (free, nothing is linked here) */ - ahbram8_b0a(rwx) : ORIGIN = 0x20000000, LENGTH = 8K - ahbram8_b0b(rwx) : ORIGIN = 0x20002000, LENGTH = 8K - ahbram16(rwx) : ORIGIN = 0x20004000, LENGTH = 16K + ahbram8_b0a(rwx) : ORIGIN = 0x20000000, LENGTH = 8K + ahbram8_b0b(rwx) : ORIGIN = 0x20002000, LENGTH = 8K + ahbram16(rwx) : ORIGIN = 0x20004000, LENGTH = 16K } diff --git a/boards/arm/lpc17xx_40xx/open1788/scripts/user-space.ld b/boards/arm/lpc17xx_40xx/open1788/scripts/user-space.ld index 78426315569..fa3ac573454 100644 --- a/boards/arm/lpc17xx_40xx/open1788/scripts/user-space.ld +++ b/boards/arm/lpc17xx_40xx/open1788/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/lpc17xx_40xx/pnev5180b/scripts/flash.ld b/boards/arm/lpc17xx_40xx/pnev5180b/scripts/flash.ld index 62e2ce17123..facb5720239 100644 --- a/boards/arm/lpc17xx_40xx/pnev5180b/scripts/flash.ld +++ b/boards/arm/lpc17xx_40xx/pnev5180b/scripts/flash.ld @@ -47,69 +47,70 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x10000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x10000000, LENGTH = 32K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .ARM.extab : { - *(.ARM.extab*) - } >sram + .ARM.extab : { + *(.ARM.extab*) + } >sram - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } >sram - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } >sram + __exidx_end = ABSOLUTE(.); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc17xx_40xx/pnev5180b/scripts/kernel-space.ld b/boards/arm/lpc17xx_40xx/pnev5180b/scripts/kernel-space.ld index 3b66e1adbbd..96a3cc1d27e 100644 --- a/boards/arm/lpc17xx_40xx/pnev5180b/scripts/kernel-space.ld +++ b/boards/arm/lpc17xx_40xx/pnev5180b/scripts/kernel-space.ld @@ -95,6 +95,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/lpc17xx_40xx/pnev5180b/scripts/memory.ld b/boards/arm/lpc17xx_40xx/pnev5180b/scripts/memory.ld index 89653ee44d7..37bdb37c83e 100644 --- a/boards/arm/lpc17xx_40xx/pnev5180b/scripts/memory.ld +++ b/boards/arm/lpc17xx_40xx/pnev5180b/scripts/memory.ld @@ -47,13 +47,13 @@ MEMORY { - /* 512Kb FLASH - Leave 256Kb for application usage */ + /* 512Kb FLASH - Leave 256Kb for application usage */ - kflash (rx) : ORIGIN = 0x00000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x00020000, LENGTH = 128K + kflash (rx) : ORIGIN = 0x00000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x00020000, LENGTH = 128K - /* 32Kb of SRAM in the CPU block - Leave 32Kb of AHB SRAM for app usage */ + /* 32Kb of SRAM in the CPU block - Leave 32Kb of AHB SRAM for app usage */ - ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 16K - usram (rwx) : ORIGIN = 0x10004000, LENGTH = 16K + ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 16K + usram (rwx) : ORIGIN = 0x10004000, LENGTH = 16K } diff --git a/boards/arm/lpc17xx_40xx/pnev5180b/scripts/user-space.ld b/boards/arm/lpc17xx_40xx/pnev5180b/scripts/user-space.ld index eb6816bc9de..af8e540171b 100644 --- a/boards/arm/lpc17xx_40xx/pnev5180b/scripts/user-space.ld +++ b/boards/arm/lpc17xx_40xx/pnev5180b/scripts/user-space.ld @@ -96,6 +96,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/lpc17xx_40xx/u-blox-c027/scripts/u-blox-c027.ld b/boards/arm/lpc17xx_40xx/u-blox-c027/scripts/u-blox-c027.ld index 4d7fca2c301..cf0a6236e2e 100644 --- a/boards/arm/lpc17xx_40xx/u-blox-c027/scripts/u-blox-c027.ld +++ b/boards/arm/lpc17xx_40xx/u-blox-c027/scripts/u-blox-c027.ld @@ -42,8 +42,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x10000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x10000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -51,68 +51,69 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc17xx_40xx/zkit-arm-1769/scripts/ld.script b/boards/arm/lpc17xx_40xx/zkit-arm-1769/scripts/ld.script index 16976632348..e3b66209522 100644 --- a/boards/arm/lpc17xx_40xx/zkit-arm-1769/scripts/ld.script +++ b/boards/arm/lpc17xx_40xx/zkit-arm-1769/scripts/ld.script @@ -97,6 +97,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/lpc214x/mcu123-lpc214x/scripts/ld.script b/boards/arm/lpc214x/mcu123-lpc214x/scripts/ld.script index 1bcff2a17cc..be667892ce2 100644 --- a/boards/arm/lpc214x/mcu123-lpc214x/scripts/ld.script +++ b/boards/arm/lpc214x/mcu123-lpc214x/scripts/ld.script @@ -101,6 +101,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/lpc214x/zp214xpa/scripts/ld.script b/boards/arm/lpc214x/zp214xpa/scripts/ld.script index 69d2def275d..758f4987128 100644 --- a/boards/arm/lpc214x/zp214xpa/scripts/ld.script +++ b/boards/arm/lpc214x/zp214xpa/scripts/ld.script @@ -101,6 +101,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/lpc2378/olimex-lpc2378/scripts/ld.script b/boards/arm/lpc2378/olimex-lpc2378/scripts/ld.script index 71a99cb2283..f849c8a2ec5 100644 --- a/boards/arm/lpc2378/olimex-lpc2378/scripts/ld.script +++ b/boards/arm/lpc2378/olimex-lpc2378/scripts/ld.script @@ -102,6 +102,7 @@ SECTIONS *(.bss.*) *(.gnu.linkonce.b*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > RAM diff --git a/boards/arm/lpc31xx/ea3131/locked/ld-locked.script b/boards/arm/lpc31xx/ea3131/locked/ld-locked.script index 95bbd5e87a4..a186d7de510 100644 --- a/boards/arm/lpc31xx/ea3131/locked/ld-locked.script +++ b/boards/arm/lpc31xx/ea3131/locked/ld-locked.script @@ -37,7 +37,7 @@ INCLUDE ld-locked.inc OUTPUT_ARCH(arm) SECTIONS { - .text.locked : { *(.text .text.*) } - .data : { *(.data) } - .bss : { *(.bss) *(COMMON) } + .text.locked : { *(.text .text.*) } + .data : { *(.data) } + .bss : { *(.bss) *(COMMON) } } diff --git a/boards/arm/lpc31xx/ea3131/scripts/ld.script b/boards/arm/lpc31xx/ea3131/scripts/ld.script index b68607320c9..26a82c492a4 100644 --- a/boards/arm/lpc31xx/ea3131/scripts/ld.script +++ b/boards/arm/lpc31xx/ea3131/scripts/ld.script @@ -95,6 +95,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > isram diff --git a/boards/arm/lpc31xx/ea3131/scripts/pg-ld.script b/boards/arm/lpc31xx/ea3131/scripts/pg-ld.script index a634dc378b9..e7427864de0 100644 --- a/boards/arm/lpc31xx/ea3131/scripts/pg-ld.script +++ b/boards/arm/lpc31xx/ea3131/scripts/pg-ld.script @@ -68,90 +68,91 @@ MEMORY { - locked (rx) : ORIGIN = 0x11029080, LENGTH = 48K - 4224 - paged (rx) : ORIGIN = 0x11034000, LENGTH = 384K - data (rw) : ORIGIN = 0x11094000, LENGTH = 44K + locked (rx) : ORIGIN = 0x11029080, LENGTH = 48K - 4224 + paged (rx) : ORIGIN = 0x11034000, LENGTH = 384K + data (rw) : ORIGIN = 0x11094000, LENGTH = 44K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .locked : { - _slocked = ABSOLUTE(.); - *(.vectors) - up_head.o locked.r (.text .text.*) - up_head.o locked.r (.fixup) - up_head.o locked.r (.gnu.warning) - up_head.o locked.r (.rodata .rodata.*) - up_head.o locked.r (.gnu.linkonce.t.*) - up_head.o locked.r (.glue_7) - up_head.o locked.r (.glue_7t) - up_head.o locked.r (.got) - up_head.o locked.r (.gcc_except_table) - up_head.o locked.r (.gnu.linkonce.r.*) - _elocked = ABSOLUTE(.); - } >locked + .locked : { + _slocked = ABSOLUTE(.); + *(.vectors) + up_head.o locked.r (.text .text.*) + up_head.o locked.r (.fixup) + up_head.o locked.r (.gnu.warning) + up_head.o locked.r (.rodata .rodata.*) + up_head.o locked.r (.gnu.linkonce.t.*) + up_head.o locked.r (.glue_7) + up_head.o locked.r (.glue_7t) + up_head.o locked.r (.got) + up_head.o locked.r (.gcc_except_table) + up_head.o locked.r (.gnu.linkonce.r.*) + _elocked = ABSOLUTE(.); + } >locked - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > locked + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > locked - .ARM.extab : { - *(.ARM.extab*) - } > locked + .ARM.extab : { + *(.ARM.extab*) + } > locked - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > locked - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > locked + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .paged : { - _spaged = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _epaged = ABSOLUTE(.); - } > paged + .paged : { + _spaged = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _epaged = ABSOLUTE(.); + } > paged - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > data AT > locked + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > data AT > locked - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > data - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > data + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc31xx/ea3152/scripts/ea3152.ld b/boards/arm/lpc31xx/ea3152/scripts/ea3152.ld index f3f66251f0e..5e252fd8028 100644 --- a/boards/arm/lpc31xx/ea3152/scripts/ea3152.ld +++ b/boards/arm/lpc31xx/ea3152/scripts/ea3152.ld @@ -48,66 +48,67 @@ OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > isram + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > isram - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > isram + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > isram - .ARM.extab : { - *(.ARM.extab*) - } > isram + .ARM.extab : { + *(.ARM.extab*) + } > isram - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > isram - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > isram + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > isram + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > isram - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > isram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > isram + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc31xx/olimex-lpc-h3131/scripts/ld.script b/boards/arm/lpc31xx/olimex-lpc-h3131/scripts/ld.script index 007aff36243..9656b6dc93b 100644 --- a/boards/arm/lpc31xx/olimex-lpc-h3131/scripts/ld.script +++ b/boards/arm/lpc31xx/olimex-lpc-h3131/scripts/ld.script @@ -95,6 +95,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > isram diff --git a/boards/arm/lpc43xx/bambino-200e/scripts/memory.ld b/boards/arm/lpc43xx/bambino-200e/scripts/memory.ld index 881ceb387c0..cc259704025 100644 --- a/boards/arm/lpc43xx/bambino-200e/scripts/memory.ld +++ b/boards/arm/lpc43xx/bambino-200e/scripts/memory.ld @@ -86,15 +86,15 @@ MEMORY { - /* 1024Kb FLASH */ + /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x14000000, LENGTH = 256K - uflash (rx) : ORIGIN = 0x14040000, LENGTH = 256K - xflash (rx) : ORIGIN = 0x14080000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x14000000, LENGTH = 256K + uflash (rx) : ORIGIN = 0x14040000, LENGTH = 256K + xflash (rx) : ORIGIN = 0x14080000, LENGTH = 768K - /* 128Kb of contiguous SRAM */ + /* 128Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 16K - usram (rwx) : ORIGIN = 0x10004000, LENGTH = 16K - xsram (rwx) : ORIGIN = 0x10008000, LENGTH = 96K + ksram (rwx) : ORIGIN = 0x10000000, LENGTH = 16K + usram (rwx) : ORIGIN = 0x10004000, LENGTH = 16K + xsram (rwx) : ORIGIN = 0x10008000, LENGTH = 96K } diff --git a/boards/arm/lpc43xx/bambino-200e/scripts/ramconfig.ld b/boards/arm/lpc43xx/bambino-200e/scripts/ramconfig.ld index 8866cbd8dd6..765256d9ef7 100644 --- a/boards/arm/lpc43xx/bambino-200e/scripts/ramconfig.ld +++ b/boards/arm/lpc43xx/bambino-200e/scripts/ramconfig.ld @@ -86,66 +86,67 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/bambino-200e/scripts/spificonfig.ld b/boards/arm/lpc43xx/bambino-200e/scripts/spificonfig.ld index 3535bc5d722..5f3446a3ffd 100644 --- a/boards/arm/lpc43xx/bambino-200e/scripts/spificonfig.ld +++ b/boards/arm/lpc43xx/bambino-200e/scripts/spificonfig.ld @@ -82,66 +82,67 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/bambino-200e/scripts/user-space.ld b/boards/arm/lpc43xx/bambino-200e/scripts/user-space.ld index 4905533f989..f7e240b2c3b 100644 --- a/boards/arm/lpc43xx/bambino-200e/scripts/user-space.ld +++ b/boards/arm/lpc43xx/bambino-200e/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/lpc43xx/lpc4330-xplorer/scripts/ramconfig.ld b/boards/arm/lpc43xx/lpc4330-xplorer/scripts/ramconfig.ld index 11c87bc2c42..60d9dda5a6e 100644 --- a/boards/arm/lpc43xx/lpc4330-xplorer/scripts/ramconfig.ld +++ b/boards/arm/lpc43xx/lpc4330-xplorer/scripts/ramconfig.ld @@ -85,66 +85,67 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/lpc4330-xplorer/scripts/spificonfig.ld b/boards/arm/lpc43xx/lpc4330-xplorer/scripts/spificonfig.ld index 5a2f288a122..03b09452bfe 100644 --- a/boards/arm/lpc43xx/lpc4330-xplorer/scripts/spificonfig.ld +++ b/boards/arm/lpc43xx/lpc4330-xplorer/scripts/spificonfig.ld @@ -81,66 +81,67 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/lpc4337-ws/scripts/flashaconfig.ld b/boards/arm/lpc43xx/lpc4337-ws/scripts/flashaconfig.ld index ae0149b9115..9c4297a0b25 100644 --- a/boards/arm/lpc43xx/lpc4337-ws/scripts/flashaconfig.ld +++ b/boards/arm/lpc43xx/lpc4337-ws/scripts/flashaconfig.ld @@ -77,75 +77,76 @@ MEMORY { - progmem (rx) : ORIGIN = 0x1A000000, LENGTH = 512K - datamem (rwx) : ORIGIN = 0x10000000, LENGTH = 32K + progmem (rx) : ORIGIN = 0x1A000000, LENGTH = 512K + datamem (rwx) : ORIGIN = 0x10000000, LENGTH = 32K } OUTPUT_ARCH(arm) -ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ -EXTERN(_vectors) /* Force the vectors to be included in the output */ +ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ +EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/lpc4337-ws/scripts/ramconfig.ld b/boards/arm/lpc43xx/lpc4337-ws/scripts/ramconfig.ld index d20b70ca47a..27be7c97a34 100644 --- a/boards/arm/lpc43xx/lpc4337-ws/scripts/ramconfig.ld +++ b/boards/arm/lpc43xx/lpc4337-ws/scripts/ramconfig.ld @@ -76,75 +76,76 @@ MEMORY { - progmem (rx) : ORIGIN = 0x10000000, LENGTH = 128K - datamem (rwx) : ORIGIN = 0x10080000, LENGTH = 72K + progmem (rx) : ORIGIN = 0x10000000, LENGTH = 128K + datamem (rwx) : ORIGIN = 0x10080000, LENGTH = 72K } OUTPUT_ARCH(arm) -ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ -EXTERN(_vectors) /* Force the vectors to be included in the output */ +ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ +EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/lpc4357-evb/scripts/flashaconfig.ld b/boards/arm/lpc43xx/lpc4357-evb/scripts/flashaconfig.ld index eb44ccad6c7..dbae2b4def9 100644 --- a/boards/arm/lpc43xx/lpc4357-evb/scripts/flashaconfig.ld +++ b/boards/arm/lpc43xx/lpc4357-evb/scripts/flashaconfig.ld @@ -86,66 +86,67 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/lpc4357-evb/scripts/ramconfig.ld b/boards/arm/lpc43xx/lpc4357-evb/scripts/ramconfig.ld index 0f57a7d2e0d..49d6c1ae8fe 100644 --- a/boards/arm/lpc43xx/lpc4357-evb/scripts/ramconfig.ld +++ b/boards/arm/lpc43xx/lpc4357-evb/scripts/ramconfig.ld @@ -66,8 +66,8 @@ MEMORY { - progmem (rx) : ORIGIN = 0x10000000, LENGTH = 128K - datamem (rwx) : ORIGIN = 0x10080000, LENGTH = 72K + progmem (rx) : ORIGIN = 0x10000000, LENGTH = 128K + datamem (rwx) : ORIGIN = 0x10080000, LENGTH = 72K } OUTPUT_ARCH(arm) @@ -75,66 +75,67 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/lpc4357-evb/scripts/spificonfig.ld b/boards/arm/lpc43xx/lpc4357-evb/scripts/spificonfig.ld index 239dfe7d084..67084679a01 100644 --- a/boards/arm/lpc43xx/lpc4357-evb/scripts/spificonfig.ld +++ b/boards/arm/lpc43xx/lpc4357-evb/scripts/spificonfig.ld @@ -56,8 +56,8 @@ MEMORY { - progmem (rx) : ORIGIN = 0x14000000, LENGTH = 1024K - datamem (rwx) : ORIGIN = 0x10000000, LENGTH = 128K + progmem (rx) : ORIGIN = 0x14000000, LENGTH = 1024K + datamem (rwx) : ORIGIN = 0x10000000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -65,66 +65,67 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/lpc4370-link2/scripts/ramconfig.ld b/boards/arm/lpc43xx/lpc4370-link2/scripts/ramconfig.ld index b785434bd9d..3edcbe2d9e9 100644 --- a/boards/arm/lpc43xx/lpc4370-link2/scripts/ramconfig.ld +++ b/boards/arm/lpc43xx/lpc4370-link2/scripts/ramconfig.ld @@ -85,66 +85,67 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc43xx/lpc4370-link2/scripts/spificonfig.ld b/boards/arm/lpc43xx/lpc4370-link2/scripts/spificonfig.ld index a3ef87c2161..a1eb1810271 100644 --- a/boards/arm/lpc43xx/lpc4370-link2/scripts/spificonfig.ld +++ b/boards/arm/lpc43xx/lpc4370-link2/scripts/spificonfig.ld @@ -81,69 +81,70 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(EXCLUDE_FILE (*spifilib*) .text .text.*) - *(.fixup) - *(.gnu.warning) - *(EXCLUDE_FILE (*spifilib*) .rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(EXCLUDE_FILE (*spifilib*) .text .text.*) + *(.fixup) + *(.gnu.warning) + *(EXCLUDE_FILE (*spifilib*) .rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *spifilib*(.text .text.*) - *spifilib*( .rodata .rodata.*) - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *spifilib*(.text .text.*) + *spifilib*( .rodata .rodata.*) + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/lpc54xx/lpcxpresso-lpc54628/scripts/flash.ld b/boards/arm/lpc54xx/lpcxpresso-lpc54628/scripts/flash.ld index 58d4234f1f2..7297a3907e4 100644 --- a/boards/arm/lpc54xx/lpcxpresso-lpc54628/scripts/flash.ld +++ b/boards/arm/lpc54xx/lpcxpresso-lpc54628/scripts/flash.ld @@ -50,67 +50,68 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : { - *(.ARM.extab*) - } > progmem + .ARM.extab : { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/max326xx/max32660-evsys/scripts/flash.ld b/boards/arm/max326xx/max32660-evsys/scripts/flash.ld index b2cbab12dee..dd8f1eda4f2 100644 --- a/boards/arm/max326xx/max32660-evsys/scripts/flash.ld +++ b/boards/arm/max326xx/max32660-evsys/scripts/flash.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K } OUTPUT_ARCH(arm) @@ -49,67 +49,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/max326xx/max32660-evsys/scripts/sram.ld b/boards/arm/max326xx/max32660-evsys/scripts/sram.ld index fba6f638c81..a8b60ddf7c0 100644 --- a/boards/arm/max326xx/max32660-evsys/scripts/sram.ld +++ b/boards/arm/max326xx/max32660-evsys/scripts/sram.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K } OUTPUT_ARCH(arm) @@ -49,67 +49,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > sram + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > sram - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sram + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sram - .ARM.extab : { - *(.ARM.extab*) - } > sram + .ARM.extab : { + *(.ARM.extab*) + } > sram - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > sram - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > sram + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/moxart/moxa/scripts/moxa.ld b/boards/arm/moxart/moxa/scripts/moxa.ld index f7ffa513501..fc5b7e09d8a 100644 --- a/boards/arm/moxart/moxa/scripts/moxa.ld +++ b/boards/arm/moxart/moxa/scripts/moxa.ld @@ -39,83 +39,84 @@ MEMORY { - flash (rx) : ORIGIN = 0x80050020, LENGTH = 1728K - sram0 (rwx) : ORIGIN = 0x00000000, LENGTH = 2M + flash (rx) : ORIGIN = 0x80050020, LENGTH = 1728K + sram0 (rwx) : ORIGIN = 0x00000000, LENGTH = 2M } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > sram0 + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > sram0 - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sram0 + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sram0 - .ARM.extab : { - *(.ARM.extab*) - } > sram0 + .ARM.extab : { + *(.ARM.extab*) + } > sram0 - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > sram0 + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > sram0 - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram0 + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram0 - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram0 + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram0 - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram0 + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram0 - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/nrf52/nrf52-generic/scripts/flash_config.ld b/boards/arm/nrf52/nrf52-generic/scripts/flash_config.ld index f1ceacf8d70..ea8445cb853 100644 --- a/boards/arm/nrf52/nrf52-generic/scripts/flash_config.ld +++ b/boards/arm/nrf52/nrf52-generic/scripts/flash_config.ld @@ -35,8 +35,8 @@ MEMORY { - progmem (rx) : ORIGIN = 0x00000000, LENGTH = 512K - datamem (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + progmem (rx) : ORIGIN = 0x00000000, LENGTH = 512K + datamem (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -44,76 +44,77 @@ ENTRY(__start) /* Treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* Force the vectors to be included in the output */ SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > progmem + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > progmem - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > progmem + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > progmem - .ARM.extab : - { - *(.ARM.extab*) - } > progmem + .ARM.extab : + { + *(.ARM.extab*) + } > progmem - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > progmem - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > progmem + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > datamem AT > progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > datamem AT > progmem - /* BSS */ + /* BSS */ - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > datamem + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > datamem - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/nuc1xx/nutiny-nuc120/scripts/nutiny-nuc120.ld b/boards/arm/nuc1xx/nutiny-nuc120/scripts/nutiny-nuc120.ld index 8bb50ce3961..27b6cab3770 100644 --- a/boards/arm/nuc1xx/nutiny-nuc120/scripts/nutiny-nuc120.ld +++ b/boards/arm/nuc1xx/nutiny-nuc120/scripts/nutiny-nuc120.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 128K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 128K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -49,67 +49,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/s32k1xx/s32k118evb/scripts/flash.ld b/boards/arm/s32k1xx/s32k118evb/scripts/flash.ld index 7334bd67d4a..c6c4ca6b08e 100644 --- a/boards/arm/s32k1xx/s32k118evb/scripts/flash.ld +++ b/boards/arm/s32k1xx/s32k118evb/scripts/flash.ld @@ -119,6 +119,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/s32k1xx/s32k146evb/scripts/flash.ld b/boards/arm/s32k1xx/s32k146evb/scripts/flash.ld index dee129edf56..6fddc850b67 100644 --- a/boards/arm/s32k1xx/s32k146evb/scripts/flash.ld +++ b/boards/arm/s32k1xx/s32k146evb/scripts/flash.ld @@ -119,6 +119,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/s32k1xx/s32k146evb/scripts/sram.ld b/boards/arm/s32k1xx/s32k146evb/scripts/sram.ld index f8d607b1312..4e6df77e2c2 100644 --- a/boards/arm/s32k1xx/s32k146evb/scripts/sram.ld +++ b/boards/arm/s32k1xx/s32k146evb/scripts/sram.ld @@ -107,6 +107,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/s32k1xx/s32k148evb/scripts/flash.ld b/boards/arm/s32k1xx/s32k148evb/scripts/flash.ld index 053757a8c56..6f3e7aec9de 100644 --- a/boards/arm/s32k1xx/s32k148evb/scripts/flash.ld +++ b/boards/arm/s32k1xx/s32k148evb/scripts/flash.ld @@ -119,6 +119,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/s32k1xx/s32k148evb/scripts/sram.ld b/boards/arm/s32k1xx/s32k148evb/scripts/sram.ld index fa0a523de92..e1968b537e7 100644 --- a/boards/arm/s32k1xx/s32k148evb/scripts/sram.ld +++ b/boards/arm/s32k1xx/s32k148evb/scripts/sram.ld @@ -107,6 +107,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/sam34/arduino-due/scripts/arduino-due.ld b/boards/arm/sam34/arduino-due/scripts/arduino-due.ld index df1fb17c8a1..61de2afa590 100644 --- a/boards/arm/sam34/arduino-due/scripts/arduino-due.ld +++ b/boards/arm/sam34/arduino-due/scripts/arduino-due.ld @@ -39,10 +39,10 @@ MEMORY { - flash (rx) : ORIGIN = 0x00080000, LENGTH = 512K - sram0 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram1 (rwx) : ORIGIN = 0x20080000, LENGTH = 32K - nfcram (rwx) : ORIGIN = 0x20100000, LENGTH = 4K + flash (rx) : ORIGIN = 0x00080000, LENGTH = 512K + sram0 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram1 (rwx) : ORIGIN = 0x20080000, LENGTH = 32K + nfcram (rwx) : ORIGIN = 0x20100000, LENGTH = 4K } OUTPUT_ARCH(arm) @@ -50,83 +50,84 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } >flash + .ARM.extab : + { + *(.ARM.extab*) + } >flash - .ARM.exidx : - { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >flash + .ARM.exidx : + { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } >flash - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram0 AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram0 AT > flash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): - { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram0 AT > flash + .ramfunc ALIGN(4): + { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram0 AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram0 + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram0 - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sam34/flipnclick-sam3x/scripts/flash.ld b/boards/arm/sam34/flipnclick-sam3x/scripts/flash.ld index 7fb80391446..2dd525a4124 100644 --- a/boards/arm/sam34/flipnclick-sam3x/scripts/flash.ld +++ b/boards/arm/sam34/flipnclick-sam3x/scripts/flash.ld @@ -39,10 +39,10 @@ MEMORY { - flash (rx) : ORIGIN = 0x00080000, LENGTH = 512K - sram0 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram1 (rwx) : ORIGIN = 0x20080000, LENGTH = 32K - nfcram (rwx) : ORIGIN = 0x20100000, LENGTH = 4K + flash (rx) : ORIGIN = 0x00080000, LENGTH = 512K + sram0 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram1 (rwx) : ORIGIN = 0x20080000, LENGTH = 32K + nfcram (rwx) : ORIGIN = 0x20100000, LENGTH = 4K } OUTPUT_ARCH(arm) @@ -50,83 +50,84 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } >flash + .ARM.extab : + { + *(.ARM.extab*) + } >flash - .ARM.exidx : - { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >flash + .ARM.exidx : + { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } >flash - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram0 AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram0 AT > flash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): - { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram0 AT > flash + .ramfunc ALIGN(4): + { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram0 AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram0 + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram0 - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sam34/sam3u-ek/scripts/kernel-space.ld b/boards/arm/sam34/sam3u-ek/scripts/kernel-space.ld index e81b7f33b16..deb2a508fe1 100644 --- a/boards/arm/sam34/sam3u-ek/scripts/kernel-space.ld +++ b/boards/arm/sam34/sam3u-ek/scripts/kernel-space.ld @@ -42,68 +42,69 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > kflash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > kflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > kflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > kflash - .ARM.extab : { - *(.ARM.extab*) - } > kflash + .ARM.extab : { + *(.ARM.extab*) + } > kflash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > kflash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > kflash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > ksram1 AT > kflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > ksram1 AT > kflash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > ksram1 + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > ksram1 - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sam34/sam3u-ek/scripts/ld.script b/boards/arm/sam34/sam3u-ek/scripts/ld.script index 4c2d7c57809..31bfc837473 100644 --- a/boards/arm/sam34/sam3u-ek/scripts/ld.script +++ b/boards/arm/sam34/sam3u-ek/scripts/ld.script @@ -100,6 +100,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram1 diff --git a/boards/arm/sam34/sam3u-ek/scripts/memory.ld b/boards/arm/sam34/sam3u-ek/scripts/memory.ld index 110d240eda4..20706416ae6 100644 --- a/boards/arm/sam34/sam3u-ek/scripts/memory.ld +++ b/boards/arm/sam34/sam3u-ek/scripts/memory.ld @@ -79,19 +79,19 @@ MEMORY { - /* 256Kb FLASH */ + /* 256Kb FLASH */ - kflash (rx) : ORIGIN = 0x00080000, LENGTH = 64K - uflash (rx) : ORIGIN = 0x00090000, LENGTH = 64K - xflash (rx) : ORIGIN = 0x000a0000, LENGTH = 128K + kflash (rx) : ORIGIN = 0x00080000, LENGTH = 64K + uflash (rx) : ORIGIN = 0x00090000, LENGTH = 64K + xflash (rx) : ORIGIN = 0x000a0000, LENGTH = 128K - /* 32Kb SRAM */ + /* 32Kb SRAM */ - ksram1 (rwx) : ORIGIN = 0x20000000, LENGTH = 4K - usram1 (rwx) : ORIGIN = 0x20001000, LENGTH = 4K - xsram1 (rwx) : ORIGIN = 0x20002000, LENGTH = 24K + ksram1 (rwx) : ORIGIN = 0x20000000, LENGTH = 4K + usram1 (rwx) : ORIGIN = 0x20001000, LENGTH = 4K + xsram1 (rwx) : ORIGIN = 0x20002000, LENGTH = 24K - /* 16Kb SRAM */ + /* 16Kb SRAM */ - sram2 (rwx) : ORIGIN = 0x20080000, LENGTH = 16K + sram2 (rwx) : ORIGIN = 0x20080000, LENGTH = 16K } diff --git a/boards/arm/sam34/sam3u-ek/scripts/user-space.ld b/boards/arm/sam34/sam3u-ek/scripts/user-space.ld index 3a25f6ba41a..0365ece71ca 100644 --- a/boards/arm/sam34/sam3u-ek/scripts/user-space.ld +++ b/boards/arm/sam34/sam3u-ek/scripts/user-space.ld @@ -40,72 +40,73 @@ OUTPUT_ARCH(arm) SECTIONS { - .userspace : { - *(.userspace) - } > uflash + .userspace : { + *(.userspace) + } > uflash - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > uflash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > uflash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > uflash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > uflash - .ARM.extab : { - *(.ARM.extab*) - } > uflash + .ARM.extab : { + *(.ARM.extab*) + } > uflash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > uflash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > uflash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > usram1 AT > uflash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > usram1 AT > uflash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > usram1 + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > usram1 - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sam34/sam4cmp-db/scripts/sam4cmp-db.ld b/boards/arm/sam34/sam4cmp-db/scripts/sam4cmp-db.ld index 74e47c94e7c..2ad61ab21f7 100644 --- a/boards/arm/sam34/sam4cmp-db/scripts/sam4cmp-db.ld +++ b/boards/arm/sam34/sam4cmp-db/scripts/sam4cmp-db.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x01000000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + flash (rx) : ORIGIN = 0x01000000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -48,75 +48,76 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } >flash + .ARM.extab : { + *(.ARM.extab*) + } >flash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >flash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } >flash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > flash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sam34/sam4e-ek/scripts/flash.ld b/boards/arm/sam34/sam4e-ek/scripts/flash.ld index 267b1139dda..2bf726fa609 100644 --- a/boards/arm/sam34/sam4e-ek/scripts/flash.ld +++ b/boards/arm/sam34/sam4e-ek/scripts/flash.ld @@ -42,8 +42,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00400000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + flash (rx) : ORIGIN = 0x00400000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -51,67 +51,68 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sam34/sam4l-xplained/scripts/sam4l-xplained.ld b/boards/arm/sam34/sam4l-xplained/scripts/sam4l-xplained.ld index 8a1dd019b44..0ad9a10de88 100644 --- a/boards/arm/sam34/sam4l-xplained/scripts/sam4l-xplained.ld +++ b/boards/arm/sam34/sam4l-xplained/scripts/sam4l-xplained.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -48,75 +48,76 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } >flash + .ARM.extab : { + *(.ARM.extab*) + } >flash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >flash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } >flash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > flash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sam34/sam4s-xplained-pro/scripts/sam4s-xplained-pro.ld b/boards/arm/sam34/sam4s-xplained-pro/scripts/sam4s-xplained-pro.ld index a8284b398d4..2e9b6966d36 100644 --- a/boards/arm/sam34/sam4s-xplained-pro/scripts/sam4s-xplained-pro.ld +++ b/boards/arm/sam34/sam4s-xplained-pro/scripts/sam4s-xplained-pro.ld @@ -43,9 +43,9 @@ MEMORY { - flash0 (rx) : ORIGIN = 0x00400000, LENGTH = 1024K - flash1 (rx) : ORIGIN = 0x00500000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 160K + flash0 (rx) : ORIGIN = 0x00400000, LENGTH = 1024K + flash1 (rx) : ORIGIN = 0x00500000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 160K } OUTPUT_ARCH(arm) @@ -53,75 +53,76 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash0 + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash0 - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash0 + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash0 - .ARM.extab : { - *(.ARM.extab*) - } >flash0 + .ARM.extab : { + *(.ARM.extab*) + } >flash0 - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >flash0 + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } >flash0 - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash0 + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash0 - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > flash0 + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram AT > flash0 - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sam34/sam4s-xplained/scripts/sam4s-xplained.ld b/boards/arm/sam34/sam4s-xplained/scripts/sam4s-xplained.ld index 650985db0d7..9eb2e42aa00 100644 --- a/boards/arm/sam34/sam4s-xplained/scripts/sam4s-xplained.ld +++ b/boards/arm/sam34/sam4s-xplained/scripts/sam4s-xplained.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00400000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + flash (rx) : ORIGIN = 0x00400000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -48,75 +48,76 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } >flash + .ARM.extab : { + *(.ARM.extab*) + } >flash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >flash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } >flash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > flash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d2-xult/scripts/dramboot.ld b/boards/arm/sama5/sama5d2-xult/scripts/dramboot.ld index c9f7717764f..d4c176e0085 100644 --- a/boards/arm/sama5/sama5d2-xult/scripts/dramboot.ld +++ b/boards/arm/sama5/sama5d2-xult/scripts/dramboot.ld @@ -43,8 +43,8 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K - sdram (W!RX) : ORIGIN = 0x20000000, LENGTH = 256M + isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K + sdram (W!RX) : ORIGIN = 0x20000000, LENGTH = 256M } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -54,85 +54,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > sdram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > sdram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sdram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sdram - .ARM.extab : - { - *(.ARM.extab*) - } > sdram + .ARM.extab : + { + *(.ARM.extab*) + } > sdram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > sdram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > sdram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sdram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sdram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sdram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sdram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sdram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sdram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d2-xult/scripts/isram.ld b/boards/arm/sama5/sama5d2-xult/scripts/isram.ld index 5e1955aa5fb..b4ee429a8b4 100644 --- a/boards/arm/sama5/sama5d2-xult/scripts/isram.ld +++ b/boards/arm/sama5/sama5d2-xult/scripts/isram.ld @@ -41,7 +41,7 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K + isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -51,84 +51,85 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > isram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > isram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > isram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > isram - .ARM.extab : { - *(.ARM.extab*) - } > isram + .ARM.extab : { + *(.ARM.extab*) + } > isram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > isram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > isram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > isram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > isram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > isram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > isram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > isram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > isram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d2-xult/scripts/uboot.ld b/boards/arm/sama5/sama5d2-xult/scripts/uboot.ld index 7b84abf55fd..e34168bf77d 100644 --- a/boards/arm/sama5/sama5d2-xult/scripts/uboot.ld +++ b/boards/arm/sama5/sama5d2-xult/scripts/uboot.ld @@ -44,8 +44,8 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K - sdram (W!RX) : ORIGIN = 0x20008000, LENGTH = 256M - 32K + isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K + sdram (W!RX) : ORIGIN = 0x20008000, LENGTH = 256M - 32K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -55,85 +55,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > sdram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > sdram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sdram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sdram - .ARM.extab : - { - *(.ARM.extab*) - } > sdram + .ARM.extab : + { + *(.ARM.extab*) + } > sdram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > sdram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > sdram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sdram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sdram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sdram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sdram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sdram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sdram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d3-xplained/scripts/ddram.ld b/boards/arm/sama5/sama5d3-xplained/scripts/ddram.ld index 3bcae2aef58..13d56db2976 100644 --- a/boards/arm/sama5/sama5d3-xplained/scripts/ddram.ld +++ b/boards/arm/sama5/sama5d3-xplained/scripts/ddram.ld @@ -44,8 +44,8 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x300000, LENGTH = 128K - 16K - sdram (W!RX) : ORIGIN = 0x20008000, LENGTH = 256M - 32K + isram (W!RX) : ORIGIN = 0x300000, LENGTH = 128K - 16K + sdram (W!RX) : ORIGIN = 0x20008000, LENGTH = 256M - 32K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -55,85 +55,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > sdram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > sdram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sdram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sdram - .ARM.extab : - { - *(.ARM.extab*) - } > sdram + .ARM.extab : + { + *(.ARM.extab*) + } > sdram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > sdram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > sdram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sdram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sdram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sdram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sdram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sdram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sdram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d3-xplained/scripts/isram.ld b/boards/arm/sama5/sama5d3-xplained/scripts/isram.ld index 8f10c94a6f7..08248ddaabb 100644 --- a/boards/arm/sama5/sama5d3-xplained/scripts/isram.ld +++ b/boards/arm/sama5/sama5d3-xplained/scripts/isram.ld @@ -41,7 +41,7 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x300000, LENGTH = 128K - 16K + isram (W!RX) : ORIGIN = 0x300000, LENGTH = 128K - 16K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -51,85 +51,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > isram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > isram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > isram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > isram - .ARM.extab : - { - *(.ARM.extab*) - } > isram + .ARM.extab : + { + *(.ARM.extab*) + } > isram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > isram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > isram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > isram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > isram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > isram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > isram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > isram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > isram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d3x-ek/scripts/ddram.ld b/boards/arm/sama5/sama5d3x-ek/scripts/ddram.ld index 8a6ae27915c..6805da388a6 100644 --- a/boards/arm/sama5/sama5d3x-ek/scripts/ddram.ld +++ b/boards/arm/sama5/sama5d3x-ek/scripts/ddram.ld @@ -44,8 +44,8 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x300000, LENGTH = 128K - 16K - sdram (W!RX) : ORIGIN = 0x20008000, LENGTH = 2G - 32K + isram (W!RX) : ORIGIN = 0x300000, LENGTH = 128K - 16K + sdram (W!RX) : ORIGIN = 0x20008000, LENGTH = 2G - 32K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -55,85 +55,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > sdram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > sdram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sdram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sdram - .ARM.extab : - { - *(.ARM.extab*) - } > sdram + .ARM.extab : + { + *(.ARM.extab*) + } > sdram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > sdram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > sdram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sdram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sdram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sdram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sdram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sdram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sdram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d3x-ek/scripts/isram.ld b/boards/arm/sama5/sama5d3x-ek/scripts/isram.ld index 2df580e71c0..9ba889442be 100644 --- a/boards/arm/sama5/sama5d3x-ek/scripts/isram.ld +++ b/boards/arm/sama5/sama5d3x-ek/scripts/isram.ld @@ -41,7 +41,7 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x300000, LENGTH = 128K - 16K + isram (W!RX) : ORIGIN = 0x300000, LENGTH = 128K - 16K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -51,85 +51,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > isram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > isram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > isram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > isram - .ARM.extab : - { - *(.ARM.extab*) - } > isram + .ARM.extab : + { + *(.ARM.extab*) + } > isram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > isram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > isram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > isram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > isram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > isram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > isram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > isram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > isram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d3x-ek/scripts/nor-ddram.ld b/boards/arm/sama5/sama5d3x-ek/scripts/nor-ddram.ld index da1ac5dc9f6..4ae2dbd4a01 100644 --- a/boards/arm/sama5/sama5d3x-ek/scripts/nor-ddram.ld +++ b/boards/arm/sama5/sama5d3x-ek/scripts/nor-ddram.ld @@ -48,9 +48,9 @@ MEMORY { - norflash (W!RX) : ORIGIN = 0x10000000, LENGTH = 128M - isram (WR) : ORIGIN = 0x00304000, LENGTH = 128K - 16K - sdram (W!RX) : ORIGIN = 0x20000000, LENGTH = 256K + norflash (W!RX) : ORIGIN = 0x10000000, LENGTH = 128M + isram (WR) : ORIGIN = 0x00304000, LENGTH = 128K - 16K + sdram (W!RX) : ORIGIN = 0x20000000, LENGTH = 256K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -60,87 +60,88 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > norflash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > norflash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > norflash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > norflash - .ARM.extab : - { - *(.ARM.extab*) - } > norflash + .ARM.extab : + { + *(.ARM.extab*) + } > norflash - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > norflash - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > norflash + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sdram AT > norflash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sdram AT > norflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sdram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sdram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sdram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sdram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d3x-ek/scripts/nor-isram.ld b/boards/arm/sama5/sama5d3x-ek/scripts/nor-isram.ld index db5a4183e44..42d28df62b9 100644 --- a/boards/arm/sama5/sama5d3x-ek/scripts/nor-isram.ld +++ b/boards/arm/sama5/sama5d3x-ek/scripts/nor-isram.ld @@ -45,8 +45,8 @@ MEMORY { - norflash (W!RX) : ORIGIN = 0x10000000, LENGTH = 128M - isram (WRX) : ORIGIN = 0x00304000, LENGTH = 128K - 16K + norflash (W!RX) : ORIGIN = 0x10000000, LENGTH = 128M + isram (WRX) : ORIGIN = 0x00304000, LENGTH = 128K - 16K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -56,96 +56,97 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > norflash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > norflash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > norflash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > norflash - .ARM.extab : - { - *(.ARM.extab*) - } > norflash + .ARM.extab : + { + *(.ARM.extab*) + } > norflash - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - .ARM.exidx : - { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - __exidx_end = ABSOLUTE(.); - } > norflash + .ARM.exidx : + { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + __exidx_end = ABSOLUTE(.); + } > norflash - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > isram AT > norflash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > isram AT > norflash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > isram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > isram - .ramfunc ALIGN(4): - { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > isram AT > norflash + .ramfunc ALIGN(4): + { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > isram AT > norflash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > isram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > isram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d3x-ek/scripts/pg-sram.ld b/boards/arm/sama5/sama5d3x-ek/scripts/pg-sram.ld index 0223c4b9882..58d3091b7bb 100644 --- a/boards/arm/sama5/sama5d3x-ek/scripts/pg-sram.ld +++ b/boards/arm/sama5/sama5d3x-ek/scripts/pg-sram.ld @@ -79,96 +79,97 @@ ENTRY(_stext) SECTIONS { - .locked : - { - _slocked = ABSOLUTE(.); - *(.vectors) - up_head.o locked.r (.text .text.*) - up_head.o locked.r (.fixup) - up_head.o locked.r (.gnu.warning) - up_head.o locked.r (.rodata .rodata.*) - up_head.o locked.r (.gnu.linkonce.t.*) - up_head.o locked.r (.glue_7) - up_head.o locked.r (.glue_7t) - up_head.o locked.r (.got) - up_head.o locked.r (.gcc_except_table) - up_head.o locked.r (.gnu.linkonce.r.*) - _elocked = ABSOLUTE(.); - } >locked + .locked : + { + _slocked = ABSOLUTE(.); + *(.vectors) + up_head.o locked.r (.text .text.*) + up_head.o locked.r (.fixup) + up_head.o locked.r (.gnu.warning) + up_head.o locked.r (.rodata .rodata.*) + up_head.o locked.r (.gnu.linkonce.t.*) + up_head.o locked.r (.glue_7) + up_head.o locked.r (.glue_7t) + up_head.o locked.r (.got) + up_head.o locked.r (.gcc_except_table) + up_head.o locked.r (.gnu.linkonce.r.*) + _elocked = ABSOLUTE(.); + } >locked - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > locked + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > locked - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > isram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > isram + PROVIDE_HIDDEN (__exidx_end = .); - .paged : - { - _spaged = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _epaged = ABSOLUTE(.); - } > paged + .paged : + { + _spaged = ABSOLUTE(.); + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _epaged = ABSOLUTE(.); + } > paged - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > data AT > locked + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > data AT > locked - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > data + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > data - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > data + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > data - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d4-ek/scripts/dramboot.ld b/boards/arm/sama5/sama5d4-ek/scripts/dramboot.ld index 452c28a6672..bfe6ec1344b 100644 --- a/boards/arm/sama5/sama5d4-ek/scripts/dramboot.ld +++ b/boards/arm/sama5/sama5d4-ek/scripts/dramboot.ld @@ -43,8 +43,8 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K - sdram (W!RX) : ORIGIN = 0x20000000, LENGTH = 256M + isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K + sdram (W!RX) : ORIGIN = 0x20000000, LENGTH = 256M } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -54,85 +54,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > sdram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > sdram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sdram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sdram - .ARM.extab : - { - *(.ARM.extab*) - } > sdram + .ARM.extab : + { + *(.ARM.extab*) + } > sdram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > sdram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > sdram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sdram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sdram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sdram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sdram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sdram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sdram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d4-ek/scripts/isram.ld b/boards/arm/sama5/sama5d4-ek/scripts/isram.ld index 7584df46a50..648c22bd06b 100644 --- a/boards/arm/sama5/sama5d4-ek/scripts/isram.ld +++ b/boards/arm/sama5/sama5d4-ek/scripts/isram.ld @@ -41,7 +41,7 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K + isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -51,85 +51,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > isram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > isram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > isram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > isram - .ARM.extab : - { - *(.ARM.extab*) - } > isram + .ARM.extab : + { + *(.ARM.extab*) + } > isram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > isram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > isram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > isram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > isram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > isram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > isram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > isram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > isram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/sama5/sama5d4-ek/scripts/uboot.ld b/boards/arm/sama5/sama5d4-ek/scripts/uboot.ld index 3ff397773c4..75164f73117 100644 --- a/boards/arm/sama5/sama5d4-ek/scripts/uboot.ld +++ b/boards/arm/sama5/sama5d4-ek/scripts/uboot.ld @@ -44,8 +44,8 @@ MEMORY { - isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K - sdram (W!RX) : ORIGIN = 0x20008000, LENGTH = 256M - 32K + isram (W!RX) : ORIGIN = 0x00200000, LENGTH = 128K - 16K + sdram (W!RX) : ORIGIN = 0x20008000, LENGTH = 256M - 32K } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") @@ -55,85 +55,86 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - *(.ARM.extab*) - *(.gnu.linkonce.armextab.*) - _etext = ABSOLUTE(.); - } > sdram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + *(.ARM.extab*) + *(.gnu.linkonce.armextab.*) + _etext = ABSOLUTE(.); + } > sdram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sdram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sdram - .ARM.extab : - { - *(.ARM.extab*) - } > sdram + .ARM.extab : + { + *(.ARM.extab*) + } > sdram - /* .ARM.exidx is sorted, so has to go in its own output section. */ + /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > sdram - PROVIDE_HIDDEN (__exidx_end = .); + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > sdram + PROVIDE_HIDDEN (__exidx_end = .); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sdram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sdram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sdram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sdram - /* Uninitialized data */ + /* Uninitialized data */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sdram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sdram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samd2l2/samd20-xplained/scripts/flash.ld b/boards/arm/samd2l2/samd20-xplained/scripts/flash.ld index 6aaa6c6fbd9..243910c4b80 100644 --- a/boards/arm/samd2l2/samd20-xplained/scripts/flash.ld +++ b/boards/arm/samd2l2/samd20-xplained/scripts/flash.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -49,75 +49,76 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } >flash + .ARM.extab : { + *(.ARM.extab*) + } >flash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >flash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } >flash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > flash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samd2l2/samd21-xplained/scripts/flash.ld b/boards/arm/samd2l2/samd21-xplained/scripts/flash.ld index 7249fe7c8a1..195cd0675f9 100644 --- a/boards/arm/samd2l2/samd21-xplained/scripts/flash.ld +++ b/boards/arm/samd2l2/samd21-xplained/scripts/flash.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -49,75 +49,76 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } >flash + .ARM.extab : { + *(.ARM.extab*) + } >flash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >flash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } >flash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > flash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samd2l2/saml21-xplained/scripts/flash.ld b/boards/arm/samd2l2/saml21-xplained/scripts/flash.ld index 5193501fd2f..2e15027725e 100644 --- a/boards/arm/samd2l2/saml21-xplained/scripts/flash.ld +++ b/boards/arm/samd2l2/saml21-xplained/scripts/flash.ld @@ -40,8 +40,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K lpram (rw) : ORIGIN = 0x30000000, LENGTH = 8K } @@ -51,81 +51,82 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } >flash + .ARM.extab : { + *(.ARM.extab*) + } >flash - .ARM.exidx : { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } >flash + .ARM.exidx : { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } >flash - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > sram AT > flash + .ramfunc ALIGN(4): { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > sram AT > flash - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - .lpram : { - _slpram = ABSOLUTE(.); - *(.lpram) - _elpram = ABSOLUTE(.); - } > lpram + .lpram : { + _slpram = ABSOLUTE(.); + *(.lpram) + _elpram = ABSOLUTE(.); + } > lpram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samd5e5/metro-m4/scripts/flash.ld b/boards/arm/samd5e5/metro-m4/scripts/flash.ld index 33f81f66a68..57324c89f65 100644 --- a/boards/arm/samd5e5/metro-m4/scripts/flash.ld +++ b/boards/arm/samd5e5/metro-m4/scripts/flash.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 192K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 192K } OUTPUT_ARCH(arm) @@ -48,74 +48,75 @@ ENTRY(_stext) EXTERN(_vectors) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samd5e5/metro-m4/scripts/sram.ld b/boards/arm/samd5e5/metro-m4/scripts/sram.ld index 5d137b37965..09fdaf734fc 100644 --- a/boards/arm/samd5e5/metro-m4/scripts/sram.ld +++ b/boards/arm/samd5e5/metro-m4/scripts/sram.ld @@ -40,8 +40,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 192K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 192K } OUTPUT_ARCH(arm) @@ -49,72 +49,73 @@ ENTRY(_stext) EXTERN(_vectors) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > sram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > sram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sram - .ARM.extab : - { - *(.ARM.extab*) - } > sram + .ARM.extab : + { + *(.ARM.extab*) + } > sram - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > sram - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > sram + __exidx_end = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samv7/same70-xplained/scripts/flash-dtcm.ld b/boards/arm/samv7/same70-xplained/scripts/flash-dtcm.ld index ebf9e26986f..41d804ac555 100644 --- a/boards/arm/samv7/same70-xplained/scripts/flash-dtcm.ld +++ b/boards/arm/samv7/same70-xplained/scripts/flash-dtcm.ld @@ -46,8 +46,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 384K + flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 384K } OUTPUT_ARCH(arm) @@ -56,67 +56,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samv7/same70-xplained/scripts/flash-sram.ld b/boards/arm/samv7/same70-xplained/scripts/flash-sram.ld index 03fb72e6697..4099b4bdbc3 100644 --- a/boards/arm/samv7/same70-xplained/scripts/flash-sram.ld +++ b/boards/arm/samv7/same70-xplained/scripts/flash-sram.ld @@ -43,8 +43,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K - sram (rwx) : ORIGIN = 0x20400000, LENGTH = 384K + flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K + sram (rwx) : ORIGIN = 0x20400000, LENGTH = 384K } OUTPUT_ARCH(arm) @@ -53,67 +53,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samv7/same70-xplained/scripts/kernel-space.ld b/boards/arm/samv7/same70-xplained/scripts/kernel-space.ld index f513d0c0d6b..f51a2dd16c3 100644 --- a/boards/arm/samv7/same70-xplained/scripts/kernel-space.ld +++ b/boards/arm/samv7/same70-xplained/scripts/kernel-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/samv7/same70-xplained/scripts/memory.ld b/boards/arm/samv7/same70-xplained/scripts/memory.ld index 31ae99c78d7..a1dc6e3106a 100644 --- a/boards/arm/samv7/same70-xplained/scripts/memory.ld +++ b/boards/arm/samv7/same70-xplained/scripts/memory.ld @@ -68,14 +68,14 @@ MEMORY { - /* 2048KiB of internal FLASH */ + /* 2048KiB of internal FLASH */ - kflash (rx) : ORIGIN = 0x00400000, LENGTH = 1M - uflash (rx) : ORIGIN = 0x00500000, LENGTH = 1M + kflash (rx) : ORIGIN = 0x00400000, LENGTH = 1M + uflash (rx) : ORIGIN = 0x00500000, LENGTH = 1M - /* 384Kb of internal SRAM */ + /* 384Kb of internal SRAM */ - ksram (rwx) : ORIGIN = 0x20400000, LENGTH = 128K - usram (rwx) : ORIGIN = 0x20420000, LENGTH = 128K - xsram (rwx) : ORIGIN = 0x20440000, LENGTH = 128K + ksram (rwx) : ORIGIN = 0x20400000, LENGTH = 128K + usram (rwx) : ORIGIN = 0x20420000, LENGTH = 128K + xsram (rwx) : ORIGIN = 0x20440000, LENGTH = 128K } diff --git a/boards/arm/samv7/same70-xplained/scripts/user-space.ld b/boards/arm/samv7/same70-xplained/scripts/user-space.ld index 9de3e4ef6f8..f5259bba27d 100644 --- a/boards/arm/samv7/same70-xplained/scripts/user-space.ld +++ b/boards/arm/samv7/same70-xplained/scripts/user-space.ld @@ -106,6 +106,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/samv7/samv71-xult/scripts/flash-dtcm.ld b/boards/arm/samv7/samv71-xult/scripts/flash-dtcm.ld index a73d6c524e9..ffaa484158d 100644 --- a/boards/arm/samv7/samv71-xult/scripts/flash-dtcm.ld +++ b/boards/arm/samv7/samv71-xult/scripts/flash-dtcm.ld @@ -46,8 +46,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 384K + flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 384K } OUTPUT_ARCH(arm) @@ -56,67 +56,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samv7/samv71-xult/scripts/flash-sram.ld b/boards/arm/samv7/samv71-xult/scripts/flash-sram.ld index e96741039c1..dae29c0a2ee 100644 --- a/boards/arm/samv7/samv71-xult/scripts/flash-sram.ld +++ b/boards/arm/samv7/samv71-xult/scripts/flash-sram.ld @@ -43,8 +43,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K - sram (rwx) : ORIGIN = 0x20400000, LENGTH = 384K + flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K + sram (rwx) : ORIGIN = 0x20400000, LENGTH = 384K } OUTPUT_ARCH(arm) @@ -53,67 +53,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/samv7/samv71-xult/scripts/kernel-space.ld b/boards/arm/samv7/samv71-xult/scripts/kernel-space.ld index d41f0075e36..14c31133c8e 100644 --- a/boards/arm/samv7/samv71-xult/scripts/kernel-space.ld +++ b/boards/arm/samv7/samv71-xult/scripts/kernel-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/samv7/samv71-xult/scripts/memory.ld b/boards/arm/samv7/samv71-xult/scripts/memory.ld index 17adc713eae..ab5ba76c42c 100644 --- a/boards/arm/samv7/samv71-xult/scripts/memory.ld +++ b/boards/arm/samv7/samv71-xult/scripts/memory.ld @@ -68,14 +68,14 @@ MEMORY { - /* 2048KiB of internal FLASH */ + /* 2048KiB of internal FLASH */ - kflash (rx) : ORIGIN = 0x00400000, LENGTH = 1M - uflash (rx) : ORIGIN = 0x00500000, LENGTH = 1M + kflash (rx) : ORIGIN = 0x00400000, LENGTH = 1M + uflash (rx) : ORIGIN = 0x00500000, LENGTH = 1M - /* 384Kb of internal SRAM */ + /* 384Kb of internal SRAM */ - ksram (rwx) : ORIGIN = 0x20400000, LENGTH = 128K - usram (rwx) : ORIGIN = 0x20420000, LENGTH = 128K - xsram (rwx) : ORIGIN = 0x20440000, LENGTH = 128K + ksram (rwx) : ORIGIN = 0x20400000, LENGTH = 128K + usram (rwx) : ORIGIN = 0x20420000, LENGTH = 128K + xsram (rwx) : ORIGIN = 0x20440000, LENGTH = 128K } diff --git a/boards/arm/samv7/samv71-xult/scripts/user-space.ld b/boards/arm/samv7/samv71-xult/scripts/user-space.ld index 1e329d1bf4f..1c9fe2c73d8 100644 --- a/boards/arm/samv7/samv71-xult/scripts/user-space.ld +++ b/boards/arm/samv7/samv71-xult/scripts/user-space.ld @@ -106,6 +106,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32/axoloti/scripts/kernel-space.ld b/boards/arm/stm32/axoloti/scripts/kernel-space.ld index 33a0d44d045..5e2bd2fe43f 100644 --- a/boards/arm/stm32/axoloti/scripts/kernel-space.ld +++ b/boards/arm/stm32/axoloti/scripts/kernel-space.ld @@ -90,6 +90,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32/axoloti/scripts/ld.script b/boards/arm/stm32/axoloti/scripts/ld.script index 97da4a3c152..1c288035f3e 100644 --- a/boards/arm/stm32/axoloti/scripts/ld.script +++ b/boards/arm/stm32/axoloti/scripts/ld.script @@ -49,8 +49,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K } OUTPUT_ARCH(arm) @@ -58,73 +58,74 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The RAM vector table (if present) should lie at the beginning of SRAM */ + /* The RAM vector table (if present) should lie at the beginning of SRAM */ - .ram_vectors : { - *(.ram_vectors) - } > sram + .ram_vectors : { + *(.ram_vectors) + } > sram - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/axoloti/scripts/memory.ld b/boards/arm/stm32/axoloti/scripts/memory.ld index ea99ec74abf..1684eebb713 100644 --- a/boards/arm/stm32/axoloti/scripts/memory.ld +++ b/boards/arm/stm32/axoloti/scripts/memory.ld @@ -87,15 +87,15 @@ MEMORY { - /* 1024Kb FLASH */ + /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 112Kb of contiguous SRAM */ + /* 112Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K } diff --git a/boards/arm/stm32/axoloti/scripts/user-space.ld b/boards/arm/stm32/axoloti/scripts/user-space.ld index a615e10e88d..2deebe3b96c 100644 --- a/boards/arm/stm32/axoloti/scripts/user-space.ld +++ b/boards/arm/stm32/axoloti/scripts/user-space.ld @@ -106,6 +106,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32/clicker2-stm32/scripts/flash.ld b/boards/arm/stm32/clicker2-stm32/scripts/flash.ld index b479200ee51..413841c774e 100644 --- a/boards/arm/stm32/clicker2-stm32/scripts/flash.ld +++ b/boards/arm/stm32/clicker2-stm32/scripts/flash.ld @@ -47,8 +47,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K } OUTPUT_ARCH(arm) @@ -56,74 +56,75 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/clicker2-stm32/scripts/kernel-space.ld b/boards/arm/stm32/clicker2-stm32/scripts/kernel-space.ld index 9238b25bb2e..f0160e471af 100644 --- a/boards/arm/stm32/clicker2-stm32/scripts/kernel-space.ld +++ b/boards/arm/stm32/clicker2-stm32/scripts/kernel-space.ld @@ -96,6 +96,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32/clicker2-stm32/scripts/memory.ld b/boards/arm/stm32/clicker2-stm32/scripts/memory.ld index 7d3948e91d8..49aabb49ad8 100644 --- a/boards/arm/stm32/clicker2-stm32/scripts/memory.ld +++ b/boards/arm/stm32/clicker2-stm32/scripts/memory.ld @@ -86,15 +86,15 @@ MEMORY { - /* 1024Kb FLASH */ + /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 112Kb of contiguous SRAM */ + /* 112Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K } diff --git a/boards/arm/stm32/clicker2-stm32/scripts/user-space.ld b/boards/arm/stm32/clicker2-stm32/scripts/user-space.ld index c9b9a8d7c9b..57793de9c45 100644 --- a/boards/arm/stm32/clicker2-stm32/scripts/user-space.ld +++ b/boards/arm/stm32/clicker2-stm32/scripts/user-space.ld @@ -98,6 +98,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32/cloudctrl/scripts/cloudctrl-dfu.ld b/boards/arm/stm32/cloudctrl/scripts/cloudctrl-dfu.ld index 8280e8192f2..65a38c5f238 100644 --- a/boards/arm/stm32/cloudctrl/scripts/cloudctrl-dfu.ld +++ b/boards/arm/stm32/cloudctrl/scripts/cloudctrl-dfu.ld @@ -41,8 +41,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08003000, LENGTH = 208K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08003000, LENGTH = 208K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -50,69 +50,70 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32F107VC has 64Kb of SRAM beginning at the following address */ + /* The STM32F107VC has 64Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/cloudctrl/scripts/cloudctrl.ld b/boards/arm/stm32/cloudctrl/scripts/cloudctrl.ld index 129514d7ba1..5d122962c0e 100644 --- a/boards/arm/stm32/cloudctrl/scripts/cloudctrl.ld +++ b/boards/arm/stm32/cloudctrl/scripts/cloudctrl.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -48,69 +48,70 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32F107VC has 64Kb of SRAM beginning at the following address */ + /* The STM32F107VC has 64Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/fire-stm32v2/scripts/fire-stm32v2-dfu.ld b/boards/arm/stm32/fire-stm32v2/scripts/fire-stm32v2-dfu.ld index 8fe6952867f..a2fcac05727 100644 --- a/boards/arm/stm32/fire-stm32v2/scripts/fire-stm32v2-dfu.ld +++ b/boards/arm/stm32/fire-stm32v2/scripts/fire-stm32v2-dfu.ld @@ -41,8 +41,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08003000, LENGTH = 464K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08003000, LENGTH = 464K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -50,69 +50,70 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32F103Z has 64Kb of SRAM beginning at the following address */ + /* The STM32F103Z has 64Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/fire-stm32v2/scripts/fire-stm32v2.ld b/boards/arm/stm32/fire-stm32v2/scripts/fire-stm32v2.ld index 439fdc34ff0..0fe138b98ae 100644 --- a/boards/arm/stm32/fire-stm32v2/scripts/fire-stm32v2.ld +++ b/boards/arm/stm32/fire-stm32v2/scripts/fire-stm32v2.ld @@ -42,8 +42,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -51,69 +51,70 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32F103Z has 64Kb of SRAM beginning at the following address */ + /* The STM32F103Z has 64Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/hymini-stm32v/scripts/ld.script b/boards/arm/stm32/hymini-stm32v/scripts/ld.script index d8bae5016df..04857382733 100644 --- a/boards/arm/stm32/hymini-stm32v/scripts/ld.script +++ b/boards/arm/stm32/hymini-stm32v/scripts/ld.script @@ -101,6 +101,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/maple/scripts/ld.script b/boards/arm/stm32/maple/scripts/ld.script index ec3359b038b..e91891f13d1 100644 --- a/boards/arm/stm32/maple/scripts/ld.script +++ b/boards/arm/stm32/maple/scripts/ld.script @@ -101,6 +101,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/mikroe-stm32f4/scripts/kernel-space.ld b/boards/arm/stm32/mikroe-stm32f4/scripts/kernel-space.ld index 4e1615e2f65..7983e706b0a 100644 --- a/boards/arm/stm32/mikroe-stm32f4/scripts/kernel-space.ld +++ b/boards/arm/stm32/mikroe-stm32f4/scripts/kernel-space.ld @@ -90,6 +90,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32/mikroe-stm32f4/scripts/ld.script b/boards/arm/stm32/mikroe-stm32f4/scripts/ld.script index dbc7a682d7a..fde8d2baf43 100644 --- a/boards/arm/stm32/mikroe-stm32f4/scripts/ld.script +++ b/boards/arm/stm32/mikroe-stm32f4/scripts/ld.script @@ -104,6 +104,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/mikroe-stm32f4/scripts/memory.ld b/boards/arm/stm32/mikroe-stm32f4/scripts/memory.ld index 8d20f4814cb..309cf42bbf3 100644 --- a/boards/arm/stm32/mikroe-stm32f4/scripts/memory.ld +++ b/boards/arm/stm32/mikroe-stm32f4/scripts/memory.ld @@ -86,15 +86,15 @@ MEMORY { - /* 1024Kb FLASH */ + /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 112Kb of contiguous SRAM */ + /* 112Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K } diff --git a/boards/arm/stm32/mikroe-stm32f4/scripts/user-space.ld b/boards/arm/stm32/mikroe-stm32f4/scripts/user-space.ld index a4401994571..8654219d0bf 100644 --- a/boards/arm/stm32/mikroe-stm32f4/scripts/user-space.ld +++ b/boards/arm/stm32/mikroe-stm32f4/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32/nucleo-f103rb/scripts/ld.script b/boards/arm/stm32/nucleo-f103rb/scripts/ld.script index 1875cb3eabc..4606fa81a56 100644 --- a/boards/arm/stm32/nucleo-f103rb/scripts/ld.script +++ b/boards/arm/stm32/nucleo-f103rb/scripts/ld.script @@ -105,6 +105,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/nucleo-f207zg/scripts/ld.script b/boards/arm/stm32/nucleo-f207zg/scripts/ld.script index 792cb15a4a5..6725062b7f9 100644 --- a/boards/arm/stm32/nucleo-f207zg/scripts/ld.script +++ b/boards/arm/stm32/nucleo-f207zg/scripts/ld.script @@ -102,6 +102,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/nucleo-f302r8/scripts/ld.script b/boards/arm/stm32/nucleo-f302r8/scripts/ld.script index fe41034f822..fa948213eed 100644 --- a/boards/arm/stm32/nucleo-f302r8/scripts/ld.script +++ b/boards/arm/stm32/nucleo-f302r8/scripts/ld.script @@ -105,6 +105,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/nucleo-f303re/scripts/ld.script b/boards/arm/stm32/nucleo-f303re/scripts/ld.script index 34f5a64be6b..1976ceb36eb 100644 --- a/boards/arm/stm32/nucleo-f303re/scripts/ld.script +++ b/boards/arm/stm32/nucleo-f303re/scripts/ld.script @@ -101,6 +101,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/nucleo-f303ze/scripts/ld.script b/boards/arm/stm32/nucleo-f303ze/scripts/ld.script index 1d1c9d4167c..67759b36791 100644 --- a/boards/arm/stm32/nucleo-f303ze/scripts/ld.script +++ b/boards/arm/stm32/nucleo-f303ze/scripts/ld.script @@ -99,6 +99,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/nucleo-f334r8/scripts/ld.script b/boards/arm/stm32/nucleo-f334r8/scripts/ld.script index 4c3ef2f4530..68d8b567922 100644 --- a/boards/arm/stm32/nucleo-f334r8/scripts/ld.script +++ b/boards/arm/stm32/nucleo-f334r8/scripts/ld.script @@ -105,6 +105,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/nucleo-f410rb/scripts/f410rb.ld b/boards/arm/stm32/nucleo-f410rb/scripts/f410rb.ld index 44b6388e02a..5f0e77cefc9 100644 --- a/boards/arm/stm32/nucleo-f410rb/scripts/f410rb.ld +++ b/boards/arm/stm32/nucleo-f410rb/scripts/f410rb.ld @@ -42,8 +42,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -51,69 +51,70 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32F410RBT6 has 32Kb of SRAM beginning at the following address */ + /* The STM32F410RBT6 has 32Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/nucleo-f446re/scripts/f446re.ld b/boards/arm/stm32/nucleo-f446re/scripts/f446re.ld index f7844215a64..b3ca4c7b000 100644 --- a/boards/arm/stm32/nucleo-f446re/scripts/f446re.ld +++ b/boards/arm/stm32/nucleo-f446re/scripts/f446re.ld @@ -43,8 +43,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -52,69 +52,70 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */ + /* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld b/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld index 67ccecc8a95..a7b6541ed4f 100644 --- a/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld +++ b/boards/arm/stm32/nucleo-f4x1re/scripts/f401re.ld @@ -43,8 +43,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K } OUTPUT_ARCH(arm) @@ -52,69 +52,70 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */ + /* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/nucleo-f4x1re/scripts/f411re.ld b/boards/arm/stm32/nucleo-f4x1re/scripts/f411re.ld index f7844215a64..b3ca4c7b000 100644 --- a/boards/arm/stm32/nucleo-f4x1re/scripts/f411re.ld +++ b/boards/arm/stm32/nucleo-f4x1re/scripts/f411re.ld @@ -43,8 +43,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -52,69 +52,70 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */ + /* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/nucleo-l152re/scripts/ld.script b/boards/arm/stm32/nucleo-l152re/scripts/ld.script index 7652c91b731..608d04f9de7 100644 --- a/boards/arm/stm32/nucleo-l152re/scripts/ld.script +++ b/boards/arm/stm32/nucleo-l152re/scripts/ld.script @@ -105,6 +105,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/olimex-stm32-e407/scripts/ld.script b/boards/arm/stm32/olimex-stm32-e407/scripts/ld.script index f533878c00c..580129d01db 100644 --- a/boards/arm/stm32/olimex-stm32-e407/scripts/ld.script +++ b/boards/arm/stm32/olimex-stm32-e407/scripts/ld.script @@ -104,6 +104,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/olimex-stm32-h405/scripts/ld.script b/boards/arm/stm32/olimex-stm32-h405/scripts/ld.script index fb2e6c46f4d..9eb80098c76 100644 --- a/boards/arm/stm32/olimex-stm32-h405/scripts/ld.script +++ b/boards/arm/stm32/olimex-stm32-h405/scripts/ld.script @@ -104,6 +104,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/olimex-stm32-h407/scripts/ld.script b/boards/arm/stm32/olimex-stm32-h407/scripts/ld.script index 27bea6da184..9c3f5f8c5d6 100644 --- a/boards/arm/stm32/olimex-stm32-h407/scripts/ld.script +++ b/boards/arm/stm32/olimex-stm32-h407/scripts/ld.script @@ -103,6 +103,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/olimex-stm32-p107/scripts/ld.script b/boards/arm/stm32/olimex-stm32-p107/scripts/ld.script index b78b8f06bdc..d4e04510713 100644 --- a/boards/arm/stm32/olimex-stm32-p107/scripts/ld.script +++ b/boards/arm/stm32/olimex-stm32-p107/scripts/ld.script @@ -94,6 +94,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/olimex-stm32-p207/scripts/ld.script b/boards/arm/stm32/olimex-stm32-p207/scripts/ld.script index b2b816b4ce0..eaf8cf21a78 100644 --- a/boards/arm/stm32/olimex-stm32-p207/scripts/ld.script +++ b/boards/arm/stm32/olimex-stm32-p207/scripts/ld.script @@ -103,6 +103,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/olimex-stm32-p407/scripts/flash.ld b/boards/arm/stm32/olimex-stm32-p407/scripts/flash.ld index a494f43c129..4a83a701421 100644 --- a/boards/arm/stm32/olimex-stm32-p407/scripts/flash.ld +++ b/boards/arm/stm32/olimex-stm32-p407/scripts/flash.ld @@ -47,8 +47,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K } OUTPUT_ARCH(arm) @@ -56,67 +56,68 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/olimex-stm32-p407/scripts/kernel-space.ld b/boards/arm/stm32/olimex-stm32-p407/scripts/kernel-space.ld index 84c26c5bb9a..690834d3986 100644 --- a/boards/arm/stm32/olimex-stm32-p407/scripts/kernel-space.ld +++ b/boards/arm/stm32/olimex-stm32-p407/scripts/kernel-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32/olimex-stm32-p407/scripts/memory.ld b/boards/arm/stm32/olimex-stm32-p407/scripts/memory.ld index 07c0462f557..dd54423b498 100644 --- a/boards/arm/stm32/olimex-stm32-p407/scripts/memory.ld +++ b/boards/arm/stm32/olimex-stm32-p407/scripts/memory.ld @@ -99,15 +99,15 @@ MEMORY { - /* 1024Kb FLASH */ + /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 112Kb of contiguous SRAM */ + /* 112Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K - usram (rwx) : ORIGIN = 0x20002000, LENGTH = 8K - xsram (rwx) : ORIGIN = 0x20008000, LENGTH = 96K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K + usram (rwx) : ORIGIN = 0x20002000, LENGTH = 8K + xsram (rwx) : ORIGIN = 0x20008000, LENGTH = 96K } diff --git a/boards/arm/stm32/olimex-stm32-p407/scripts/user-space.ld b/boards/arm/stm32/olimex-stm32-p407/scripts/user-space.ld index a1795c99dea..d08998665ac 100644 --- a/boards/arm/stm32/olimex-stm32-p407/scripts/user-space.ld +++ b/boards/arm/stm32/olimex-stm32-p407/scripts/user-space.ld @@ -106,6 +106,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32/olimexino-stm32/scripts/ld.script b/boards/arm/stm32/olimexino-stm32/scripts/ld.script index fd00bee0e6c..606e23e0ff9 100644 --- a/boards/arm/stm32/olimexino-stm32/scripts/ld.script +++ b/boards/arm/stm32/olimexino-stm32/scripts/ld.script @@ -98,6 +98,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/omnibusf4/scripts/kernel-space.ld b/boards/arm/stm32/omnibusf4/scripts/kernel-space.ld index cfa33361e1a..9485f69f3d9 100644 --- a/boards/arm/stm32/omnibusf4/scripts/kernel-space.ld +++ b/boards/arm/stm32/omnibusf4/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32/omnibusf4/scripts/ld.script b/boards/arm/stm32/omnibusf4/scripts/ld.script index fed189bf22c..4131fb6b6d4 100644 --- a/boards/arm/stm32/omnibusf4/scripts/ld.script +++ b/boards/arm/stm32/omnibusf4/scripts/ld.script @@ -104,6 +104,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/omnibusf4/scripts/memory.ld b/boards/arm/stm32/omnibusf4/scripts/memory.ld index b5438cd301e..01475ac585b 100644 --- a/boards/arm/stm32/omnibusf4/scripts/memory.ld +++ b/boards/arm/stm32/omnibusf4/scripts/memory.ld @@ -86,15 +86,15 @@ MEMORY { - /* 1024Kb FLASH */ + /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 112Kb of contiguous SRAM */ + /* 112Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K } diff --git a/boards/arm/stm32/omnibusf4/scripts/user-space.ld b/boards/arm/stm32/omnibusf4/scripts/user-space.ld index 11725d4a080..52f2e24e397 100644 --- a/boards/arm/stm32/omnibusf4/scripts/user-space.ld +++ b/boards/arm/stm32/omnibusf4/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32/photon/scripts/photon_dfu.ld b/boards/arm/stm32/photon/scripts/photon_dfu.ld index e8f1b3fab00..4ea2ae9e15b 100644 --- a/boards/arm/stm32/photon/scripts/photon_dfu.ld +++ b/boards/arm/stm32/photon/scripts/photon_dfu.ld @@ -40,8 +40,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08020000, LENGTH = 896K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K + flash (rx) : ORIGIN = 0x08020000, LENGTH = 896K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K } OUTPUT_ARCH(arm) @@ -54,13 +54,13 @@ SECTIONS _firmware_start = ABSOLUTE(.); } > flash - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.dfu_signature) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.dfu_signature) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) . = ALIGN(0x4); wlan_firmware_image_location = .; @@ -71,65 +71,66 @@ SECTIONS *(.wlan_nvram_image .wlan_nvram_image.*) wlan_nvram_image_end = .; - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash .firmware_end : { _firmware_end = ABSOLUTE(.); } > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/photon/scripts/photon_jtag.ld b/boards/arm/stm32/photon/scripts/photon_jtag.ld index 9e1e9f6b2d7..4187ec7eb6e 100644 --- a/boards/arm/stm32/photon/scripts/photon_jtag.ld +++ b/boards/arm/stm32/photon/scripts/photon_jtag.ld @@ -43,8 +43,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 112K } OUTPUT_ARCH(arm) @@ -52,67 +52,68 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/shenzhou/scripts/ld.script b/boards/arm/stm32/shenzhou/scripts/ld.script index 11ab9bfaad6..bd47a6a7310 100644 --- a/boards/arm/stm32/shenzhou/scripts/ld.script +++ b/boards/arm/stm32/shenzhou/scripts/ld.script @@ -97,6 +97,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm3210e-eval/scripts/ld.script b/boards/arm/stm32/stm3210e-eval/scripts/ld.script index bab3948f184..dc596e98b46 100644 --- a/boards/arm/stm32/stm3210e-eval/scripts/ld.script +++ b/boards/arm/stm32/stm3210e-eval/scripts/ld.script @@ -100,6 +100,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm3220g-eval/scripts/ld.script b/boards/arm/stm32/stm3220g-eval/scripts/ld.script index c6492d73b89..a6dbe267ab5 100644 --- a/boards/arm/stm32/stm3220g-eval/scripts/ld.script +++ b/boards/arm/stm32/stm3220g-eval/scripts/ld.script @@ -103,6 +103,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm3240g-eval/scripts/kernel-space.ld b/boards/arm/stm32/stm3240g-eval/scripts/kernel-space.ld index 872a21dd194..1e502f0507a 100644 --- a/boards/arm/stm32/stm3240g-eval/scripts/kernel-space.ld +++ b/boards/arm/stm32/stm3240g-eval/scripts/kernel-space.ld @@ -90,6 +90,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32/stm3240g-eval/scripts/ld.script b/boards/arm/stm32/stm3240g-eval/scripts/ld.script index 6fd8054547e..44da500e69d 100644 --- a/boards/arm/stm32/stm3240g-eval/scripts/ld.script +++ b/boards/arm/stm32/stm3240g-eval/scripts/ld.script @@ -104,6 +104,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm3240g-eval/scripts/memory.ld b/boards/arm/stm32/stm3240g-eval/scripts/memory.ld index b8b368fd4bd..5a2782f56bf 100644 --- a/boards/arm/stm32/stm3240g-eval/scripts/memory.ld +++ b/boards/arm/stm32/stm3240g-eval/scripts/memory.ld @@ -86,15 +86,15 @@ MEMORY { - /* 1024Kb FLASH */ + /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 256K - uflash (rx) : ORIGIN = 0x08040000, LENGTH = 256K - xflash (rx) : ORIGIN = 0x08080000, LENGTH = 512K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 256K + uflash (rx) : ORIGIN = 0x08040000, LENGTH = 256K + xflash (rx) : ORIGIN = 0x08080000, LENGTH = 512K - /* 112Kb of contiguous SRAM */ + /* 112Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K } diff --git a/boards/arm/stm32/stm3240g-eval/scripts/user-space.ld b/boards/arm/stm32/stm3240g-eval/scripts/user-space.ld index a798edd4009..b57872b074a 100644 --- a/boards/arm/stm32/stm3240g-eval/scripts/user-space.ld +++ b/boards/arm/stm32/stm3240g-eval/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32/stm32_tiny/scripts/ld.script b/boards/arm/stm32/stm32_tiny/scripts/ld.script index 3c1b346783a..677d4ce7dad 100644 --- a/boards/arm/stm32/stm32_tiny/scripts/ld.script +++ b/boards/arm/stm32/stm32_tiny/scripts/ld.script @@ -101,6 +101,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm32butterfly2/scripts/dfu.ld b/boards/arm/stm32/stm32butterfly2/scripts/dfu.ld index 85c044a2f5b..f0f84e5bddf 100644 --- a/boards/arm/stm32/stm32butterfly2/scripts/dfu.ld +++ b/boards/arm/stm32/stm32butterfly2/scripts/dfu.ld @@ -35,8 +35,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08003000, LENGTH = 208K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08003000, LENGTH = 208K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -44,73 +44,74 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The RAM vector table (if present) should lie at the beginning of SRAM */ + /* The RAM vector table (if present) should lie at the beginning of SRAM */ - .ram_vectors : { - *(.ram_vectors) - } > sram + .ram_vectors : { + *(.ram_vectors) + } > sram - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/stm32butterfly2/scripts/flash.ld b/boards/arm/stm32/stm32butterfly2/scripts/flash.ld index 1fd77857141..992e1f609eb 100644 --- a/boards/arm/stm32/stm32butterfly2/scripts/flash.ld +++ b/boards/arm/stm32/stm32butterfly2/scripts/flash.ld @@ -35,8 +35,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -44,73 +44,74 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The RAM vector table (if present) should lie at the beginning of SRAM */ + /* The RAM vector table (if present) should lie at the beginning of SRAM */ - .ram_vectors : { - *(.ram_vectors) - } > sram + .ram_vectors : { + *(.ram_vectors) + } > sram - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/stm32f103-minimum/scripts/ld.script b/boards/arm/stm32/stm32f103-minimum/scripts/ld.script index efa7ee0c9c3..f670dae723c 100644 --- a/boards/arm/stm32/stm32f103-minimum/scripts/ld.script +++ b/boards/arm/stm32/stm32f103-minimum/scripts/ld.script @@ -106,6 +106,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm32f334-disco/scripts/ld.script b/boards/arm/stm32/stm32f334-disco/scripts/ld.script index 8715181a54b..367295e5d75 100644 --- a/boards/arm/stm32/stm32f334-disco/scripts/ld.script +++ b/boards/arm/stm32/stm32f334-disco/scripts/ld.script @@ -105,6 +105,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm32f3discovery/scripts/ld.script b/boards/arm/stm32/stm32f3discovery/scripts/ld.script index 8c421c82bd8..9c66ce0fea8 100644 --- a/boards/arm/stm32/stm32f3discovery/scripts/ld.script +++ b/boards/arm/stm32/stm32f3discovery/scripts/ld.script @@ -99,6 +99,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm32f411e-disco/scripts/f411ve.ld b/boards/arm/stm32/stm32f411e-disco/scripts/f411ve.ld index 02f08158a7d..b6078b05123 100644 --- a/boards/arm/stm32/stm32f411e-disco/scripts/f411ve.ld +++ b/boards/arm/stm32/stm32f411e-disco/scripts/f411ve.ld @@ -43,8 +43,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K } OUTPUT_ARCH(arm) @@ -52,70 +52,71 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */ + /* The STM32F103VCT6 has 48Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/stm32f429i-disco/scripts/kernel-space.ld b/boards/arm/stm32/stm32f429i-disco/scripts/kernel-space.ld index 7eca3bdce6f..01b8471cf1e 100644 --- a/boards/arm/stm32/stm32f429i-disco/scripts/kernel-space.ld +++ b/boards/arm/stm32/stm32f429i-disco/scripts/kernel-space.ld @@ -90,6 +90,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32/stm32f429i-disco/scripts/ld.script b/boards/arm/stm32/stm32f429i-disco/scripts/ld.script index 218e376ba29..911a751e14d 100644 --- a/boards/arm/stm32/stm32f429i-disco/scripts/ld.script +++ b/boards/arm/stm32/stm32f429i-disco/scripts/ld.script @@ -113,6 +113,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm32f429i-disco/scripts/memory.ld b/boards/arm/stm32/stm32f429i-disco/scripts/memory.ld index 1ecedd538b6..94f55969db0 100644 --- a/boards/arm/stm32/stm32f429i-disco/scripts/memory.ld +++ b/boards/arm/stm32/stm32f429i-disco/scripts/memory.ld @@ -89,13 +89,13 @@ MEMORY { /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K /* 112Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K } diff --git a/boards/arm/stm32/stm32f429i-disco/scripts/user-space.ld b/boards/arm/stm32/stm32f429i-disco/scripts/user-space.ld index 332f3cecb6e..aef290569e0 100644 --- a/boards/arm/stm32/stm32f429i-disco/scripts/user-space.ld +++ b/boards/arm/stm32/stm32f429i-disco/scripts/user-space.ld @@ -106,6 +106,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32/stm32f4discovery/scripts/kernel-space.ld b/boards/arm/stm32/stm32f4discovery/scripts/kernel-space.ld index 5eba73825ca..1ab2baa9591 100644 --- a/boards/arm/stm32/stm32f4discovery/scripts/kernel-space.ld +++ b/boards/arm/stm32/stm32f4discovery/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32/stm32f4discovery/scripts/ld.script b/boards/arm/stm32/stm32f4discovery/scripts/ld.script index 4533c79c323..8546986628d 100644 --- a/boards/arm/stm32/stm32f4discovery/scripts/ld.script +++ b/boards/arm/stm32/stm32f4discovery/scripts/ld.script @@ -104,6 +104,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32/stm32f4discovery/scripts/memory.ld b/boards/arm/stm32/stm32f4discovery/scripts/memory.ld index 4ab6e620737..3dc9e7fb505 100644 --- a/boards/arm/stm32/stm32f4discovery/scripts/memory.ld +++ b/boards/arm/stm32/stm32f4discovery/scripts/memory.ld @@ -88,13 +88,13 @@ MEMORY { /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K /* 112Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20001000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20002000, LENGTH = 104K } diff --git a/boards/arm/stm32/stm32f4discovery/scripts/user-space.ld b/boards/arm/stm32/stm32f4discovery/scripts/user-space.ld index b98cbe941fc..b347df0b6b6 100644 --- a/boards/arm/stm32/stm32f4discovery/scripts/user-space.ld +++ b/boards/arm/stm32/stm32f4discovery/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32/stm32ldiscovery/scripts/stm32l152rb.ld b/boards/arm/stm32/stm32ldiscovery/scripts/stm32l152rb.ld index b5fa1228ba2..42667f4b066 100644 --- a/boards/arm/stm32/stm32ldiscovery/scripts/stm32l152rb.ld +++ b/boards/arm/stm32/stm32ldiscovery/scripts/stm32l152rb.ld @@ -43,8 +43,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -52,74 +52,75 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/stm32ldiscovery/scripts/stm32l152rc.ld b/boards/arm/stm32/stm32ldiscovery/scripts/stm32l152rc.ld index 32b5674b974..dce452fdbbb 100644 --- a/boards/arm/stm32/stm32ldiscovery/scripts/stm32l152rc.ld +++ b/boards/arm/stm32/stm32ldiscovery/scripts/stm32l152rc.ld @@ -43,8 +43,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -52,74 +52,75 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/stm32vldiscovery/scripts/stm32vldiscovery.ld b/boards/arm/stm32/stm32vldiscovery/scripts/stm32vldiscovery.ld index 8ed0336a6e2..5affd318e8d 100644 --- a/boards/arm/stm32/stm32vldiscovery/scripts/stm32vldiscovery.ld +++ b/boards/arm/stm32/stm32vldiscovery/scripts/stm32vldiscovery.ld @@ -42,8 +42,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K } OUTPUT_ARCH(arm) @@ -52,67 +52,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/viewtool-stm32f107/scripts/dfu.ld b/boards/arm/stm32/viewtool-stm32f107/scripts/dfu.ld index b2d58d78d43..38151a9ac10 100644 --- a/boards/arm/stm32/viewtool-stm32f107/scripts/dfu.ld +++ b/boards/arm/stm32/viewtool-stm32f107/scripts/dfu.ld @@ -35,8 +35,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08003000, LENGTH = 208K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08003000, LENGTH = 208K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -44,73 +44,74 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The RAM vector table (if present) should lie at the beginning of SRAM */ + /* The RAM vector table (if present) should lie at the beginning of SRAM */ - .ram_vectors : { - *(.ram_vectors) - } > sram + .ram_vectors : { + *(.ram_vectors) + } > sram - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32/viewtool-stm32f107/scripts/flash.ld b/boards/arm/stm32/viewtool-stm32f107/scripts/flash.ld index 081b46933a2..3d676ff082b 100644 --- a/boards/arm/stm32/viewtool-stm32f107/scripts/flash.ld +++ b/boards/arm/stm32/viewtool-stm32f107/scripts/flash.ld @@ -35,8 +35,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) @@ -44,73 +44,74 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The RAM vector table (if present) should lie at the beginning of SRAM */ + /* The RAM vector table (if present) should lie at the beginning of SRAM */ - .ram_vectors : { - *(.ram_vectors) - } > sram + .ram_vectors : { + *(.ram_vectors) + } > sram - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f0l0g0/b-l072z-lrwan1/scripts/ld.script b/boards/arm/stm32f0l0g0/b-l072z-lrwan1/scripts/ld.script index b7fe3d4e4d7..f1d617f4aca 100644 --- a/boards/arm/stm32f0l0g0/b-l072z-lrwan1/scripts/ld.script +++ b/boards/arm/stm32f0l0g0/b-l072z-lrwan1/scripts/ld.script @@ -105,6 +105,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32f0l0g0/nucleo-f072rb/scripts/flash.ld b/boards/arm/stm32f0l0g0/nucleo-f072rb/scripts/flash.ld index 42a96098e4d..06856f15a3e 100644 --- a/boards/arm/stm32f0l0g0/nucleo-f072rb/scripts/flash.ld +++ b/boards/arm/stm32f0l0g0/nucleo-f072rb/scripts/flash.ld @@ -44,8 +44,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -54,74 +54,75 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f0l0g0/nucleo-f091rc/scripts/flash.ld b/boards/arm/stm32f0l0g0/nucleo-f091rc/scripts/flash.ld index 2e3bc87a7fc..6181889483d 100644 --- a/boards/arm/stm32f0l0g0/nucleo-f091rc/scripts/flash.ld +++ b/boards/arm/stm32f0l0g0/nucleo-f091rc/scripts/flash.ld @@ -44,8 +44,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -54,74 +54,75 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script b/boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script index a963678e01b..4f65ccdea40 100644 --- a/boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script +++ b/boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script @@ -106,6 +106,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32f0l0g0/nucleo-l073rz/scripts/ld.script b/boards/arm/stm32f0l0g0/nucleo-l073rz/scripts/ld.script index 9d65d79a3d8..a902e20f6ce 100644 --- a/boards/arm/stm32f0l0g0/nucleo-l073rz/scripts/ld.script +++ b/boards/arm/stm32f0l0g0/nucleo-l073rz/scripts/ld.script @@ -105,6 +105,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/stm32f0l0g0/stm32f051-discovery/scripts/flash.ld b/boards/arm/stm32f0l0g0/stm32f051-discovery/scripts/flash.ld index 5cc1753fb47..2e8a00744c0 100644 --- a/boards/arm/stm32f0l0g0/stm32f051-discovery/scripts/flash.ld +++ b/boards/arm/stm32f0l0g0/stm32f051-discovery/scripts/flash.ld @@ -44,8 +44,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 64K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 64K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K } OUTPUT_ARCH(arm) @@ -54,67 +54,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f0l0g0/stm32f072-discovery/scripts/flash.ld b/boards/arm/stm32f0l0g0/stm32f072-discovery/scripts/flash.ld index ca9adfa67ba..f9ff1d46050 100644 --- a/boards/arm/stm32f0l0g0/stm32f072-discovery/scripts/flash.ld +++ b/boards/arm/stm32f0l0g0/stm32f072-discovery/scripts/flash.ld @@ -44,8 +44,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -54,67 +54,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f7/nucleo-144/scripts/f722-flash.ld b/boards/arm/stm32f7/nucleo-144/scripts/f722-flash.ld index 616ca1291cc..6886f64e08b 100644 --- a/boards/arm/stm32f7/nucleo-144/scripts/f722-flash.ld +++ b/boards/arm/stm32f7/nucleo-144/scripts/f722-flash.ld @@ -70,11 +70,11 @@ MEMORY { - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 512K - flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram1 (rwx) : ORIGIN = 0x20010000, LENGTH = 176K - sram2 (rwx) : ORIGIN = 0x2003c000, LENGTH = 16K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 512K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram1 (rwx) : ORIGIN = 0x20010000, LENGTH = 176K + sram2 (rwx) : ORIGIN = 0x2003c000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -82,67 +82,68 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram1 AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram1 AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram1 + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram1 - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f7/nucleo-144/scripts/f746-flash.ld b/boards/arm/stm32f7/nucleo-144/scripts/f746-flash.ld index 879143feb75..9d09f1dd9c5 100644 --- a/boards/arm/stm32f7/nucleo-144/scripts/f746-flash.ld +++ b/boards/arm/stm32f7/nucleo-144/scripts/f746-flash.ld @@ -68,11 +68,11 @@ MEMORY { - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram1 (rwx) : ORIGIN = 0x20010000, LENGTH = 240K - sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram1 (rwx) : ORIGIN = 0x20010000, LENGTH = 240K + sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -80,67 +80,68 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram1 AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram1 AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram1 + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram1 - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f7/nucleo-144/scripts/f767-flash.ld b/boards/arm/stm32f7/nucleo-144/scripts/f767-flash.ld index e9357682653..1cb45cb5ae1 100644 --- a/boards/arm/stm32f7/nucleo-144/scripts/f767-flash.ld +++ b/boards/arm/stm32f7/nucleo-144/scripts/f767-flash.ld @@ -127,6 +127,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram1 diff --git a/boards/arm/stm32f7/nucleo-144/scripts/kernel-space.ld b/boards/arm/stm32f7/nucleo-144/scripts/kernel-space.ld index 9ab4ef775ee..ef6719a8279 100644 --- a/boards/arm/stm32f7/nucleo-144/scripts/kernel-space.ld +++ b/boards/arm/stm32f7/nucleo-144/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32f7/nucleo-144/scripts/memory.ld b/boards/arm/stm32f7/nucleo-144/scripts/memory.ld index 90c2a6f1a10..86178004985 100644 --- a/boards/arm/stm32f7/nucleo-144/scripts/memory.ld +++ b/boards/arm/stm32f7/nucleo-144/scripts/memory.ld @@ -106,24 +106,24 @@ MEMORY { - /* ITCM boot address */ + /* ITCM boot address */ - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K - /* 1024KB FLASH */ + /* 1024KB FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 240KB of contiguous SRAM1 */ + /* 240KB of contiguous SRAM1 */ - ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 240K - 8K + ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 240K - 8K - /* DTCM SRAM */ + /* DTCM SRAM */ - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K } diff --git a/boards/arm/stm32f7/nucleo-144/scripts/user-space.ld b/boards/arm/stm32f7/nucleo-144/scripts/user-space.ld index 653c589e530..d09981eaa69 100644 --- a/boards/arm/stm32f7/nucleo-144/scripts/user-space.ld +++ b/boards/arm/stm32f7/nucleo-144/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32f7/stm32f746-ws/scripts/flash.ld b/boards/arm/stm32f7/stm32f746-ws/scripts/flash.ld index f2457cfd306..666df8e1e63 100644 --- a/boards/arm/stm32f7/stm32f746-ws/scripts/flash.ld +++ b/boards/arm/stm32f7/stm32f746-ws/scripts/flash.ld @@ -69,11 +69,11 @@ MEMORY { - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram1 (rwx) : ORIGIN = 0x20010000, LENGTH = 240K - sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram1 (rwx) : ORIGIN = 0x20010000, LENGTH = 240K + sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -81,67 +81,68 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram1 AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram1 AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram1 + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram1 - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f7/stm32f746-ws/scripts/kernel-space.ld b/boards/arm/stm32f7/stm32f746-ws/scripts/kernel-space.ld index 85ba93f7d90..4fd6c04da03 100644 --- a/boards/arm/stm32f7/stm32f746-ws/scripts/kernel-space.ld +++ b/boards/arm/stm32f7/stm32f746-ws/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32f7/stm32f746-ws/scripts/memory.ld b/boards/arm/stm32f7/stm32f746-ws/scripts/memory.ld index 831fd983895..15e94ab0d4a 100644 --- a/boards/arm/stm32f7/stm32f746-ws/scripts/memory.ld +++ b/boards/arm/stm32f7/stm32f746-ws/scripts/memory.ld @@ -106,24 +106,24 @@ MEMORY { - /* ITCM boot address */ + /* ITCM boot address */ - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K - /* 1024KB FLASH */ + /* 1024KB FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 240KB of contiguous SRAM1 */ + /* 240KB of contiguous SRAM1 */ - ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 240K - 8K + ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 240K - 8K - /* DTCM SRAM */ + /* DTCM SRAM */ - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K } diff --git a/boards/arm/stm32f7/stm32f746-ws/scripts/user-space.ld b/boards/arm/stm32f7/stm32f746-ws/scripts/user-space.ld index 79abc160425..98db736f6e4 100644 --- a/boards/arm/stm32f7/stm32f746-ws/scripts/user-space.ld +++ b/boards/arm/stm32f7/stm32f746-ws/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32f7/stm32f746g-disco/scripts/flash.ld b/boards/arm/stm32f7/stm32f746g-disco/scripts/flash.ld index 42ccf71831f..e7f022efd77 100644 --- a/boards/arm/stm32f7/stm32f746g-disco/scripts/flash.ld +++ b/boards/arm/stm32f7/stm32f746g-disco/scripts/flash.ld @@ -69,11 +69,11 @@ MEMORY { - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram1 (rwx) : ORIGIN = 0x20010000, LENGTH = 240K - sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram1 (rwx) : ORIGIN = 0x20010000, LENGTH = 240K + sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -81,67 +81,68 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram1 AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram1 AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram1 + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram1 - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f7/stm32f746g-disco/scripts/kernel-space.ld b/boards/arm/stm32f7/stm32f746g-disco/scripts/kernel-space.ld index 48218638f56..148baf99e47 100644 --- a/boards/arm/stm32f7/stm32f746g-disco/scripts/kernel-space.ld +++ b/boards/arm/stm32f7/stm32f746g-disco/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32f7/stm32f746g-disco/scripts/memory.ld b/boards/arm/stm32f7/stm32f746g-disco/scripts/memory.ld index 382f1a2b196..4585da1367a 100644 --- a/boards/arm/stm32f7/stm32f746g-disco/scripts/memory.ld +++ b/boards/arm/stm32f7/stm32f746g-disco/scripts/memory.ld @@ -106,24 +106,24 @@ MEMORY { - /* ITCM boot address */ + /* ITCM boot address */ - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K - /* 1024KB FLASH */ + /* 1024KB FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 240KB of contiguous SRAM1 */ + /* 240KB of contiguous SRAM1 */ - ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 240K - 8K + ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 240K - 8K - /* DTCM SRAM */ + /* DTCM SRAM */ - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K } diff --git a/boards/arm/stm32f7/stm32f746g-disco/scripts/user-space.ld b/boards/arm/stm32f7/stm32f746g-disco/scripts/user-space.ld index 4e3307a0f48..858f0aaf851 100644 --- a/boards/arm/stm32f7/stm32f746g-disco/scripts/user-space.ld +++ b/boards/arm/stm32f7/stm32f746g-disco/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32f7/stm32f769i-disco/scripts/flash.ld b/boards/arm/stm32f7/stm32f769i-disco/scripts/flash.ld index 251abf44d66..8a223d7241e 100644 --- a/boards/arm/stm32f7/stm32f769i-disco/scripts/flash.ld +++ b/boards/arm/stm32f7/stm32f769i-disco/scripts/flash.ld @@ -69,11 +69,11 @@ MEMORY { - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 2048K - flash (rx) : ORIGIN = 0x08000000, LENGTH = 2048K - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 128K - sram1 (rwx) : ORIGIN = 0x20020000, LENGTH = 368K - sram2 (rwx) : ORIGIN = 0x2007c000, LENGTH = 16K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 2048K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 2048K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + sram1 (rwx) : ORIGIN = 0x20020000, LENGTH = 368K + sram2 (rwx) : ORIGIN = 0x2007c000, LENGTH = 16K } OUTPUT_ARCH(arm) @@ -81,67 +81,68 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram1 AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram1 AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram1 + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram1 - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32f7/stm32f769i-disco/scripts/kernel-space.ld b/boards/arm/stm32f7/stm32f769i-disco/scripts/kernel-space.ld index f01116255a5..bdedc236733 100644 --- a/boards/arm/stm32f7/stm32f769i-disco/scripts/kernel-space.ld +++ b/boards/arm/stm32f7/stm32f769i-disco/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32f7/stm32f769i-disco/scripts/memory.ld b/boards/arm/stm32f7/stm32f769i-disco/scripts/memory.ld index aa79e5e4e65..365996345fa 100644 --- a/boards/arm/stm32f7/stm32f769i-disco/scripts/memory.ld +++ b/boards/arm/stm32f7/stm32f769i-disco/scripts/memory.ld @@ -106,24 +106,24 @@ MEMORY { - /* ITCM boot address */ + /* ITCM boot address */ - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 2048K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 2048K - /* 2048KB FLASH */ + /* 2048KB FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 1792K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 1792K - /* 368KB of contiguous SRAM1 */ + /* 368KB of contiguous SRAM1 */ - ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 368K - 8K + ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 368K - 8K - /* DTCM SRAM */ + /* DTCM SRAM */ - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 128K - sram2 (rwx) : ORIGIN = 0x2007c000, LENGTH = 16K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + sram2 (rwx) : ORIGIN = 0x2007c000, LENGTH = 16K } diff --git a/boards/arm/stm32f7/stm32f769i-disco/scripts/user-space.ld b/boards/arm/stm32f7/stm32f769i-disco/scripts/user-space.ld index 98a18421cf9..f8364c3d0ef 100644 --- a/boards/arm/stm32f7/stm32f769i-disco/scripts/user-space.ld +++ b/boards/arm/stm32f7/stm32f769i-disco/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32h7/nucleo-h743zi/scripts/flash.ld b/boards/arm/stm32h7/nucleo-h743zi/scripts/flash.ld index 0760ba9b2f3..c28609ff021 100644 --- a/boards/arm/stm32h7/nucleo-h743zi/scripts/flash.ld +++ b/boards/arm/stm32h7/nucleo-h743zi/scripts/flash.ld @@ -110,16 +110,16 @@ MEMORY { - itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 64K - flash (rx) : ORIGIN = 0x08000000, LENGTH = 2048K - dtcm1 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - dtcm2 (rwx) : ORIGIN = 0x20010000, LENGTH = 64K - sram (rwx) : ORIGIN = 0x24000000, LENGTH = 512K - sram1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K - sram2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K - sram3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K - sram4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K - bbram (rwx) : ORIGIN = 0x38800000, LENGTH = 4K + itcm (rwx) : ORIGIN = 0x00000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 2048K + dtcm1 (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + dtcm2 (rwx) : ORIGIN = 0x20010000, LENGTH = 64K + sram (rwx) : ORIGIN = 0x24000000, LENGTH = 512K + sram1 (rwx) : ORIGIN = 0x30000000, LENGTH = 128K + sram2 (rwx) : ORIGIN = 0x30020000, LENGTH = 128K + sram3 (rwx) : ORIGIN = 0x30040000, LENGTH = 32K + sram4 (rwx) : ORIGIN = 0x38000000, LENGTH = 64K + bbram (rwx) : ORIGIN = 0x38800000, LENGTH = 4K } OUTPUT_ARCH(arm) @@ -127,74 +127,75 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32h7/nucleo-h743zi/scripts/kernel.space.ld b/boards/arm/stm32h7/nucleo-h743zi/scripts/kernel.space.ld index a80758ebe16..1edf95310a3 100644 --- a/boards/arm/stm32h7/nucleo-h743zi/scripts/kernel.space.ld +++ b/boards/arm/stm32h7/nucleo-h743zi/scripts/kernel.space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32h7/nucleo-h743zi/scripts/user-space.ld b/boards/arm/stm32h7/nucleo-h743zi/scripts/user-space.ld index 9f156a0de92..fe1ec0bad32 100644 --- a/boards/arm/stm32h7/nucleo-h743zi/scripts/user-space.ld +++ b/boards/arm/stm32h7/nucleo-h743zi/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32l4/b-l475e-iot01a/scripts/flash.ld b/boards/arm/stm32l4/b-l475e-iot01a/scripts/flash.ld index 725f06f3c58..f6773bab5a2 100644 --- a/boards/arm/stm32l4/b-l475e-iot01a/scripts/flash.ld +++ b/boards/arm/stm32l4/b-l475e-iot01a/scripts/flash.ld @@ -46,75 +46,76 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32l4/nucleo-l432kc/scripts/l432kc.ld b/boards/arm/stm32l4/nucleo-l432kc/scripts/l432kc.ld index fc723c4054d..f09055c3d28 100644 --- a/boards/arm/stm32l4/nucleo-l432kc/scripts/l432kc.ld +++ b/boards/arm/stm32l4/nucleo-l432kc/scripts/l432kc.ld @@ -44,77 +44,78 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32L432KC has 64Kb of SRAM beginning at the following address */ + /* The STM32L432KC has 64Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32l4/nucleo-l452re/scripts/l452re-flash.ld b/boards/arm/stm32l4/nucleo-l452re/scripts/l452re-flash.ld index b66a357ecd7..4c2004487b9 100644 --- a/boards/arm/stm32l4/nucleo-l452re/scripts/l452re-flash.ld +++ b/boards/arm/stm32l4/nucleo-l452re/scripts/l452re-flash.ld @@ -43,77 +43,78 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 160K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 160K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32L452RE has 160Kb of SRAM beginning at the following address */ + /* The STM32L452RE has 160Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32l4/nucleo-l476rg/scripts/l476rg.ld b/boards/arm/stm32l4/nucleo-l476rg/scripts/l476rg.ld index 83ae5c67c2c..d1457f4dbd8 100644 --- a/boards/arm/stm32l4/nucleo-l476rg/scripts/l476rg.ld +++ b/boards/arm/stm32l4/nucleo-l476rg/scripts/l476rg.ld @@ -43,77 +43,78 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32L476RG has 96Kb of SRAM beginning at the following address */ + /* The STM32L476RG has 96Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32l4/nucleo-l496zg/scripts/kernel-space.ld b/boards/arm/stm32l4/nucleo-l496zg/scripts/kernel-space.ld index 33ca2246bf4..b7cce28b04e 100644 --- a/boards/arm/stm32l4/nucleo-l496zg/scripts/kernel-space.ld +++ b/boards/arm/stm32l4/nucleo-l496zg/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32l4/nucleo-l496zg/scripts/l496zg-flash.ld b/boards/arm/stm32l4/nucleo-l496zg/scripts/l496zg-flash.ld index a38ec27f68f..4df69b6142a 100644 --- a/boards/arm/stm32l4/nucleo-l496zg/scripts/l496zg-flash.ld +++ b/boards/arm/stm32l4/nucleo-l496zg/scripts/l496zg-flash.ld @@ -43,77 +43,78 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 256K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 256K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32L496ZG has 256Kb of SRAM beginning at the following address */ + /* The STM32L496ZG has 256Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32l4/nucleo-l496zg/scripts/memory.ld b/boards/arm/stm32l4/nucleo-l496zg/scripts/memory.ld index 51de55b359d..da806896012 100644 --- a/boards/arm/stm32l4/nucleo-l496zg/scripts/memory.ld +++ b/boards/arm/stm32l4/nucleo-l496zg/scripts/memory.ld @@ -106,24 +106,24 @@ MEMORY { - /* ITCM boot address */ + /* ITCM boot address */ - itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K + itcm (rwx) : ORIGIN = 0x00200000, LENGTH = 1024K - /* 1024KB FLASH */ + /* 1024KB FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 240KB of contiguous SRAM1 */ + /* 240KB of contiguous SRAM1 */ - ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K - usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K - xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 240K - 8K + ksram (rwx) : ORIGIN = 0x20010000, LENGTH = 4K + usram (rwx) : ORIGIN = 0x20011000, LENGTH = 4K + xsram (rwx) : ORIGIN = 0x20012000, LENGTH = 240K - 8K /* DTCM SRAM */ - dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K + dtcm (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + sram2 (rwx) : ORIGIN = 0x2004c000, LENGTH = 16K } diff --git a/boards/arm/stm32l4/nucleo-l496zg/scripts/user-space.ld b/boards/arm/stm32l4/nucleo-l496zg/scripts/user-space.ld index be232aeb0c8..cccae5b9935 100644 --- a/boards/arm/stm32l4/nucleo-l496zg/scripts/user-space.ld +++ b/boards/arm/stm32l4/nucleo-l496zg/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32l4/stm32l476-mdk/scripts/stm32l476-mdk.ld b/boards/arm/stm32l4/stm32l476-mdk/scripts/stm32l476-mdk.ld index c92fe0c656a..34439868798 100644 --- a/boards/arm/stm32l4/stm32l476-mdk/scripts/stm32l476-mdk.ld +++ b/boards/arm/stm32l4/stm32l476-mdk/scripts/stm32l476-mdk.ld @@ -48,78 +48,79 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K - sram2 (rwx) : ORIGIN = 0x10000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K + sram2 (rwx) : ORIGIN = 0x10000000, LENGTH = 32K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32L476RG has 96Kb of SRAM beginning at the following address */ + /* The STM32L476RG has 96Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32l4/stm32l476vg-disco/scripts/kernel-space.ld b/boards/arm/stm32l4/stm32l476vg-disco/scripts/kernel-space.ld index 4b1ff2144dc..2e34d443b0e 100644 --- a/boards/arm/stm32l4/stm32l476vg-disco/scripts/kernel-space.ld +++ b/boards/arm/stm32l4/stm32l476vg-disco/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32l4/stm32l476vg-disco/scripts/memory.ld b/boards/arm/stm32l4/stm32l476vg-disco/scripts/memory.ld index 44fbc554787..5a65eab7767 100644 --- a/boards/arm/stm32l4/stm32l476vg-disco/scripts/memory.ld +++ b/boards/arm/stm32l4/stm32l476vg-disco/scripts/memory.ld @@ -86,15 +86,15 @@ MEMORY { - /* 1024Kb FLASH */ + /* 1024Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 768K - /* 96Kb of contiguous SRAM */ + /* 96Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K - usram (rwx) : ORIGIN = 0x20002000, LENGTH = 8K - xsram (rwx) : ORIGIN = 0x20004000, LENGTH = 80K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 8K + usram (rwx) : ORIGIN = 0x20002000, LENGTH = 8K + xsram (rwx) : ORIGIN = 0x20004000, LENGTH = 80K } diff --git a/boards/arm/stm32l4/stm32l476vg-disco/scripts/stm32l476vg-disco.ld b/boards/arm/stm32l4/stm32l476vg-disco/scripts/stm32l476vg-disco.ld index 2f2fd345b0d..e1b9468e027 100644 --- a/boards/arm/stm32l4/stm32l476vg-disco/scripts/stm32l476vg-disco.ld +++ b/boards/arm/stm32l4/stm32l476vg-disco/scripts/stm32l476vg-disco.ld @@ -48,78 +48,80 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K - sram2 (rwx) : ORIGIN = 0x10000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 512K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K + sram2 (rwx) : ORIGIN = 0x10000000, LENGTH = 32K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32L476RG has 96Kb of SRAM beginning at the following address */ + /* The STM32L476RG has 96Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32l4/stm32l476vg-disco/scripts/user-space.ld b/boards/arm/stm32l4/stm32l476vg-disco/scripts/user-space.ld index e09041c5dbc..cda30733358 100644 --- a/boards/arm/stm32l4/stm32l476vg-disco/scripts/user-space.ld +++ b/boards/arm/stm32l4/stm32l476vg-disco/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/kernel-space.ld b/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/kernel-space.ld index 404adb456a4..411d3f5e8cb 100644 --- a/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/kernel-space.ld +++ b/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/kernel-space.ld @@ -89,6 +89,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > ksram diff --git a/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/memory.ld b/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/memory.ld index 419a9e5e63f..7eeafb7136e 100644 --- a/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/memory.ld +++ b/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/memory.ld @@ -69,15 +69,15 @@ MEMORY { /* 2048Kb FLASH */ - kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K - uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K - xflash (rx) : ORIGIN = 0x08040000, LENGTH = 1792K + kflash (rx) : ORIGIN = 0x08000000, LENGTH = 128K + uflash (rx) : ORIGIN = 0x08020000, LENGTH = 128K + xflash (rx) : ORIGIN = 0x08040000, LENGTH = 1792K /* 640Kb of contiguous SRAM */ - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K - usram (rwx) : ORIGIN = 0x20004000, LENGTH = 16K - xsram (rwx) : ORIGIN = 0x20008000, LENGTH = 192K + 64K - 32K + ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 16K + usram (rwx) : ORIGIN = 0x20004000, LENGTH = 16K + xsram (rwx) : ORIGIN = 0x20008000, LENGTH = 192K + 64K - 32K - sram3 (rwx) : ORIGIN = 0x20040000, LENGTH = 384K + sram3 (rwx) : ORIGIN = 0x20040000, LENGTH = 384K } diff --git a/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/stm32l4r9ai-disco.ld b/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/stm32l4r9ai-disco.ld index 10030bff46e..e495d3d9b4e 100644 --- a/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/stm32l4r9ai-disco.ld +++ b/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/stm32l4r9ai-disco.ld @@ -50,79 +50,80 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 2048K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 192K - sram2 (rwx) : ORIGIN = 0x10000000, LENGTH = 64K - sram3 (rwx) : ORIGIN = 0x20040000, LENGTH = 384K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 2048K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 192K + sram2 (rwx) : ORIGIN = 0x10000000, LENGTH = 64K + sram3 (rwx) : ORIGIN = 0x20040000, LENGTH = 384K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The STM32L4R9AI has 192Kb of SRAM beginning at the following address */ + /* The STM32L4R9AI has 192Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/user-space.ld b/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/user-space.ld index 27e585909cd..ccc5a103c04 100644 --- a/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/user-space.ld +++ b/boards/arm/stm32l4/stm32l4r9ai-disco/scripts/user-space.ld @@ -91,6 +91,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > usram diff --git a/boards/arm/str71x/olimex-strp711/scripts/ld.script b/boards/arm/str71x/olimex-strp711/scripts/ld.script index 87f341ee5db..d4d32a3029e 100644 --- a/boards/arm/str71x/olimex-strp711/scripts/ld.script +++ b/boards/arm/str71x/olimex-strp711/scripts/ld.script @@ -104,6 +104,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/tiva/dk-tm4c129x/scripts/ld.script b/boards/arm/tiva/dk-tm4c129x/scripts/ld.script index 0fc256a1387..3437d62d380 100644 --- a/boards/arm/tiva/dk-tm4c129x/scripts/ld.script +++ b/boards/arm/tiva/dk-tm4c129x/scripts/ld.script @@ -96,6 +96,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/tiva/eagle100/scripts/ld.script b/boards/arm/tiva/eagle100/scripts/ld.script index 25965af51f9..a49518a9206 100644 --- a/boards/arm/tiva/eagle100/scripts/ld.script +++ b/boards/arm/tiva/eagle100/scripts/ld.script @@ -100,6 +100,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/tiva/ekk-lm3s9b96/scripts/ekk-lm3s9b96.ld b/boards/arm/tiva/ekk-lm3s9b96/scripts/ekk-lm3s9b96.ld index df6d07615e6..a03583ad89a 100644 --- a/boards/arm/tiva/ekk-lm3s9b96/scripts/ekk-lm3s9b96.ld +++ b/boards/arm/tiva/ekk-lm3s9b96/scripts/ekk-lm3s9b96.ld @@ -40,8 +40,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K } OUTPUT_ARCH(arm) @@ -49,66 +49,67 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/tiva/launchxl-cc1310/scripts/flash.ld b/boards/arm/tiva/launchxl-cc1310/scripts/flash.ld index ac96c9b9576..af7699414e3 100644 --- a/boards/arm/tiva/launchxl-cc1310/scripts/flash.ld +++ b/boards/arm/tiva/launchxl-cc1310/scripts/flash.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 128K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 128K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K } OUTPUT_ARCH(arm) @@ -49,67 +49,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/tiva/launchxl-cc1312r1/scripts/flash.ld b/boards/arm/tiva/launchxl-cc1312r1/scripts/flash.ld index f02c26cd2e6..5321c9d8316 100644 --- a/boards/arm/tiva/launchxl-cc1312r1/scripts/flash.ld +++ b/boards/arm/tiva/launchxl-cc1312r1/scripts/flash.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 352K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 80K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 352K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 80K } OUTPUT_ARCH(arm) @@ -49,67 +49,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/tiva/launchxl-cc1312r1/scripts/sram.ld b/boards/arm/tiva/launchxl-cc1312r1/scripts/sram.ld index 15ea9bf7c99..cc593fb2df7 100644 --- a/boards/arm/tiva/launchxl-cc1312r1/scripts/sram.ld +++ b/boards/arm/tiva/launchxl-cc1312r1/scripts/sram.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 352K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 80K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 352K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 80K } OUTPUT_ARCH(arm) @@ -49,67 +49,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > sram + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > sram - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > sram + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > sram - .ARM.extab : { - *(.ARM.extab*) - } > sram + .ARM.extab : { + *(.ARM.extab*) + } > sram - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > sram - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > sram + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/tiva/lm3s6432-s2e/scripts/lm3s6432-s2e.ld b/boards/arm/tiva/lm3s6432-s2e/scripts/lm3s6432-s2e.ld index f8f90e1f26c..f9808228fea 100644 --- a/boards/arm/tiva/lm3s6432-s2e/scripts/lm3s6432-s2e.ld +++ b/boards/arm/tiva/lm3s6432-s2e/scripts/lm3s6432-s2e.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 96K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 96K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -48,68 +48,69 @@ EXTERN(_vectors) ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - /* The LM3S6432 has 32Kb of SRAM beginning at the following address */ + /* The LM3S6432 has 32Kb of SRAM beginning at the following address */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/tiva/lm3s6965-ek/scripts/ld.script b/boards/arm/tiva/lm3s6965-ek/scripts/ld.script index 1fe63034eb4..0234c1fcaca 100644 --- a/boards/arm/tiva/lm3s6965-ek/scripts/ld.script +++ b/boards/arm/tiva/lm3s6965-ek/scripts/ld.script @@ -97,6 +97,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram /* Stabs debugging sections. */ diff --git a/boards/arm/tiva/lm3s8962-ek/scripts/ld.script b/boards/arm/tiva/lm3s8962-ek/scripts/ld.script index 848c4a69a72..6b9a440fd90 100644 --- a/boards/arm/tiva/lm3s8962-ek/scripts/ld.script +++ b/boards/arm/tiva/lm3s8962-ek/scripts/ld.script @@ -97,6 +97,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram /* Stabs debugging sections. */ diff --git a/boards/arm/tiva/lm4f120-launchpad/scripts/lm4f120-launchpad.ld b/boards/arm/tiva/lm4f120-launchpad/scripts/lm4f120-launchpad.ld index 34dbb0a1c72..5bd0e2db8a8 100644 --- a/boards/arm/tiva/lm4f120-launchpad/scripts/lm4f120-launchpad.ld +++ b/boards/arm/tiva/lm4f120-launchpad/scripts/lm4f120-launchpad.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -49,68 +49,69 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/tiva/tm4c123g-launchpad/scripts/tm4c123g-launchpad.ld b/boards/arm/tiva/tm4c123g-launchpad/scripts/tm4c123g-launchpad.ld index 500280f53fd..fc862f35594 100644 --- a/boards/arm/tiva/tm4c123g-launchpad/scripts/tm4c123g-launchpad.ld +++ b/boards/arm/tiva/tm4c123g-launchpad/scripts/tm4c123g-launchpad.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -49,68 +49,69 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : ALIGN(4) { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : ALIGN(4) { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : ALIGN(4) { - *(.ARM.extab*) - } > flash + .ARM.extab : ALIGN(4) { + *(.ARM.extab*) + } > flash - .ARM.exidx : ALIGN(4) { - __exidx_start = ABSOLUTE(.); - *(.ARM.exidx*) - __exidx_end = ABSOLUTE(.); - } > flash + .ARM.exidx : ALIGN(4) { + __exidx_start = ABSOLUTE(.); + *(.ARM.exidx*) + __exidx_end = ABSOLUTE(.); + } > flash - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : ALIGN(4) { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : ALIGN(4) { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : ALIGN(4) { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : ALIGN(4) { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/tiva/tm4c1294-launchpad/scripts/ld.script b/boards/arm/tiva/tm4c1294-launchpad/scripts/ld.script index 5a8cfb16db5..294e7084bbc 100644 --- a/boards/arm/tiva/tm4c1294-launchpad/scripts/ld.script +++ b/boards/arm/tiva/tm4c1294-launchpad/scripts/ld.script @@ -96,6 +96,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/arm/tms570/launchxl-tms57004/scripts/flash-sram.ld b/boards/arm/tms570/launchxl-tms57004/scripts/flash-sram.ld index e942a1bedd9..1654db48e9f 100644 --- a/boards/arm/tms570/launchxl-tms57004/scripts/flash-sram.ld +++ b/boards/arm/tms570/launchxl-tms57004/scripts/flash-sram.ld @@ -39,8 +39,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = 384K - sram (rwx) : ORIGIN = 0x08000000, LENGTH = 32K + flash (rx) : ORIGIN = 0x00000000, LENGTH = 384K + sram (rwx) : ORIGIN = 0x08000000, LENGTH = 32K } OUTPUT_ARCH(arm) @@ -50,67 +50,68 @@ ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : { - *(.ARM.extab*) - } > flash + .ARM.extab : { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/tms570/tms570ls31x-usb-kit/scripts/flash-sram.ld b/boards/arm/tms570/tms570ls31x-usb-kit/scripts/flash-sram.ld index b342608eadd..444aacd80c8 100644 --- a/boards/arm/tms570/tms570ls31x-usb-kit/scripts/flash-sram.ld +++ b/boards/arm/tms570/tms570ls31x-usb-kit/scripts/flash-sram.ld @@ -41,8 +41,8 @@ MEMORY { - flash (rx) : ORIGIN = 0x00000000, LENGTH = (0x0017FFE0 + 0x00180000 + 0x00000020 ) - sram (rwx) : ORIGIN = 0x08000000, LENGTH = (0x0003EB00 + 0x00001500) + flash (rx) : ORIGIN = 0x00000000, LENGTH = (0x0017FFE0 + 0x00180000 + 0x00000020 ) + sram (rwx) : ORIGIN = 0x08000000, LENGTH = (0x0003EB00 + 0x00001500) } OUTPUT_ARCH(arm) @@ -52,74 +52,75 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/arm/xmc4/xmc4500-relax/scripts/flash.ld b/boards/arm/xmc4/xmc4500-relax/scripts/flash.ld index 61c3245b41a..2903217ff8d 100644 --- a/boards/arm/xmc4/xmc4500-relax/scripts/flash.ld +++ b/boards/arm/xmc4/xmc4500-relax/scripts/flash.ld @@ -44,91 +44,92 @@ MEMORY { - flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K + flash (rx) : ORIGIN = 0x08000000, LENGTH = 1024K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K } OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > flash - .ARM.extab : - { - *(.ARM.extab*) - } > flash + .ARM.extab : + { + *(.ARM.extab*) + } > flash - __exidx_start = ABSOLUTE(.); - .ARM.exidx : - { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); + __exidx_start = ABSOLUTE(.); + .ARM.exidx : + { + *(.ARM.exidx*) + } > flash + __exidx_end = ABSOLUTE(.); - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Global data not cleared after reset. */ + /* Global data not cleared after reset. */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/avr/at32uc3/avr32dev1/scripts/avr32dev1.ld b/boards/avr/at32uc3/avr32dev1/scripts/avr32dev1.ld index 4cf242b2182..478d860ef3e 100644 --- a/boards/avr/at32uc3/avr32dev1/scripts/avr32dev1.ld +++ b/boards/avr/at32uc3/avr32dev1/scripts/avr32dev1.ld @@ -47,59 +47,60 @@ ENTRY(_stext) MEMORY { - flash (rxai!w) : ORIGIN = 0x80002000, LENGTH = 256K - 8K - intram (wxa!ri) : ORIGIN = 0x00000004, LENGTH = 32K - userpage : ORIGIN = 0x80800000, LENGTH = 512 - factorypage : ORIGIN = 0x80800200, LENGTH = 512 + flash (rxai!w) : ORIGIN = 0x80002000, LENGTH = 256K - 8K + intram (wxa!ri) : ORIGIN = 0x00000004, LENGTH = 32K + userpage : ORIGIN = 0x80800000, LENGTH = 512 + factorypage : ORIGIN = 0x80800200, LENGTH = 512 } SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > flash - _eronly = ABSOLUTE(.); /* See below */ + _eronly = ABSOLUTE(.); /* See below */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > intram AT > flash + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > intram AT > flash - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > intram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > intram + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/avr/at90usb/micropendous3/scripts/micropendous3.ld b/boards/avr/at90usb/micropendous3/scripts/micropendous3.ld index 0b956d2b9ba..cc81e80c72e 100644 --- a/boards/avr/at90usb/micropendous3/scripts/micropendous3.ld +++ b/boards/avr/at90usb/micropendous3/scripts/micropendous3.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -45,9 +45,9 @@ MEMORY { - flash (rx) : ORIGIN = 0, LENGTH = 128K - sram (rw!x) : ORIGIN = 0x800100, LENGTH = 8K - eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 4K + flash (rx) : ORIGIN = 0, LENGTH = 128K + sram (rw!x) : ORIGIN = 0x800100, LENGTH = 8K + eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 4K } OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") @@ -56,156 +56,157 @@ ENTRY(__start) SECTIONS { - /* Read-only sections, merged into text segment: */ + /* Read-only sections, merged into text segment: */ - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rel.init : { *(.rel.init) } - .rela.init : { *(.rela.init) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } - .rel.text : - { - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + } - .rela.text : - { - *(.rela.text) - *(.rela.text.*) - *(.rela.gnu.linkonce.t*) - } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + } - .rel.fini : { *(.rel.fini) } - .rela.fini : { *(.rela.fini) } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } - .rel.rodata : - { - *(.rel.rodata) - *(.rel.rodata.*) - *(.rel.gnu.linkonce.r*) - } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + } - .rela.rodata : - { - *(.rela.rodata) - *(.rela.rodata.*) - *(.rela.gnu.linkonce.r*) - } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + } - .rel.data : - { - *(.rel.data) - *(.rel.data.*) - *(.rel.gnu.linkonce.d*) - } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + } - .rela.data : - { - *(.rela.data) - *(.rela.data.*) - *(.rela.gnu.linkonce.d*) - } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + } - .rel.ctors : { *(.rel.ctors) } - .rela.ctors : { *(.rela.ctors) } - .rel.dtors : { *(.rel.dtors) } - .rela.dtors : { *(.rela.dtors) } - .rel.got : { *(.rel.got) } - .rela.got : { *(.rela.got) } - .rel.bss : { *(.rel.bss) } - .rela.bss : { *(.rela.bss) } - .rel.plt : { *(.rel.plt) } - .rela.plt : { *(.rela.plt) } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } - .text : - { - _stext = . ; - *(.vectors) - *(.init) - *(.handlers) - *(.text) - *(.text.*) - _etext = . ; - } > flash + .text : + { + _stext = . ; + *(.vectors) + *(.init) + *(.handlers) + *(.text) + *(.text.*) + _etext = . ; + } > flash - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Global data not cleared after reset. */ + /* Global data not cleared after reset. */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sram - .eeprom : - { - _seeprom = ABSOLUTE(.); - *(.eeprom*) - _eeeprom = ABSOLUTE(.); - } > eeprom + .eeprom : + { + _seeprom = ABSOLUTE(.); + *(.eeprom*) + _eeeprom = ABSOLUTE(.); + } > eeprom - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ - /* DWARF 1 */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } } diff --git a/boards/avr/at90usb/teensy-2.0/scripts/flash.ld b/boards/avr/at90usb/teensy-2.0/scripts/flash.ld index 59b91c1ae16..9e5cdd06b84 100644 --- a/boards/avr/at90usb/teensy-2.0/scripts/flash.ld +++ b/boards/avr/at90usb/teensy-2.0/scripts/flash.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -44,9 +44,9 @@ MEMORY { - flash (rx) : ORIGIN = 0, LENGTH = 128K - sram (rw!x) : ORIGIN = 0x800100, LENGTH = 8K - eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 4K + flash (rx) : ORIGIN = 0, LENGTH = 128K + sram (rw!x) : ORIGIN = 0x800100, LENGTH = 8K + eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 4K } OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") @@ -55,158 +55,159 @@ ENTRY(__start) SECTIONS { - /* Read-only sections, merged into text segment: */ + /* Read-only sections, merged into text segment: */ - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rel.init : { *(.rel.init) } - .rela.init : { *(.rela.init) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } - .rel.text : - { - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + } - .rela.text : - { - *(.rela.text) - *(.rela.text.*) - *(.rela.gnu.linkonce.t*) - } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + } - .rel.fini : { *(.rel.fini) } - .rela.fini : { *(.rela.fini) } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } - .rel.rodata : - { - *(.rel.rodata) - *(.rel.rodata.*) - *(.rel.gnu.linkonce.r*) - } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + } - .rela.rodata : - { - *(.rela.rodata) - *(.rela.rodata.*) - *(.rela.gnu.linkonce.r*) - } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + } - .rel.data : - { - *(.rel.data) - *(.rel.data.*) - *(.rel.gnu.linkonce.d*) - } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + } - .rela.data : - { - *(.rela.data) - *(.rela.data.*) - *(.rela.gnu.linkonce.d*) - } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + } - .rel.ctors : { *(.rel.ctors) } - .rela.ctors : { *(.rela.ctors) } - .rel.dtors : { *(.rel.dtors) } - .rela.dtors : { *(.rela.dtors) } - .rel.got : { *(.rel.got) } - .rela.got : { *(.rela.got) } - .rel.bss : { *(.rel.bss) } - .rela.bss : { *(.rela.bss) } - .rel.plt : { *(.rel.plt) } - .rela.plt : { *(.rela.plt) } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } - .text : - { - _stext = . ; - *(.vectors) - *(.init) - *(.handlers) - *(.progmem .progmem.*) - *(.text) - *(.text.*) - _etext = . ; - } > flash + .text : + { + _stext = . ; + *(.vectors) + *(.init) + *(.handlers) + *(.progmem .progmem.*) + *(.text) + *(.text.*) + _etext = . ; + } > flash - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.rodata .rodata.*) - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.rodata .rodata.*) + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Global data not cleared after reset. */ + /* Global data not cleared after reset. */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sram - .eeprom : - { - _seeprom = ABSOLUTE(.); - *(.eeprom*) - _eeeprom = ABSOLUTE(.); - } > eeprom + .eeprom : + { + _seeprom = ABSOLUTE(.); + *(.eeprom*) + _eeeprom = ABSOLUTE(.); + } > eeprom - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ - /* DWARF 1 */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } } diff --git a/boards/avr/atmega/amber/scripts/amber.ld b/boards/avr/atmega/amber/scripts/amber.ld index f90b1553b45..15d6c8b13a3 100644 --- a/boards/avr/atmega/amber/scripts/amber.ld +++ b/boards/avr/atmega/amber/scripts/amber.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -46,9 +46,9 @@ MEMORY { - flash (rx) : ORIGIN = 0, LENGTH = 128K - sram (rw!x) : ORIGIN = 0x800100, LENGTH = 4K - eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 4K + flash (rx) : ORIGIN = 0, LENGTH = 128K + sram (rw!x) : ORIGIN = 0x800100, LENGTH = 4K + eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 4K } OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") @@ -57,156 +57,157 @@ ENTRY(__start) SECTIONS { - /* Read-only sections, merged into text segment: */ + /* Read-only sections, merged into text segment: */ - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rel.init : { *(.rel.init) } - .rela.init : { *(.rela.init) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } - .rel.text : - { - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + } - .rela.text : - { - *(.rela.text) - *(.rela.text.*) - *(.rela.gnu.linkonce.t*) - } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + } - .rel.fini : { *(.rel.fini) } - .rela.fini : { *(.rela.fini) } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } - .rel.rodata : - { - *(.rel.rodata) - *(.rel.rodata.*) - *(.rel.gnu.linkonce.r*) - } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + } - .rela.rodata : - { - *(.rela.rodata) - *(.rela.rodata.*) - *(.rela.gnu.linkonce.r*) - } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + } - .rel.data : - { - *(.rel.data) - *(.rel.data.*) - *(.rel.gnu.linkonce.d*) - } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + } - .rela.data : - { - *(.rela.data) - *(.rela.data.*) - *(.rela.gnu.linkonce.d*) - } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + } - .rel.ctors : { *(.rel.ctors) } - .rela.ctors : { *(.rela.ctors) } - .rel.dtors : { *(.rel.dtors) } - .rela.dtors : { *(.rela.dtors) } - .rel.got : { *(.rel.got) } - .rela.got : { *(.rela.got) } - .rel.bss : { *(.rel.bss) } - .rela.bss : { *(.rela.bss) } - .rel.plt : { *(.rel.plt) } - .rela.plt : { *(.rela.plt) } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } - .text : - { - _stext = . ; - *(.vectors) - *(.init) - *(.handlers) - *(.text) - *(.text.*) - _etext = . ; - } > flash + .text : + { + _stext = . ; + *(.vectors) + *(.init) + *(.handlers) + *(.text) + *(.text.*) + _etext = . ; + } > flash - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Global data not cleared after reset. */ + /* Global data not cleared after reset. */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sram - .eeprom : - { - _seeprom = ABSOLUTE(.); - *(.eeprom*) - _eeeprom = ABSOLUTE(.); - } > eeprom + .eeprom : + { + _seeprom = ABSOLUTE(.); + *(.eeprom*) + _eeeprom = ABSOLUTE(.); + } > eeprom - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ - /* DWARF 1 */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } } diff --git a/boards/avr/atmega/arduino-mega2560/scripts/flash.ld b/boards/avr/atmega/arduino-mega2560/scripts/flash.ld index a8c3c9d6478..4faf991e5cc 100644 --- a/boards/avr/atmega/arduino-mega2560/scripts/flash.ld +++ b/boards/avr/atmega/arduino-mega2560/scripts/flash.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -46,9 +46,9 @@ MEMORY { - flash (rx) : ORIGIN = 0, LENGTH = 256K - sram (rw!x) : ORIGIN = 0x800200, LENGTH = 8K - eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 4K + flash (rx) : ORIGIN = 0, LENGTH = 256K + sram (rw!x) : ORIGIN = 0x800200, LENGTH = 8K + eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 4K } OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr") @@ -57,158 +57,159 @@ ENTRY(__start) SECTIONS { - /* Read-only sections, merged into text segment: */ + /* Read-only sections, merged into text segment: */ - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - .rel.init : { *(.rel.init) } - .rela.init : { *(.rela.init) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } - .rel.text : - { - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + } - .rela.text : - { - *(.rela.text) - *(.rela.text.*) - *(.rela.gnu.linkonce.t*) - } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + } - .rel.fini : { *(.rel.fini) } - .rela.fini : { *(.rela.fini) } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } - .rel.rodata : - { - *(.rel.rodata) - *(.rel.rodata.*) - *(.rel.gnu.linkonce.r*) - } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + } - .rela.rodata : - { - *(.rela.rodata) - *(.rela.rodata.*) - *(.rela.gnu.linkonce.r*) - } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + } - .rel.data : - { - *(.rel.data) - *(.rel.data.*) - *(.rel.gnu.linkonce.d*) - } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + } - .rela.data : - { - *(.rela.data) - *(.rela.data.*) - *(.rela.gnu.linkonce.d*) - } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + } - .rel.ctors : { *(.rel.ctors) } - .rela.ctors : { *(.rela.ctors) } - .rel.dtors : { *(.rel.dtors) } - .rela.dtors : { *(.rela.dtors) } - .rel.got : { *(.rel.got) } - .rela.got : { *(.rela.got) } - .rel.bss : { *(.rel.bss) } - .rela.bss : { *(.rela.bss) } - .rel.plt : { *(.rel.plt) } - .rela.plt : { *(.rela.plt) } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } - .text : - { - _stext = . ; - *(.vectors) - *(.init) - *(.handlers) - *(.progmem .progmem.*) - *(.text) - *(.text.*) - _etext = . ; - } > flash + .text : + { + _stext = . ; + *(.vectors) + *(.init) + *(.handlers) + *(.progmem .progmem.*) + *(.text) + *(.text.*) + _etext = . ; + } > flash - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : - { - _sdata = ABSOLUTE(.); - *(.rodata .rodata.*) - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash + .data : + { + _sdata = ABSOLUTE(.); + *(.rodata .rodata.*) + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > flash - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - /* Global data not cleared after reset. */ + /* Global data not cleared after reset. */ - .noinit : - { - _snoinit = ABSOLUTE(.); - *(.noinit*) - _enoinit = ABSOLUTE(.); - } > sram + .noinit : + { + _snoinit = ABSOLUTE(.); + *(.noinit*) + _enoinit = ABSOLUTE(.); + } > sram - .eeprom : - { - _seeprom = ABSOLUTE(.); - *(.eeprom*) - _eeeprom = ABSOLUTE(.); - } > eeprom + .eeprom : + { + _seeprom = ABSOLUTE(.); + *(.eeprom*) + _eeeprom = ABSOLUTE(.); + } > eeprom - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ - /* DWARF 1 */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } } diff --git a/boards/avr/atmega/moteino-mega/scripts/ld.script b/boards/avr/atmega/moteino-mega/scripts/ld.script index 02fba05083c..4257ec03424 100644 --- a/boards/avr/atmega/moteino-mega/scripts/ld.script +++ b/boards/avr/atmega/moteino-mega/scripts/ld.script @@ -155,6 +155,7 @@ SECTIONS *(.bss .bss.*) *(.gnu.linkonce.b.*) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } > sram diff --git a/boards/hc/mcs92s12ne64/demo9s12ne64/scripts/demo9s12ne64-banked.ld b/boards/hc/mcs92s12ne64/demo9s12ne64/scripts/demo9s12ne64-banked.ld index 88305440c3b..c1a7a3d44d4 100644 --- a/boards/hc/mcs92s12ne64/demo9s12ne64/scripts/demo9s12ne64-banked.ld +++ b/boards/hc/mcs92s12ne64/demo9s12ne64/scripts/demo9s12ne64-banked.ld @@ -47,8 +47,8 @@ MEMORY /* Two fixed text flash pages (corresponding to page 3e and 3f) */ - lowtext(rx) : ORIGIN = 0x4000, LENGTH = 16K /* Page 3e */ - hitext (rx) : ORIGIN = 0xc000, LENGTH = 16K-2k /* Page 3f */ + lowtext(rx) : ORIGIN = 0x4000, LENGTH = 16K /* Page 3e */ + hitext (rx) : ORIGIN = 0xc000, LENGTH = 16K-2k /* Page 3f */ /* Flash memory pages: * @@ -61,23 +61,23 @@ MEMORY * with PPAGE values 0x30 through 0x3f, is occupied by on chip flash. */ - page30 (rx) : ORIGIN = 0x0c0000, LENGTH = 16K /* Page 30 */ - page31 (rx) : ORIGIN = 0x0c4000, LENGTH = 16K /* Page 31 */ - page32 (rx) : ORIGIN = 0x0c8000, LENGTH = 16K /* Page 32 */ - page33 (rx) : ORIGIN = 0x0cc000, LENGTH = 16K /* Page 33 */ - page34 (rx) : ORIGIN = 0x0d0000, LENGTH = 16K /* Page 34 */ - page35 (rx) : ORIGIN = 0x0d4000, LENGTH = 16K /* Page 35 */ - page36 (rx) : ORIGIN = 0x0d8000, LENGTH = 16K /* Page 36 */ - page37 (rx) : ORIGIN = 0x0dc000, LENGTH = 16K /* Page 37 */ - page38 (rx) : ORIGIN = 0x0e0000, LENGTH = 16K /* Page 38 */ - page39 (rx) : ORIGIN = 0x0e4000, LENGTH = 16K /* Page 39 */ - page3a (rx) : ORIGIN = 0x0e8000, LENGTH = 16K /* Page 3a */ - page3b (rx) : ORIGIN = 0x0ec000, LENGTH = 16K /* Page 3b */ - page3c (rx) : ORIGIN = 0x0f0000, LENGTH = 16K /* Page 3c */ - page3d (rx) : ORIGIN = 0x0f4000, LENGTH = 16K /* Page 3d */ + page30 (rx) : ORIGIN = 0x0c0000, LENGTH = 16K /* Page 30 */ + page31 (rx) : ORIGIN = 0x0c4000, LENGTH = 16K /* Page 31 */ + page32 (rx) : ORIGIN = 0x0c8000, LENGTH = 16K /* Page 32 */ + page33 (rx) : ORIGIN = 0x0cc000, LENGTH = 16K /* Page 33 */ + page34 (rx) : ORIGIN = 0x0d0000, LENGTH = 16K /* Page 34 */ + page35 (rx) : ORIGIN = 0x0d4000, LENGTH = 16K /* Page 35 */ + page36 (rx) : ORIGIN = 0x0d8000, LENGTH = 16K /* Page 36 */ + page37 (rx) : ORIGIN = 0x0dc000, LENGTH = 16K /* Page 37 */ + page38 (rx) : ORIGIN = 0x0e0000, LENGTH = 16K /* Page 38 */ + page39 (rx) : ORIGIN = 0x0e4000, LENGTH = 16K /* Page 39 */ + page3a (rx) : ORIGIN = 0x0e8000, LENGTH = 16K /* Page 3a */ + page3b (rx) : ORIGIN = 0x0ec000, LENGTH = 16K /* Page 3b */ + page3c (rx) : ORIGIN = 0x0f0000, LENGTH = 16K /* Page 3c */ + page3d (rx) : ORIGIN = 0x0f4000, LENGTH = 16K /* Page 3d */ - page3e (rx) : ORIGIN = 0x0f8000, LENGTH = 16K /* Page 3e */ - page3f (rx) : ORIGIN = 0x0fc000, LENGTH = 16K-2K /* Page 3f */ + page3e (rx) : ORIGIN = 0x0f8000, LENGTH = 16K /* Page 3e */ + page3f (rx) : ORIGIN = 0x0fc000, LENGTH = 16K-2K /* Page 3f */ /* Vectors. These get relocated to 0xf780-f7ff by the serial loader */ @@ -87,57 +87,58 @@ MEMORY ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > hitext + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > hitext - _eronly = ABSOLUTE(.); /* See below */ + _eronly = ABSOLUTE(.); /* See below */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > lowtext + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > lowtext - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectors + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectors - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/hc/mcs92s12ne64/demo9s12ne64/scripts/demo9s12ne64-unbanked.ld b/boards/hc/mcs92s12ne64/demo9s12ne64/scripts/demo9s12ne64-unbanked.ld index bf1be8004c2..778db86f7b7 100644 --- a/boards/hc/mcs92s12ne64/demo9s12ne64/scripts/demo9s12ne64-unbanked.ld +++ b/boards/hc/mcs92s12ne64/demo9s12ne64/scripts/demo9s12ne64-unbanked.ld @@ -50,7 +50,7 @@ MEMORY * the serial boot loader */ - text (rx) : ORIGIN = 0x4000, LENGTH = 48K-2k /* Page 3e, 3d, and 3f */ + text (rx) : ORIGIN = 0x4000, LENGTH = 48K-2k /* Page 3e, 3d, and 3f */ /* Vectors. These get relocated to 0xf780-f7ff by the serial loader */ @@ -60,57 +60,58 @@ MEMORY ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > text + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > text - _eronly = ABSOLUTE(.); /* See below */ + _eronly = ABSOLUTE(.); /* See below */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > text + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > text - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectors + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectors - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/hc/mcs92s12ne64/ne64badge/scripts/ne64badge-banked.ld b/boards/hc/mcs92s12ne64/ne64badge/scripts/ne64badge-banked.ld index 5efc8b817b4..7549eab75ae 100644 --- a/boards/hc/mcs92s12ne64/ne64badge/scripts/ne64badge-banked.ld +++ b/boards/hc/mcs92s12ne64/ne64badge/scripts/ne64badge-banked.ld @@ -51,8 +51,8 @@ MEMORY * top 256 bytes of page 3f is reserved to hold the interrupt vectors */ - lowtext(rx) : ORIGIN = 0x4000, LENGTH = 16K /* Page 3e */ - hitext (rx) : ORIGIN = 0xc000, LENGTH = 16K-256 /* Page 3f */ + lowtext(rx) : ORIGIN = 0x4000, LENGTH = 16K /* Page 3e */ + hitext (rx) : ORIGIN = 0xc000, LENGTH = 16K-256 /* Page 3f */ /* Flash memory pages: * @@ -65,23 +65,23 @@ MEMORY * with PPAGE values 0x30 through 0x3f, is occupied by on chip flash. */ - page30 (rx) : ORIGIN = 0x0c0000, LENGTH = 16K /* Page 30 */ - page31 (rx) : ORIGIN = 0x0c4000, LENGTH = 16K /* Page 31 */ - page32 (rx) : ORIGIN = 0x0c8000, LENGTH = 16K /* Page 32 */ - page33 (rx) : ORIGIN = 0x0cc000, LENGTH = 16K /* Page 33 */ - page34 (rx) : ORIGIN = 0x0d0000, LENGTH = 16K /* Page 34 */ - page35 (rx) : ORIGIN = 0x0d4000, LENGTH = 16K /* Page 35 */ - page36 (rx) : ORIGIN = 0x0d8000, LENGTH = 16K /* Page 36 */ - page37 (rx) : ORIGIN = 0x0dc000, LENGTH = 16K /* Page 37 */ - page38 (rx) : ORIGIN = 0x0e0000, LENGTH = 16K /* Page 38 */ - page39 (rx) : ORIGIN = 0x0e4000, LENGTH = 16K /* Page 39 */ - page3a (rx) : ORIGIN = 0x0e8000, LENGTH = 16K /* Page 3a */ - page3b (rx) : ORIGIN = 0x0ec000, LENGTH = 16K /* Page 3b */ - page3c (rx) : ORIGIN = 0x0f0000, LENGTH = 16K /* Page 3c */ - page3d (rx) : ORIGIN = 0x0f4000, LENGTH = 16K /* Page 3d */ + page30 (rx) : ORIGIN = 0x0c0000, LENGTH = 16K /* Page 30 */ + page31 (rx) : ORIGIN = 0x0c4000, LENGTH = 16K /* Page 31 */ + page32 (rx) : ORIGIN = 0x0c8000, LENGTH = 16K /* Page 32 */ + page33 (rx) : ORIGIN = 0x0cc000, LENGTH = 16K /* Page 33 */ + page34 (rx) : ORIGIN = 0x0d0000, LENGTH = 16K /* Page 34 */ + page35 (rx) : ORIGIN = 0x0d4000, LENGTH = 16K /* Page 35 */ + page36 (rx) : ORIGIN = 0x0d8000, LENGTH = 16K /* Page 36 */ + page37 (rx) : ORIGIN = 0x0dc000, LENGTH = 16K /* Page 37 */ + page38 (rx) : ORIGIN = 0x0e0000, LENGTH = 16K /* Page 38 */ + page39 (rx) : ORIGIN = 0x0e4000, LENGTH = 16K /* Page 39 */ + page3a (rx) : ORIGIN = 0x0e8000, LENGTH = 16K /* Page 3a */ + page3b (rx) : ORIGIN = 0x0ec000, LENGTH = 16K /* Page 3b */ + page3c (rx) : ORIGIN = 0x0f0000, LENGTH = 16K /* Page 3c */ + page3d (rx) : ORIGIN = 0x0f4000, LENGTH = 16K /* Page 3d */ - page3e (rx) : ORIGIN = 0x0f8000, LENGTH = 16K /* Page 3e */ - page3f (rx) : ORIGIN = 0x0fc000, LENGTH = 16K-2K /* Page 3f */ + page3e (rx) : ORIGIN = 0x0f8000, LENGTH = 16K /* Page 3e */ + page3f (rx) : ORIGIN = 0x0fc000, LENGTH = 16K-2K /* Page 3f */ /* Vectors */ @@ -91,61 +91,62 @@ MEMORY ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(nonbanked) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > hitext + .text : { + _stext = ABSOLUTE(.); + *(nonbanked) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > hitext - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > lowtext + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > lowtext - .vectors : { - *(vectors) - } > vectors + .vectors : { + *(vectors) + } > vectors - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectors + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectors - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/hc/mcs92s12ne64/ne64badge/scripts/ne64badge-nonbanked.ld b/boards/hc/mcs92s12ne64/ne64badge/scripts/ne64badge-nonbanked.ld index d1ff31f4241..3e5bef0250d 100644 --- a/boards/hc/mcs92s12ne64/ne64badge/scripts/ne64badge-nonbanked.ld +++ b/boards/hc/mcs92s12ne64/ne64badge/scripts/ne64badge-nonbanked.ld @@ -54,7 +54,7 @@ MEMORY * pages. */ - text (rx) : ORIGIN = 0x4000, LENGTH = 48K-256 /* Page 3e, 3d, and 3f */ + text (rx) : ORIGIN = 0x4000, LENGTH = 48K-256 /* Page 3e, 3d, and 3f */ /* Vectors */ @@ -64,61 +64,62 @@ MEMORY ENTRY(_stext) SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(nonbanked) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > text + .text : { + _stext = ABSOLUTE(.); + *(nonbanked) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > text - _eronly = ABSOLUTE(.); + _eronly = ABSOLUTE(.); - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > text + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > sram AT > text - .vectors : { - *(vectors) - } > vectors + .vectors : { + *(vectors) + } > vectors - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > sram + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > sram - .vectors : { - _svectors = ABSOLUTE(.); - *(.vectors) - _evectors = ABSOLUTE(.); - } > vectors + .vectors : { + _svectors = ABSOLUTE(.); + *(.vectors) + _evectors = ABSOLUTE(.); + } > vectors - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/mips/pic32mx/mirtoo/scripts/c32-debug.ld b/boards/mips/pic32mx/mirtoo/scripts/c32-debug.ld index fce43f13f64..74853415a62 100644 --- a/boards/mips/pic32mx/mirtoo/scripts/c32-debug.ld +++ b/boards/mips/pic32mx/mirtoo/scripts/c32-debug.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,55 +37,55 @@ MEMORY { - /* The PIC32MX250F128D has 128Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX250F128D has 128Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K - /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses - * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but - * all other accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * --------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) - * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) - * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) - * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) - * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) - * Debug code 0x1fc00480 KSEG1 3072-1152-16 3056 (2.984Kb) - * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses + * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but + * all other accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * --------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) + * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) + * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) + * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) + * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) + * Debug code 0x1fc00480 KSEG1 3072-1152-16 3056 (2.984Kb) + * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 - kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 3072-1152-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 + kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 3072-1152-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 - /* The PIC32MX250F128D has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory - * at the beginning of this region for use by MPLAB. - */ + /* The PIC32MX250F128D has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory + * at the beginning of this region for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -94,221 +94,222 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_progmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_progmem - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/mirtoo/scripts/c32-release.ld b/boards/mips/pic32mx/mirtoo/scripts/c32-release.ld index b16ef1c9ed4..145d5132707 100644 --- a/boards/mips/pic32mx/mirtoo/scripts/c32-release.ld +++ b/boards/mips/pic32mx/mirtoo/scripts/c32-release.ld @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX250F128D has 128Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX250F128D has 128Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K - /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses - * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but - * all other accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * --------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) - * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) - * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) - * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) - * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) - * JTAG 0x1fc00480 KSEG1 16 1168 (1.141Kb) - * Exceptions 0x1fc00490 KSEG0 3072-1168-16 3056 (2.984Kb) - * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses + * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but + * all other accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * --------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) + * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) + * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) + * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) + * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) + * JTAG 0x1fc00480 KSEG1 16 1168 (1.141Kb) + * Exceptions 0x1fc00490 KSEG0 3072-1168-16 3056 (2.984Kb) + * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 - kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 3072-1168-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 + kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 3072-1168-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 - /* The PIC32MX250F128D has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory - * at the beginning of this region for use by MPLAB. - */ + /* The PIC32MX250F128D has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory + * at the beginning of this region for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -96,221 +96,222 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/mirtoo/scripts/mips-elf-debug.ld b/boards/mips/pic32mx/mirtoo/scripts/mips-elf-debug.ld index ad0b8624ab0..8df9e6cd74c 100644 --- a/boards/mips/pic32mx/mirtoo/scripts/mips-elf-debug.ld +++ b/boards/mips/pic32mx/mirtoo/scripts/mips-elf-debug.ld @@ -37,55 +37,55 @@ MEMORY { - /* The PIC32MX250F128D has 128Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX250F128D has 128Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K - /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses - * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but - * all other accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * --------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) - * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) - * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) - * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) - * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) - * Debug code 0x1fc00480 KSEG1 3072-1152-16 3056 (2.984Kb) - * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses + * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but + * all other accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * --------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) + * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) + * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) + * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) + * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) + * Debug code 0x1fc00480 KSEG1 3072-1152-16 3056 (2.984Kb) + * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 - kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 3072-1152-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 + kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 3072-1152-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 - /* The PIC32MX250F128D has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory - * at the beginning of this region for use by MPLAB. - */ + /* The PIC32MX250F128D has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory + * at the beginning of this region for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 } OUTPUT_FORMAT("elf32-littlemips") @@ -94,221 +94,222 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_progmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_progmem - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/mirtoo/scripts/mips-elf-release.ld b/boards/mips/pic32mx/mirtoo/scripts/mips-elf-release.ld index 9c19639133f..7d91ab986df 100644 --- a/boards/mips/pic32mx/mirtoo/scripts/mips-elf-release.ld +++ b/boards/mips/pic32mx/mirtoo/scripts/mips-elf-release.ld @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX250F128D has 128Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX250F128D has 128Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K - /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses - * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but - * all other accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * --------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) - * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) - * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) - * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) - * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) - * JTAG 0x1fc00480 KSEG1 16 1168 (1.141Kb) - * Exceptions 0x1fc00490 KSEG0 3072-1168-16 3056 (2.984Kb) - * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses + * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but + * all other accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * --------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) + * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) + * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) + * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) + * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) + * JTAG 0x1fc00480 KSEG1 16 1168 (1.141Kb) + * Exceptions 0x1fc00490 KSEG0 3072-1168-16 3056 (2.984Kb) + * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 - kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 3072-1168-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 + kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 3072-1168-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 - /* The PIC32MX250F128D has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory - * at the beginning of this region for use by MPLAB. - */ + /* The PIC32MX250F128D has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory + * at the beginning of this region for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K } OUTPUT_FORMAT("elf32-littlemips") @@ -96,221 +96,222 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/mirtoo/scripts/xc32-debug.ld b/boards/mips/pic32mx/mirtoo/scripts/xc32-debug.ld index a18931b9e9c..9bf0a86aa84 100644 --- a/boards/mips/pic32mx/mirtoo/scripts/xc32-debug.ld +++ b/boards/mips/pic32mx/mirtoo/scripts/xc32-debug.ld @@ -37,55 +37,55 @@ MEMORY { - /* The PIC32MX250F128D has 128Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX250F128D has 128Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K + kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K - /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses - * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but - * all other accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * --------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) - * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) - * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) - * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) - * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) - * Debug code 0x1fc00480 KSEG1 3072-1152-16 3056 (2.984Kb) - * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses + * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but + * all other accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * --------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) + * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) + * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) + * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) + * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) + * Debug code 0x1fc00480 KSEG1 3072-1152-16 3056 (2.984Kb) + * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 - kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 3072-1152-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 + kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 3072-1152-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 - /* The PIC32MX250F128D has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory - * at the beginning of this region for use by MPLAB. - */ + /* The PIC32MX250F128D has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory + * at the beginning of this region for use by MPLAB. + */ - kseg1_data_mem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 + kseg1_data_mem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -94,221 +94,222 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_program_mem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_program_mem - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_program_mem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_program_mem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_data_mem AT > kseg0_program_mem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_data_mem AT > kseg0_program_mem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_data_mem) ; - _bmxdudba_address = LENGTH(kseg1_data_mem) ; - _bmxdupba_address = LENGTH(kseg1_data_mem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_data_mem) ; + _bmxdudba_address = LENGTH(kseg1_data_mem) ; + _bmxdupba_address = LENGTH(kseg1_data_mem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_data_mem AT > kseg0_program_mem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_data_mem AT > kseg0_program_mem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_data_mem AT > kseg0_program_mem + .got : + { + *(.got.plt) *(.got) + } > kseg1_data_mem AT > kseg0_program_mem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_data_mem AT > kseg0_program_mem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_data_mem AT > kseg0_program_mem - .lit8 : - { - *(.lit8) - } > kseg1_data_mem AT > kseg0_program_mem + .lit8 : + { + *(.lit8) + } > kseg1_data_mem AT > kseg0_program_mem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_data_mem AT>kseg0_program_mem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_data_mem AT>kseg0_program_mem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_data_mem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_data_mem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_data_mem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_data_mem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/mirtoo/scripts/xc32-release.ld b/boards/mips/pic32mx/mirtoo/scripts/xc32-release.ld index 2ca1bf45aad..e0e81f4c86e 100644 --- a/boards/mips/pic32mx/mirtoo/scripts/xc32-release.ld +++ b/boards/mips/pic32mx/mirtoo/scripts/xc32-release.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX250F128D has 128Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX250F128D has 128Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K + kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 128K - /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses - * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but - * all other accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * --------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) - * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) - * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) - * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) - * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) - * JTAG 0x1fc00480 KSEG1 16 1168 (1.141Kb) - * Exceptions 0x1fc00490 KSEG0 3072-1168-16 3056 (2.984Kb) - * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX250F128D has 3Kb of boot FLASH at physical addresses + * 0x1fc00000-0x1fc00c00. The initial reset vector is in KSEG1, but + * all other accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * --------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 384 384 (0.375Kb) + * Gen exception 0x1fc00000 KSEG1 128 512 (0.500Kb) + * TLB Refill 0x1fc00200 KSEG1 256 768 (0.750Kb) + * Cache Error 0x1fc00300 KSEG1 128 896 (0.875Kb) + * Others 0x1fc00380 KSEG1 128 1024 (1.000Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 (1.125Kb) + * JTAG 0x1fc00480 KSEG1 16 1168 (1.141Kb) + * Exceptions 0x1fc00490 KSEG0 3072-1168-16 3056 (2.984Kb) + * DEVCFG3-0 0x1fc00bf0 KSEG1 16 3072 (3Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 - kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 3072-1168-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 256 + kseg1_cacherr (rx) : ORIGIN = 0xbfc00300, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 3072-1168-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc00bf0, LENGTH = 16 - /* The PIC32MX250F128D has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory - * at the beginning of this region for use by MPLAB. - */ + /* The PIC32MX250F128D has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * NOTE: When used with MPLAB, we need to set aside 512 bytes of memory + * at the beginning of this region for use by MPLAB. + */ - kseg1_data_mem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K + kseg1_data_mem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -96,221 +96,222 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_program_mem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_program_mem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_data_mem AT > kseg0_program_mem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_data_mem AT > kseg0_program_mem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_data_mem) ; - _bmxdudba_address = LENGTH(kseg1_data_mem) ; - _bmxdupba_address = LENGTH(kseg1_data_mem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_data_mem) ; + _bmxdudba_address = LENGTH(kseg1_data_mem) ; + _bmxdupba_address = LENGTH(kseg1_data_mem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_data_mem AT > kseg0_program_mem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_data_mem AT > kseg0_program_mem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_data_mem AT > kseg0_program_mem + .got : + { + *(.got.plt) *(.got) + } > kseg1_data_mem AT > kseg0_program_mem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_data_mem AT > kseg0_program_mem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_data_mem AT > kseg0_program_mem - .lit8 : - { - *(.lit8) - } > kseg1_data_mem AT > kseg0_program_mem + .lit8 : + { + *(.lit8) + } > kseg1_data_mem AT > kseg0_program_mem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_data_mem AT>kseg0_program_mem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_data_mem AT>kseg0_program_mem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_data_mem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_data_mem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_data_mem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_data_mem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/pic32mx-starterkit/scripts/c32-release.ld b/boards/mips/pic32mx/pic32mx-starterkit/scripts/c32-release.ld index 6733d96075a..1efb1f768bb 100644 --- a/boards/mips/pic32mx/pic32mx-starterkit/scripts/c32-release.ld +++ b/boards/mips/pic32mx/pic32mx-starterkit/scripts/c32-release.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX795F512L has 512Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX795F512L has 512Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K - /* The PIC32MX795F512L has 12Kb of boot FLASH at physical address - * 0x1fc00000. The initial reset vector is in KSEG1, but all other - * accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX795F512L has 12Kb of boot FLASH at physical address + * 0x1fc00000. The initial reset vector is in KSEG1, but all other + * accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 - /* The PIC32MX795F512L has 128Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * When used with MPLAB, we need to set aside 512 bytes of memory - * for use by MPLAB. - */ + /* The PIC32MX795F512L has 128Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * When used with MPLAB, we need to set aside 512 bytes of memory + * for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 128K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 128K - 512 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -96,223 +96,224 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/pic32mx-starterkit/scripts/mips-release.ld b/boards/mips/pic32mx/pic32mx-starterkit/scripts/mips-release.ld index e5354e04760..b091622d06b 100644 --- a/boards/mips/pic32mx/pic32mx-starterkit/scripts/mips-release.ld +++ b/boards/mips/pic32mx/pic32mx-starterkit/scripts/mips-release.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX795F512L has 512Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX795F512L has 512Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K - /* The PIC32MX795F512L has 12Kb of boot FLASH at physical address - * 0x1fc00000. The initial reset vector is in KSEG1, but all other - * accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX795F512L has 12Kb of boot FLASH at physical address + * 0x1fc00000. The initial reset vector is in KSEG1, but all other + * accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 - /* The PIC32MX795F512L has 128Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * When used with MPLAB, we need to set aside 512 bytes of memory - * for use by MPLAB. - */ + /* The PIC32MX795F512L has 128Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * When used with MPLAB, we need to set aside 512 bytes of memory + * for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 128K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 128K - 512 } OUTPUT_FORMAT("elf32-littlemips") @@ -96,223 +96,224 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/pic32mx7mmb/scripts/c32-release.ld b/boards/mips/pic32mx/pic32mx7mmb/scripts/c32-release.ld index 0c06b7c79fe..cbe66da8102 100644 --- a/boards/mips/pic32mx/pic32mx7mmb/scripts/c32-release.ld +++ b/boards/mips/pic32mx/pic32mx7mmb/scripts/c32-release.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX795F512L has 512Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX795F512L has 512Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K - /* The PIC32MX795F512L has 12Kb of boot FLASH at physical address - * 0x1fc00000. The initial reset vector is in KSEG1, but all other - * accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX795F512L has 12Kb of boot FLASH at physical address + * 0x1fc00000. The initial reset vector is in KSEG1, but all other + * accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 - /* The PIC32MX795F512L has 128Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * When used with MPLAB, we need to set aside 512 bytes of memory - * for use by MPLAB. - */ + /* The PIC32MX795F512L has 128Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * When used with MPLAB, we need to set aside 512 bytes of memory + * for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 128K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 128K - 512 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -96,223 +96,224 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/pic32mx7mmb/scripts/mips-release.ld b/boards/mips/pic32mx/pic32mx7mmb/scripts/mips-release.ld index f5ad73f5e85..15e702bdc49 100644 --- a/boards/mips/pic32mx/pic32mx7mmb/scripts/mips-release.ld +++ b/boards/mips/pic32mx/pic32mx7mmb/scripts/mips-release.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX795F512L has 512Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX795F512L has 512Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K - /* The PIC32MX795F512L has 12Kb of boot FLASH at physical address - * 0x1fc00000. The initial reset vector is in KSEG1, but all other - * accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX795F512L has 12Kb of boot FLASH at physical address + * 0x1fc00000. The initial reset vector is in KSEG1, but all other + * accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 - /* The PIC32MX795F512L has 128Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * When used with MPLAB, we need to set aside 512 bytes of memory - * for use by MPLAB. - */ + /* The PIC32MX795F512L has 128Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * When used with MPLAB, we need to set aside 512 bytes of memory + * for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 128K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 128K - 512 } OUTPUT_FORMAT("elf32-littlemips") @@ -96,223 +96,224 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/sure-pic32mx/scripts/c32-release.ld b/boards/mips/pic32mx/sure-pic32mx/scripts/c32-release.ld index bdc8040c76a..1b234892706 100644 --- a/boards/mips/pic32mx/sure-pic32mx/scripts/c32-release.ld +++ b/boards/mips/pic32mx/sure-pic32mx/scripts/c32-release.ld @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX440F512H has 512Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX440F512H has 512Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K - /* The PIC32MX440F512H has 12Kb of boot FLASH at physical address - * 0x1fc00000. The initial reset vector is in KSEG1, but all other - * accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX440F512H has 12Kb of boot FLASH at physical address + * 0x1fc00000. The initial reset vector is in KSEG1, but all other + * accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 - /* The PIC32MX440F512H has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * When used with MPLAB, we need to set aside 512 bytes of memory - * for use by MPLAB. - */ + /* The PIC32MX440F512H has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * When used with MPLAB, we need to set aside 512 bytes of memory + * for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -96,223 +96,224 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/sure-pic32mx/scripts/mips-release.ld b/boards/mips/pic32mx/sure-pic32mx/scripts/mips-release.ld index 0a8bcb770ae..7a01d80d594 100644 --- a/boards/mips/pic32mx/sure-pic32mx/scripts/mips-release.ld +++ b/boards/mips/pic32mx/sure-pic32mx/scripts/mips-release.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX440F512H has 512Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX440F512H has 512Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K - /* The PIC32MX440F512H has 12Kb of boot FLASH at physical address - * 0x1fc00000. The initial reset vector is in KSEG1, but all other - * accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX440F512H has 12Kb of boot FLASH at physical address + * 0x1fc00000. The initial reset vector is in KSEG1, but all other + * accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 - /* The PIC32MX440F512H has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * When used with MPLAB, we need to set aside 512 bytes of memory - * for use by MPLAB. - */ + /* The PIC32MX440F512H has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * When used with MPLAB, we need to set aside 512 bytes of memory + * for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 } OUTPUT_FORMAT("elf32-littlemips") @@ -96,223 +96,224 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/ubw32/scripts/c32-release.ld b/boards/mips/pic32mx/ubw32/scripts/c32-release.ld index 6551ff54951..c7bef723ae7 100644 --- a/boards/mips/pic32mx/ubw32/scripts/c32-release.ld +++ b/boards/mips/pic32mx/ubw32/scripts/c32-release.ld @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX460F512L has 512Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX460F512L has 512Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K - /* The PIC32MX460F512L has 12Kb of boot FLASH at physical address - * 0x1fc00000. The initial reset vector is in KSEG1, but all other - * accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX460F512L has 12Kb of boot FLASH at physical address + * 0x1fc00000. The initial reset vector is in KSEG1, but all other + * accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 - /* The PIC32MX460F512L has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * When used with MPLAB, we need to set aside 512 bytes of memory - * for use by MPLAB. - */ + /* The PIC32MX460F512L has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * When used with MPLAB, we need to set aside 512 bytes of memory + * for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -96,223 +96,224 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mx/ubw32/scripts/mips-release.ld b/boards/mips/pic32mx/ubw32/scripts/mips-release.ld index ef18a0222b5..04cf16778cc 100644 --- a/boards/mips/pic32mx/ubw32/scripts/mips-release.ld +++ b/boards/mips/pic32mx/ubw32/scripts/mips-release.ld @@ -37,57 +37,57 @@ MEMORY { - /* The PIC32MX460F512L has 512Kb of program FLASH at physical address - * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MX460F512L has 512Kb of program FLASH at physical address + * 0x1d000000 but is always accessed at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 512K - /* The PIC32MX460F512L has 12Kb of boot FLASH at physical address - * 0x1fc00000. The initial reset vector is in KSEG1, but all other - * accesses are in KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MX460F512L has 12Kb of boot FLASH at physical address + * 0x1fc00000. The initial reset vector is in KSEG1, but all other + * accesses are in KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * DEVCFG3-0 0x1fc02ff0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc00490, LENGTH = 8192-1168 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_devcfg (r) : ORIGIN = 0xbfc02ff0, LENGTH = 16 - /* The PIC32MX460F512L has 32Kb of data memory at physical address - * 0x00000000. Since the PIC32MX has no data cache, this memory is - * always accessed through KSEG1. - * - * When used with MPLAB, we need to set aside 512 bytes of memory - * for use by MPLAB. - */ + /* The PIC32MX460F512L has 32Kb of data memory at physical address + * 0x00000000. Since the PIC32MX has no data cache, this memory is + * always accessed through KSEG1. + * + * When used with MPLAB, we need to set aside 512 bytes of memory + * for use by MPLAB. + */ - kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 + kseg1_datamem (w!x) : ORIGIN = 0xa0000200, LENGTH = 32K - 512 } OUTPUT_FORMAT("elf32-littlemips") @@ -96,223 +96,224 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mz/flipnclick-pic32mz/scripts/c32-debug.ld b/boards/mips/pic32mz/flipnclick-pic32mz/scripts/c32-debug.ld index 6f54c9b4939..01b9c4437d2 100644 --- a/boards/mips/pic32mz/flipnclick-pic32mz/scripts/c32-debug.ld +++ b/boards/mips/pic32mz/flipnclick-pic32mz/scripts/c32-debug.ld @@ -37,71 +37,71 @@ MEMORY { - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of - * program FLASH at physical address 0x1d000000 but is always accessed - * at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of + * program FLASH at physical address 0x1d000000 but is always accessed + * at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot - * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and - * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either - * may be mappled to the lower boot alias region (0x1fc00000, - * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). - * This linker script assumes that Boot Flash 1 is mapped to the lower - * alias region and Boot Flash 2 to the upper region. - * - * NOTE: This linker script simply writes into the lower boot alias, - * whichever boot FLASH that may correspond to. The other boot FLASH - * is simply ignored. - * - * The initial reset vector is in KSEG1, but all other accesses are in - * KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) - * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot + * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and + * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either + * may be mappled to the lower boot alias region (0x1fc00000, + * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). + * This linker script assumes that Boot Flash 1 is mapped to the lower + * alias region and Boot Flash 2 to the upper region. + * + * NOTE: This linker script simply writes into the lower boot alias, + * whichever boot FLASH that may correspond to. The other boot FLASH + * is simply ignored. + * + * The initial reset vector is in KSEG1, but all other accesses are in + * KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) + * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 - kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 + kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 - /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb - * of data memory at physical address 0x00000000. Since the PIC32MZ - * has no data cache, this memory is always accessed through KSEG1. - * - * When used with MPLABX, we need to set aside 512 bytes of memory - * for use by MPLABX and 128 for DSP register storage. - */ + /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb + * of data memory at physical address 0x00000000. Since the PIC32MZ + * has no data cache, this memory is always accessed through KSEG1. + * + * When used with MPLABX, we need to set aside 512 bytes of memory + * for use by MPLABX and 128 for DSP register storage. + */ - kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 + kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -110,228 +110,229 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .adevcfg : - { - KEEP (*(.adevcfg)) - } > kseg1_adevcfg + .adevcfg : + { + KEEP (*(.adevcfg)) + } > kseg1_adevcfg - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mz/flipnclick-pic32mz/scripts/mips-debug.ld b/boards/mips/pic32mz/flipnclick-pic32mz/scripts/mips-debug.ld index 9e24b584fbb..1440856759c 100644 --- a/boards/mips/pic32mz/flipnclick-pic32mz/scripts/mips-debug.ld +++ b/boards/mips/pic32mz/flipnclick-pic32mz/scripts/mips-debug.ld @@ -37,71 +37,71 @@ MEMORY { - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of - * program FLASH at physical address 0x1d000000 but is always accessed - * at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of + * program FLASH at physical address 0x1d000000 but is always accessed + * at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot - * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and - * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either - * may be mappled to the lower boot alias region (0x1fc00000, - * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). - * This linker script assumes that Boot Flash 1 is mapped to the lower - * alias region and Boot Flash 2 to the upper region. - * - * NOTE: This linker script simply writes into the lower boot alias, - * whichever boot FLASH that may correspond to. The other boot FLASH - * is simply ignored. - * - * The initial reset vector is in KSEG1, but all other accesses are in - * KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) - * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot + * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and + * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either + * may be mappled to the lower boot alias region (0x1fc00000, + * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). + * This linker script assumes that Boot Flash 1 is mapped to the lower + * alias region and Boot Flash 2 to the upper region. + * + * NOTE: This linker script simply writes into the lower boot alias, + * whichever boot FLASH that may correspond to. The other boot FLASH + * is simply ignored. + * + * The initial reset vector is in KSEG1, but all other accesses are in + * KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) + * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 - kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 + kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 - /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb - * of data memory at physical address 0x00000000. Since the PIC32MZ - * has no data cache, this memory is always accessed through KSEG1. - * - * When used with MPLABX, we need to set aside 512 bytes of memory - * for use by MPLABX and 128 for DSP register storage. - */ + /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb + * of data memory at physical address 0x00000000. Since the PIC32MZ + * has no data cache, this memory is always accessed through KSEG1. + * + * When used with MPLABX, we need to set aside 512 bytes of memory + * for use by MPLABX and 128 for DSP register storage. + */ - kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 + kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -110,228 +110,229 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .adevcfg : - { - KEEP (*(.adevcfg)) - } > kseg1_adevcfg + .adevcfg : + { + KEEP (*(.adevcfg)) + } > kseg1_adevcfg - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mz/flipnclick-pic32mz/scripts/pinguino-debug.ld b/boards/mips/pic32mz/flipnclick-pic32mz/scripts/pinguino-debug.ld index 249663a1464..8754d5d29f2 100644 --- a/boards/mips/pic32mz/flipnclick-pic32mz/scripts/pinguino-debug.ld +++ b/boards/mips/pic32mz/flipnclick-pic32mz/scripts/pinguino-debug.ld @@ -37,71 +37,71 @@ MEMORY { - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of - * program FLASH at physical address 0x1d000000 but is always accessed - * at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of + * program FLASH at physical address 0x1d000000 but is always accessed + * at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot - * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and - * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either - * may be mappled to the lower boot alias region (0x1fc00000, - * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). - * This linker script assumes that Boot Flash 1 is mapped to the lower - * alias region and Boot Flash 2 to the upper region. - * - * NOTE: This linker script simply writes into the lower boot alias, - * whichever boot FLASH that may correspond to. The other boot FLASH - * is simply ignored. - * - * The initial reset vector is in KSEG1, but all other accesses are in - * KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) - * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot + * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and + * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either + * may be mappled to the lower boot alias region (0x1fc00000, + * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). + * This linker script assumes that Boot Flash 1 is mapped to the lower + * alias region and Boot Flash 2 to the upper region. + * + * NOTE: This linker script simply writes into the lower boot alias, + * whichever boot FLASH that may correspond to. The other boot FLASH + * is simply ignored. + * + * The initial reset vector is in KSEG1, but all other accesses are in + * KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) + * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 - kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 + kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 - /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb - * of data memory at physical address 0x00000000. Since the PIC32MZ - * has no data cache, this memory is always accessed through KSEG1. - * - * When used with MPLABX, we need to set aside 512 bytes of memory - * for use by MPLABX and 128 for DSP register storage. - */ + /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb + * of data memory at physical address 0x00000000. Since the PIC32MZ + * has no data cache, this memory is always accessed through KSEG1. + * + * When used with MPLABX, we need to set aside 512 bytes of memory + * for use by MPLABX and 128 for DSP register storage. + */ - kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 + kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 } OUTPUT_FORMAT("elf32-littlemips") @@ -110,228 +110,229 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .adevcfg : - { - KEEP (*(.adevcfg)) - } > kseg1_adevcfg + .adevcfg : + { + KEEP (*(.adevcfg)) + } > kseg1_adevcfg - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mz/flipnclick-pic32mz/scripts/xc32-debug.ld b/boards/mips/pic32mz/flipnclick-pic32mz/scripts/xc32-debug.ld index 28f55b67ba4..49935db2c27 100644 --- a/boards/mips/pic32mz/flipnclick-pic32mz/scripts/xc32-debug.ld +++ b/boards/mips/pic32mz/flipnclick-pic32mz/scripts/xc32-debug.ld @@ -37,71 +37,71 @@ MEMORY { - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of - * program FLASH at physical address 0x1d000000 but is always accessed - * at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of + * program FLASH at physical address 0x1d000000 but is always accessed + * at KSEG0 address 0x9d00:0000 + */ - kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K + kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot - * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and - * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either - * may be mappled to the lower boot alias region (0x1fc00000, - * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). - * This linker script assumes that Boot Flash 1 is mapped to the lower - * alias region and Boot Flash 2 to the upper region. - * - * NOTE: This linker script simply writes into the lower boot alias, - * whichever boot FLASH that may correspond to. The other boot FLASH - * is simply ignored. - * - * The initial reset vector is in KSEG1, but all other accesses are in - * KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) - * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot + * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and + * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either + * may be mappled to the lower boot alias region (0x1fc00000, + * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). + * This linker script assumes that Boot Flash 1 is mapped to the lower + * alias region and Boot Flash 2 to the upper region. + * + * NOTE: This linker script simply writes into the lower boot alias, + * whichever boot FLASH that may correspond to. The other boot FLASH + * is simply ignored. + * + * The initial reset vector is in KSEG1, but all other accesses are in + * KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) + * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 - kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 + kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 - /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb - * of data memory at physical address 0x00000000. Since the PIC32MZ - * has no data cache, this memory is always accessed through KSEG1. - * - * When used with MPLABX, we need to set aside 512 bytes of memory - * for use by MPLABX and 128 for DSP register storage. - */ + /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb + * of data memory at physical address 0x00000000. Since the PIC32MZ + * has no data cache, this memory is always accessed through KSEG1. + * + * When used with MPLABX, we need to set aside 512 bytes of memory + * for use by MPLABX and 128 for DSP register storage. + */ - kseg1_data_mem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 + kseg1_data_mem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -110,228 +110,229 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .adevcfg : - { - KEEP (*(.adevcfg)) - } > kseg1_adevcfg + .adevcfg : + { + KEEP (*(.adevcfg)) + } > kseg1_adevcfg - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_program_mem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_program_mem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_data_mem AT > kseg0_program_mem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_data_mem AT > kseg0_program_mem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_data_mem) ; - _bmxdudba_address = LENGTH(kseg1_data_mem) ; - _bmxdupba_address = LENGTH(kseg1_data_mem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_data_mem) ; + _bmxdudba_address = LENGTH(kseg1_data_mem) ; + _bmxdupba_address = LENGTH(kseg1_data_mem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_data_mem AT > kseg0_program_mem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_data_mem AT > kseg0_program_mem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_data_mem AT > kseg0_program_mem + .got : + { + *(.got.plt) *(.got) + } > kseg1_data_mem AT > kseg0_program_mem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_data_mem AT > kseg0_program_mem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_data_mem AT > kseg0_program_mem - .lit8 : - { - *(.lit8) - } > kseg1_data_mem AT > kseg0_program_mem + .lit8 : + { + *(.lit8) + } > kseg1_data_mem AT > kseg0_program_mem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_data_mem AT>kseg0_program_mem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_data_mem AT>kseg0_program_mem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_data_mem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_data_mem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_data_mem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_data_mem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mz/pic32mz-starterkit/scripts/c32-debug.ld b/boards/mips/pic32mz/pic32mz-starterkit/scripts/c32-debug.ld index b0fc8aa8b66..ed454eb11b5 100644 --- a/boards/mips/pic32mz/pic32mz-starterkit/scripts/c32-debug.ld +++ b/boards/mips/pic32mz/pic32mz-starterkit/scripts/c32-debug.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,71 +37,71 @@ MEMORY { - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of - * program FLASH at physical address 0x1d000000 but is always accessed - * at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of + * program FLASH at physical address 0x1d000000 but is always accessed + * at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot - * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and - * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either - * may be mappled to the lower boot alias region (0x1fc00000, - * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). - * This linker script assumes that Boot Flash 1 is mapped to the lower - * alias region and Boot Flash 2 to the upper region. - * - * NOTE: This linker script simply writes into the lower boot alias, - * whichever boot FLASH that may correspond to. The other boot FLASH - * is simply ignored. - * - * The initial reset vector is in KSEG1, but all other accesses are in - * KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) - * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot + * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and + * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either + * may be mappled to the lower boot alias region (0x1fc00000, + * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). + * This linker script assumes that Boot Flash 1 is mapped to the lower + * alias region and Boot Flash 2 to the upper region. + * + * NOTE: This linker script simply writes into the lower boot alias, + * whichever boot FLASH that may correspond to. The other boot FLASH + * is simply ignored. + * + * The initial reset vector is in KSEG1, but all other accesses are in + * KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) + * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 - kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 + kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 - /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb - * of data memory at physical address 0x00000000. Since the PIC32MZ - * has no data cache, this memory is always accessed through KSEG1. - * - * When used with MPLABX, we need to set aside 512 bytes of memory - * for use by MPLABX and 128 for DSP register storage. - */ + /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb + * of data memory at physical address 0x00000000. Since the PIC32MZ + * has no data cache, this memory is always accessed through KSEG1. + * + * When used with MPLABX, we need to set aside 512 bytes of memory + * for use by MPLABX and 128 for DSP register storage. + */ - kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 + kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -110,228 +110,229 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .adevcfg : - { - KEEP (*(.adevcfg)) - } > kseg1_adevcfg + .adevcfg : + { + KEEP (*(.adevcfg)) + } > kseg1_adevcfg - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mz/pic32mz-starterkit/scripts/mips-debug.ld b/boards/mips/pic32mz/pic32mz-starterkit/scripts/mips-debug.ld index c60babc6876..a4c159e3d5f 100644 --- a/boards/mips/pic32mz/pic32mz-starterkit/scripts/mips-debug.ld +++ b/boards/mips/pic32mz/pic32mz-starterkit/scripts/mips-debug.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,71 +37,71 @@ MEMORY { - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of - * program FLASH at physical address 0x1d000000 but is always accessed - * at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of + * program FLASH at physical address 0x1d000000 but is always accessed + * at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot - * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and - * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either - * may be mappled to the lower boot alias region (0x1fc00000, - * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). - * This linker script assumes that Boot Flash 1 is mapped to the lower - * alias region and Boot Flash 2 to the upper region. - * - * NOTE: This linker script simply writes into the lower boot alias, - * whichever boot FLASH that may correspond to. The other boot FLASH - * is simply ignored. - * - * The initial reset vector is in KSEG1, but all other accesses are in - * KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) - * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot + * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and + * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either + * may be mappled to the lower boot alias region (0x1fc00000, + * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). + * This linker script assumes that Boot Flash 1 is mapped to the lower + * alias region and Boot Flash 2 to the upper region. + * + * NOTE: This linker script simply writes into the lower boot alias, + * whichever boot FLASH that may correspond to. The other boot FLASH + * is simply ignored. + * + * The initial reset vector is in KSEG1, but all other accesses are in + * KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) + * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 - kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 + kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 - /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb - * of data memory at physical address 0x00000000. Since the PIC32MZ - * has no data cache, this memory is always accessed through KSEG1. - * - * When used with MPLABX, we need to set aside 512 bytes of memory - * for use by MPLABX and 128 for DSP register storage. - */ + /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb + * of data memory at physical address 0x00000000. Since the PIC32MZ + * has no data cache, this memory is always accessed through KSEG1. + * + * When used with MPLABX, we need to set aside 512 bytes of memory + * for use by MPLABX and 128 for DSP register storage. + */ - kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 + kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -110,228 +110,229 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .adevcfg : - { - KEEP (*(.adevcfg)) - } > kseg1_adevcfg + .adevcfg : + { + KEEP (*(.adevcfg)) + } > kseg1_adevcfg - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mz/pic32mz-starterkit/scripts/pinguino-debug.ld b/boards/mips/pic32mz/pic32mz-starterkit/scripts/pinguino-debug.ld index 5d5b13df2a2..a7f2456e577 100644 --- a/boards/mips/pic32mz/pic32mz-starterkit/scripts/pinguino-debug.ld +++ b/boards/mips/pic32mz/pic32mz-starterkit/scripts/pinguino-debug.ld @@ -9,14 +9,14 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. + * used to endorse or promote products derived from this software + * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -37,71 +37,71 @@ MEMORY { - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of - * program FLASH at physical address 0x1d000000 but is always accessed - * at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of + * program FLASH at physical address 0x1d000000 but is always accessed + * at KSEG0 address 0x9d00:0000 + */ - kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K + kseg0_progmem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot - * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and - * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either - * may be mappled to the lower boot alias region (0x1fc00000, - * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). - * This linker script assumes that Boot Flash 1 is mapped to the lower - * alias region and Boot Flash 2 to the upper region. - * - * NOTE: This linker script simply writes into the lower boot alias, - * whichever boot FLASH that may correspond to. The other boot FLASH - * is simply ignored. - * - * The initial reset vector is in KSEG1, but all other accesses are in - * KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) - * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot + * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and + * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either + * may be mappled to the lower boot alias region (0x1fc00000, + * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). + * This linker script assumes that Boot Flash 1 is mapped to the lower + * alias region and Boot Flash 2 to the upper region. + * + * NOTE: This linker script simply writes into the lower boot alias, + * whichever boot FLASH that may correspond to. The other boot FLASH + * is simply ignored. + * + * The initial reset vector is in KSEG1, but all other accesses are in + * KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) + * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 - kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 + kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 - /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb - * of data memory at physical address 0x00000000. Since the PIC32MZ - * has no data cache, this memory is always accessed through KSEG1. - * - * When used with MPLABX, we need to set aside 512 bytes of memory - * for use by MPLABX and 128 for DSP register storage. - */ + /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb + * of data memory at physical address 0x00000000. Since the PIC32MZ + * has no data cache, this memory is always accessed through KSEG1. + * + * When used with MPLABX, we need to set aside 512 bytes of memory + * for use by MPLABX and 128 for DSP register storage. + */ - kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 + kseg1_datamem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 } OUTPUT_FORMAT("elf32-littlemips") @@ -110,228 +110,229 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .adevcfg : - { - KEEP (*(.adevcfg)) - } > kseg1_adevcfg + .adevcfg : + { + KEEP (*(.adevcfg)) + } > kseg1_adevcfg - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_progmem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_progmem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_datamem AT > kseg0_progmem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_datamem AT > kseg0_progmem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; - _bmxdudba_address = LENGTH(kseg1_datamem) ; - _bmxdupba_address = LENGTH(kseg1_datamem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_datamem) ; + _bmxdudba_address = LENGTH(kseg1_datamem) ; + _bmxdupba_address = LENGTH(kseg1_datamem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_datamem AT > kseg0_progmem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_datamem AT > kseg0_progmem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_datamem AT > kseg0_progmem + .got : + { + *(.got.plt) *(.got) + } > kseg1_datamem AT > kseg0_progmem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_datamem AT > kseg0_progmem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_datamem AT > kseg0_progmem - .lit8 : - { - *(.lit8) - } > kseg1_datamem AT > kseg0_progmem + .lit8 : + { + *(.lit8) + } > kseg1_datamem AT > kseg0_progmem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_datamem AT>kseg0_progmem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_datamem AT>kseg0_progmem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_datamem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_datamem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_datamem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_datamem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/mips/pic32mz/pic32mz-starterkit/scripts/xc32-debug.ld b/boards/mips/pic32mz/pic32mz-starterkit/scripts/xc32-debug.ld index 34a04b5b41f..53c818cf732 100644 --- a/boards/mips/pic32mz/pic32mz-starterkit/scripts/xc32-debug.ld +++ b/boards/mips/pic32mz/pic32mz-starterkit/scripts/xc32-debug.ld @@ -37,71 +37,71 @@ MEMORY { - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of - * program FLASH at physical address 0x1d000000 but is always accessed - * at KSEG0 address 0x9d00:0000 - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 2048Kb of + * program FLASH at physical address 0x1d000000 but is always accessed + * at KSEG0 address 0x9d00:0000 + */ - kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K + kseg0_program_mem (rx) : ORIGIN = 0x9d000000, LENGTH = 2048K - /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot - * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and - * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either - * may be mappled to the lower boot alias region (0x1fc00000, - * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). - * This linker script assumes that Boot Flash 1 is mapped to the lower - * alias region and Boot Flash 2 to the upper region. - * - * NOTE: This linker script simply writes into the lower boot alias, - * whichever boot FLASH that may correspond to. The other boot FLASH - * is simply ignored. - * - * The initial reset vector is in KSEG1, but all other accesses are in - * KSEG0. - * - * REGION PHYSICAL KSEG SIZE - * DESCRIPTION START ADDR (BYTES) - * ------------- ---------- ------ ---------------------- - * Exceptions:* - * Reset 0x1fc00000 KSEG1 512 512 - * TLB Refill 0x1fc00200 KSEG1 256 768 - * Cache Error 0x1fc00300 KSEG1 128 896 - * Others 0x1fc00380 KSEG1 128 1024 (1Kb) - * Interrupt 0x1fc00400 KSEG1 128 1152 - * JTAG 0x1fc00480 KSEG1 16 1168 - * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) - * Debug code 0x1fc02000 KSEG1 4096-16 12272 - * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) - * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) - * - * Exceptions assume: - * - * STATUS: BEV=0/1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - */ + /* The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have 160Kb of boot + * FLASH: 80Kb at physical address 0x1fc4000 (Boot Flash 1, boot1) and + * 80Kb at physical address 0x1fc60000 (Boot Flash 2, boot2). Either + * may be mappled to the lower boot alias region (0x1fc00000, + * boolalias1) or the upper boot alias region (0x1fc20000, bootalias2). + * This linker script assumes that Boot Flash 1 is mapped to the lower + * alias region and Boot Flash 2 to the upper region. + * + * NOTE: This linker script simply writes into the lower boot alias, + * whichever boot FLASH that may correspond to. The other boot FLASH + * is simply ignored. + * + * The initial reset vector is in KSEG1, but all other accesses are in + * KSEG0. + * + * REGION PHYSICAL KSEG SIZE + * DESCRIPTION START ADDR (BYTES) + * ------------- ---------- ------ ---------------------- + * Exceptions:* + * Reset 0x1fc00000 KSEG1 512 512 + * TLB Refill 0x1fc00200 KSEG1 256 768 + * Cache Error 0x1fc00300 KSEG1 128 896 + * Others 0x1fc00380 KSEG1 128 1024 (1Kb) + * Interrupt 0x1fc00400 KSEG1 128 1152 + * JTAG 0x1fc00480 KSEG1 16 1168 + * Exceptions 0x1fc00490 KSEG0 8192-1168 8192 (4Kb) + * Debug code 0x1fc02000 KSEG1 4096-16 12272 + * ADEVCFG3-0 0x1fc0ff40 KSEG1 16 12288 (12Kb) + * DEVCFG3-0 0x1fc0ffc0 KSEG1 16 12288 (12Kb) + * + * Exceptions assume: + * + * STATUS: BEV=0/1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + */ - kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 - kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 - kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 - kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 - kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 - kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 - kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 - kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 - kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 - kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 + kseg1_reset (rx) : ORIGIN = 0xbfc00000, LENGTH = 384 + kseg1_genexcpt (rx) : ORIGIN = 0xbfc00180, LENGTH = 128 + kseg1_ebexcpt (rx) : ORIGIN = 0xbfc00200, LENGTH = 128 + kseg1_bevexcpt (rx) : ORIGIN = 0xbfc00380, LENGTH = 128 + kseg1_intexcpt (rx) : ORIGIN = 0xbfc00400, LENGTH = 128 + kseg1_dbgexcpt (rx) : ORIGIN = 0xbfc00480, LENGTH = 16 + kseg0_bootmem (rx) : ORIGIN = 0x9fc004ac, LENGTH = 8192-1196 + kseg1_dbgcode (rx) : ORIGIN = 0xbfc02000, LENGTH = 4096-16 + kseg1_adevcfg (r) : ORIGIN = 0x1fc0ff40, LENGTH = 128 + kseg1_devcfg (r) : ORIGIN = 0x1fc0ffc0, LENGTH = 128 - /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb - * of data memory at physical address 0x00000000. Since the PIC32MZ - * has no data cache, this memory is always accessed through KSEG1. - * - * When used with MPLABX, we need to set aside 512 bytes of memory - * for use by MPLABX and 128 for DSP register storage. - */ + /* The The PIC32MZ2048ECH144 and PIC32MZ2048ECM144 chips have has 512Kb + * of data memory at physical address 0x00000000. Since the PIC32MZ + * has no data cache, this memory is always accessed through KSEG1. + * + * When used with MPLABX, we need to set aside 512 bytes of memory + * for use by MPLABX and 128 for DSP register storage. + */ - kseg1_data_mem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 + kseg1_data_mem (rw!x) : ORIGIN = 0xa0000200, LENGTH = 512K - 640 } OUTPUT_FORMAT("elf32-tradlittlemips") @@ -110,228 +110,229 @@ ENTRY(__start) SECTIONS { - /* Boot FLASH sections */ + /* Boot FLASH sections */ - .reset : - { - KEEP (*(.reset)) - } > kseg1_reset + .reset : + { + KEEP (*(.reset)) + } > kseg1_reset - /* Exception handlers. The following is assumed: - * - * STATUS: BEV=1 and EXL=0 - * CAUSE: IV=1 - * JTAG: ProbEn=0 - * And multi-vector support disabled - * - * In that configuration, the vector locations become: - * - * Reset, Soft Reset bfc0:0000 - * TLB Refill bfc0:0200 - * Cache Error bfc0:0300 - * All others bfc0:0380 - * Interrupt bfc0:0400 - * EJTAG Debug bfc0:0480 - */ + /* Exception handlers. The following is assumed: + * + * STATUS: BEV=1 and EXL=0 + * CAUSE: IV=1 + * JTAG: ProbEn=0 + * And multi-vector support disabled + * + * In that configuration, the vector locations become: + * + * Reset, Soft Reset bfc0:0000 + * TLB Refill bfc0:0200 + * Cache Error bfc0:0300 + * All others bfc0:0380 + * Interrupt bfc0:0400 + * EJTAG Debug bfc0:0480 + */ - /* KSEG1 exception handler "trampolines" */ + /* KSEG1 exception handler "trampolines" */ - .gen_excpt : - { - KEEP (*(.gen_excpt)) - } > kseg1_genexcpt + .gen_excpt : + { + KEEP (*(.gen_excpt)) + } > kseg1_genexcpt - .ebase_excpt : - { - KEEP (*(.ebase_excpt)) - } > kseg1_ebexcpt + .ebase_excpt : + { + KEEP (*(.ebase_excpt)) + } > kseg1_ebexcpt - .bev_excpt : - { - KEEP (*(.bev_excpt)) - } > kseg1_bevexcpt + .bev_excpt : + { + KEEP (*(.bev_excpt)) + } > kseg1_bevexcpt - .int_excpt : - { - KEEP (*(.int_excpt)) - } > kseg1_intexcpt + .int_excpt : + { + KEEP (*(.int_excpt)) + } > kseg1_intexcpt - .dbg_excpt = ORIGIN(kseg1_dbgexcpt); + .dbg_excpt = ORIGIN(kseg1_dbgexcpt); - .start : - { - /* KSEG0 Reset startup logic */ + .start : + { + /* KSEG0 Reset startup logic */ - *(.start) + *(.start) - /* KSEG0 exception handlers */ + /* KSEG0 exception handlers */ - *(.nmi_handler) - *(.bev_handler) - *(.int_handler) - } > kseg0_bootmem + *(.nmi_handler) + *(.bev_handler) + *(.int_handler) + } > kseg0_bootmem - .dbg_code = ORIGIN(kseg1_dbgcode); + .dbg_code = ORIGIN(kseg1_dbgcode); - .adevcfg : - { - KEEP (*(.adevcfg)) - } > kseg1_adevcfg + .adevcfg : + { + KEEP (*(.adevcfg)) + } > kseg1_adevcfg - .devcfg : - { - KEEP (*(.devcfg)) - } > kseg1_devcfg + .devcfg : + { + KEEP (*(.devcfg)) + } > kseg1_devcfg - /* Program FLASH sections */ + /* Program FLASH sections */ - .text : - { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.stub) - KEEP (*(.text.*personality*)) - *(.gnu.linkonce.t.*) - *(.gnu.warning) - *(.mips16.fn.*) - *(.mips16.call.*) + .text : + { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.stub) + KEEP (*(.text.*personality*)) + *(.gnu.linkonce.t.*) + *(.gnu.warning) + *(.mips16.fn.*) + *(.mips16.call.*) - /* Read-only data is included in the text section */ + /* Read-only data is included in the text section */ - *(.rodata .rodata.*) - *(.rodata1) - *(.gnu.linkonce.r.*) + *(.rodata .rodata.*) + *(.rodata1) + *(.gnu.linkonce.r.*) - /* Small initialized constant global and static data */ + /* Small initialized constant global and static data */ - *(.sdata2 .sdata2.*) - *(.gnu.linkonce.s2.*) + *(.sdata2 .sdata2.*) + *(.gnu.linkonce.s2.*) - /* Uninitialized constant global and static data */ + /* Uninitialized constant global and static data */ - *(.sbss2 .sbss2.*) - *(.gnu.linkonce.sb2.*) - _etext = ABSOLUTE(.); - } > kseg0_program_mem + *(.sbss2 .sbss2.*) + *(.gnu.linkonce.sb2.*) + _etext = ABSOLUTE(.); + } > kseg0_program_mem - /* Initialization data begins here in progmem */ + /* Initialization data begins here in progmem */ - _data_loaddr = LOADADDR(.data); + _data_loaddr = LOADADDR(.data); - .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } - .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } - /* RAM functions are positioned at the beginning of RAM so that - * they can be guaranteed to satisfy the 2Kb alignment requirement. - */ + /* RAM functions are positioned at the beginning of RAM so that + * they can be guaranteed to satisfy the 2Kb alignment requirement. + */ /* This causes failures if there are no RAM functions - .ramfunc ALIGN(2K) : - { - _sramfunc = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfunc = ABSOLUTE(.); - } > kseg1_data_mem AT > kseg0_program_mem + .ramfunc ALIGN(2K) : + { + _sramfunc = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfunc = ABSOLUTE(.); + } > kseg1_data_mem AT > kseg0_program_mem - _ramfunc_loadaddr = LOADADDR(.ramfunc); - _ramfunc_sizeof = SIZEOF(.ramfunc); - _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_data_mem) ; - _bmxdudba_address = LENGTH(kseg1_data_mem) ; - _bmxdupba_address = LENGTH(kseg1_data_mem) ; + _ramfunc_loadaddr = LOADADDR(.ramfunc); + _ramfunc_sizeof = SIZEOF(.ramfunc); + _bmxdkpba_address = _sramfunc - ORIGIN(kseg1_data_mem) ; + _bmxdudba_address = LENGTH(kseg1_data_mem) ; + _bmxdupba_address = LENGTH(kseg1_data_mem) ; */ - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - KEEP (*(.gnu.linkonce.d.*personality*)) - *(.data1) - } > kseg1_data_mem AT > kseg0_program_mem + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + KEEP (*(.gnu.linkonce.d.*personality*)) + *(.data1) + } > kseg1_data_mem AT > kseg0_program_mem - .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } - _gp = ALIGN(16) + 0x7FF0 ; + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + _gp = ALIGN(16) + 0x7FF0 ; - .got : - { - *(.got.plt) *(.got) - } > kseg1_data_mem AT > kseg0_program_mem + .got : + { + *(.got.plt) *(.got) + } > kseg1_data_mem AT > kseg0_program_mem - .sdata : - { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } > kseg1_data_mem AT > kseg0_program_mem + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } > kseg1_data_mem AT > kseg0_program_mem - .lit8 : - { - *(.lit8) - } > kseg1_data_mem AT > kseg0_program_mem + .lit8 : + { + *(.lit8) + } > kseg1_data_mem AT > kseg0_program_mem - .lit4 : - { - *(.lit4) - _edata = ABSOLUTE(.); - } >kseg1_data_mem AT>kseg0_program_mem + .lit4 : + { + *(.lit4) + _edata = ABSOLUTE(.); + } >kseg1_data_mem AT>kseg0_program_mem - .sbss : - { - _sbss = ABSOLUTE(.); - *(.dynsbss) - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.scommon) - } >kseg1_data_mem + .sbss : + { + _sbss = ABSOLUTE(.); + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } >kseg1_data_mem - .bss : - { - *(.dynbss) - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > kseg1_data_mem + .bss : + { + *(.dynbss) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > kseg1_data_mem - /* Stabs debugging sections */ + /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } - /* DWARF debug sections */ - /* DWARF 1 */ + /* DWARF debug sections */ + /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ + /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ + /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ + /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ + /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } + /DISCARD/ : { *(.note.GNU-stack) } } diff --git a/boards/misoc/lm32/misoc/scripts/lm32.ld b/boards/misoc/lm32/misoc/scripts/lm32.ld index 9de86774775..21f6601f762 100644 --- a/boards/misoc/lm32/misoc/scripts/lm32.ld +++ b/boards/misoc/lm32/misoc/scripts/lm32.ld @@ -38,59 +38,60 @@ ENTRY(_stext) MEMORY { - rom : ORIGIN = 0x00000000, LENGTH = 0x00008000 - sram : ORIGIN = 0x10000000, LENGTH = 0x00001000 - main_ram : ORIGIN = 0x40000000, LENGTH = 0x02000000 + rom : ORIGIN = 0x00000000, LENGTH = 0x00008000 + sram : ORIGIN = 0x10000000, LENGTH = 0x00001000 + main_ram : ORIGIN = 0x40000000, LENGTH = 0x02000000 } SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > main_ram + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > main_ram - _eronly = ABSOLUTE(.); /* See below */ + _eronly = ABSOLUTE(.); /* See below */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > main_ram + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > main_ram - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > main_ram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > main_ram + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } PROVIDE(_fstack = ORIGIN(main_ram) + LENGTH(main_ram) - 4); diff --git a/boards/misoc/lm32/misoc/scripts/minerva.ld b/boards/misoc/lm32/misoc/scripts/minerva.ld index 5d9f01030ad..f58ba35e76b 100644 --- a/boards/misoc/lm32/misoc/scripts/minerva.ld +++ b/boards/misoc/lm32/misoc/scripts/minerva.ld @@ -39,63 +39,64 @@ ENTRY(_stext) MEMORY { - rom : ORIGIN = 0x00000000, LENGTH = 0x00008000 - sram : ORIGIN = 0x10000000, LENGTH = 0x00001000 - main_ram : ORIGIN = 0x40000000, LENGTH = 0x02000000 + rom : ORIGIN = 0x00000000, LENGTH = 0x00008000 + sram : ORIGIN = 0x10000000, LENGTH = 0x00001000 + main_ram : ORIGIN = 0x40000000, LENGTH = 0x02000000 } SECTIONS { - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > main_ram + .text : { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > main_ram - _eronly = ABSOLUTE(.); /* See below */ + _eronly = ABSOLUTE(.); /* See below */ - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - *(.sdata .sdata.*) - *(.gnu.linkonce.s.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > main_ram + .data : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + *(.sdata .sdata.*) + *(.gnu.linkonce.s.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > main_ram - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(.sbss .sbss.*) - *(.gnu.linkonce.sb.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > main_ram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(.sbss .sbss.*) + *(.gnu.linkonce.sb.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > main_ram + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } PROVIDE(_fstack = ORIGIN(main_ram) + LENGTH(main_ram) - 4); diff --git a/boards/or1k/mor1kx/or1k/scripts/flash.ld b/boards/or1k/mor1kx/or1k/scripts/flash.ld index 3375b14d39f..660aab712d4 100644 --- a/boards/or1k/mor1kx/or1k/scripts/flash.ld +++ b/boards/or1k/mor1kx/or1k/scripts/flash.ld @@ -35,7 +35,7 @@ MEMORY { - dram (rwx) : ORIGIN = 0x00000000, LENGTH = 2M + dram (rwx) : ORIGIN = 0x00000000, LENGTH = 2M } OUTPUT_ARCH(or1k) @@ -44,71 +44,72 @@ ENTRY(_stext) SECTIONS { - .text : - { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > dram + .text : + { + _stext = ABSOLUTE(.); + *(.vectors) + *(.text .text.*) + *(.fixup) + *(.gnu.warning) + *(.rodata .rodata.*) + *(.gnu.linkonce.t.*) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _etext = ABSOLUTE(.); + } > dram - .init_section : - { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > dram + .init_section : + { + _sinit = ABSOLUTE(.); + *(.init_array .init_array.*) + _einit = ABSOLUTE(.); + } > dram - .data : - { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > dram + .data : + { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } > dram - _eronly = LOADADDR(.data); + _eronly = LOADADDR(.data); - .ramfunc ALIGN(4): - { - _sramfuncs = ABSOLUTE(.); - *(.ramfunc .ramfunc.*) - _eramfuncs = ABSOLUTE(.); - } > dram + .ramfunc ALIGN(4): + { + _sramfuncs = ABSOLUTE(.); + *(.ramfunc .ramfunc.*) + _eramfuncs = ABSOLUTE(.); + } > dram - _framfuncs = LOADADDR(.ramfunc); + _framfuncs = LOADADDR(.ramfunc); - .bss : - { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > dram + .bss : + { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } > dram - /* Stabs debugging sections. */ + /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/renesas/m32262f8/skp16c26/scripts/skp16c26.ld b/boards/renesas/m32262f8/skp16c26/scripts/skp16c26.ld index 83a56e17269..38618d9b1eb 100644 --- a/boards/renesas/m32262f8/skp16c26/scripts/skp16c26.ld +++ b/boards/renesas/m32262f8/skp16c26/scripts/skp16c26.ld @@ -37,103 +37,103 @@ OUTPUT_ARCH(m32c) ENTRY(_stext) SECTIONS { - /* "Far" flash memory begins at address 0xf0000 for the M20262F8 part and - * ends at address 0xfffff (all parts). The program entry point is - * the first address in flash - */ + /* "Far" flash memory begins at address 0xf0000 for the M20262F8 part and + * ends at address 0xfffff (all parts). The program entry point is + * the first address in flash + */ - . = 0xf0000; - .text : { - _stext = ABSOLUTE(.); - *(.text) - *(.fixup) - *(.gnu.warning) - *(.rodata) - *(.glue_7) - *(.glue_7t) - *(.got) /* Global offset table */ - _etext = ABSOLUTE(.); - } + . = 0xf0000; + .text : { + _stext = ABSOLUTE(.); + *(.text) + *(.fixup) + *(.gnu.warning) + *(.rodata) + *(.glue_7) + *(.glue_7t) + *(.got) /* Global offset table */ + _etext = ABSOLUTE(.); + } - _enronly = ABSOLUTE(.); /* End of read-only values */ - /* .ndata will be relocated */ - /* from this address */ + _enronly = ABSOLUTE(.); /* End of read-only values */ + /* .ndata will be relocated */ + /* from this address */ - /* The "variable" vector table will be fixed at the following address */ + /* The "variable" vector table will be fixed at the following address */ - . = 0xffd00; - .varvect : { - _svarvect = ABSOLUTE(.); - *(.varvect) - _evarvect = ABSOLUTE(.); - } + . = 0xffd00; + .varvect : { + _svarvect = ABSOLUTE(.); + *(.varvect) + _evarvect = ABSOLUTE(.); + } - /* Followed by the special page/fixed vector table. */ + /* Followed by the special page/fixed vector table. */ - . = 0xffe00; - .specpg : { - _sspecpg = ABSOLUTE(.); - *(.specpg) - _especpg = ABSOLUTE(.); - } + . = 0xffe00; + .specpg : { + _sspecpg = ABSOLUTE(.); + *(.specpg) + _especpg = ABSOLUTE(.); + } - . = 0xfffdc; - .fixvect : { - _sfixvect = ABSOLUTE(.); - *(.fixvect) - _efixvect = ABSOLUTE(.); - } + . = 0xfffdc; + .fixvect : { + _sfixvect = ABSOLUTE(.); + *(.fixvect) + _efixvect = ABSOLUTE(.); + } - /* Internal "near" RAM begins at address 0x00400 (all parts) and ends at - * address 0x00bff (M20262F6 and M20262F8 parts). With the RAM - * region, used is .data followed by .bss. The remainder of RAM - * carved up by the start-up code into stacks and heaps. - */ + /* Internal "near" RAM begins at address 0x00400 (all parts) and ends at + * address 0x00bff (M20262F6 and M20262F8 parts). With the RAM + * region, used is .data followed by .bss. The remainder of RAM + * carved up by the start-up code into stacks and heaps. + */ - . = 0x00400; + . = 0x00400; - .ndata : { - _sndata = ABSOLUTE(.); - *(.data) - CONSTRUCTORS - _endata = ABSOLUTE(.); - } + .ndata : { + _sndata = ABSOLUTE(.); + *(.data) + CONSTRUCTORS + _endata = ABSOLUTE(.); + } - .nbss : { /* BSS */ - _snbss = ABSOLUTE(.); - *(.bss) - *(COMMON) - _enbss = ABSOLUTE(.); - } + .nbss : { /* BSS */ + _snbss = ABSOLUTE(.); + *(.bss) + *(COMMON) + _enbss = ABSOLUTE(.); + } - /* "Far" RAM begins at 0x10000. The SKP16C26 has no far RAM */ + /* "Far" RAM begins at 0x10000. The SKP16C26 has no far RAM */ - . = 0x10000; + . = 0x10000; - .fdata : { - _sfdata = ABSOLUTE(.); - *(.fdata) - CONSTRUCTORS - _efdata = ABSOLUTE(.); - } + .fdata : { + _sfdata = ABSOLUTE(.); + *(.fdata) + CONSTRUCTORS + _efdata = ABSOLUTE(.); + } - .fbss : { /* BSS */ - _sfbss = ABSOLUTE(.); - *(.fbss) - *(COMMON) - _efbss = ABSOLUTE(.); - } - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .fbss : { /* BSS */ + _sfbss = ABSOLUTE(.); + *(.fbss) + *(COMMON) + _efbss = ABSOLUTE(.); + } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/renesas/sh7032/us7032evb1/configs/ostest/ld.script b/boards/renesas/sh7032/us7032evb1/configs/ostest/ld.script index 6e1920cb95d..5bffff0eba3 100644 --- a/boards/renesas/sh7032/us7032evb1/configs/ostest/ld.script +++ b/boards/renesas/sh7032/us7032evb1/configs/ostest/ld.script @@ -73,6 +73,7 @@ SECTIONS _sbss = ABSOLUTE(.); *(.bss) *(COMMON) + . = ALIGN(4); _ebss = ABSOLUTE(.); } /* Stabs debugging sections. */ diff --git a/boards/renesas/sh7032/us7032evb1/scripts/sram.ld b/boards/renesas/sh7032/us7032evb1/scripts/sram.ld index 42d32051b8f..f63400aa924 100644 --- a/boards/renesas/sh7032/us7032evb1/scripts/sram.ld +++ b/boards/renesas/sh7032/us7032evb1/scripts/sram.ld @@ -37,55 +37,56 @@ OUTPUT_ARCH(sh) ENTRY(_stext) SECTIONS { - /* The us7032evb1 has CMON in PROM beginning at address 0x00000000 and - * either 64Kb or 256Kb of SRAM beginning at 0x0a000000. Neither the - * PROM nor the first 8Kb of SRAM are avaible to the devoleper as these - * are used by CMON. The next 1Kb of SRAM is dedicated to relocated - * interrupt vectors. - */ + /* The us7032evb1 has CMON in PROM beginning at address 0x00000000 and + * either 64Kb or 256Kb of SRAM beginning at 0x0a000000. Neither the + * PROM nor the first 8Kb of SRAM are avaible to the devoleper as these + * are used by CMON. The next 1Kb of SRAM is dedicated to relocated + * interrupt vectors. + */ - . = 0x0a002000; - .text : { - _svect = ABSOLUTE(.); - *(.vects); /* Relocated interrupt vectors */ - _evect = ABSOLUTE(.); - _stext = ABSOLUTE(.); - *(.reset) /* Reset/IRQ code */ - *(.text) /* Code */ - *(.fixup) - *(.gnu.warning) - *(.rodata) /* Read-only data */ - *(.rodata.str1.4) - *(.glue_7) - *(.glue_7t) - *(.got) /* Global offset table */ - _etext = ABSOLUTE(.); - } + . = 0x0a002000; + .text : { + _svect = ABSOLUTE(.); + *(.vects); /* Relocated interrupt vectors */ + _evect = ABSOLUTE(.); + _stext = ABSOLUTE(.); + *(.reset) /* Reset/IRQ code */ + *(.text) /* Code */ + *(.fixup) + *(.gnu.warning) + *(.rodata) /* Read-only data */ + *(.rodata.str1.4) + *(.glue_7) + *(.glue_7t) + *(.got) /* Global offset table */ + _etext = ABSOLUTE(.); + } - .data : { - _sdata = ABSOLUTE(.); - *(.data) /* Modifiable data */ - CONSTRUCTORS - _edata = ABSOLUTE(.); - } + .data : { + _sdata = ABSOLUTE(.); + *(.data) /* Modifiable data */ + CONSTRUCTORS + _edata = ABSOLUTE(.); + } - .bss : { /* BSS */ - _sbss = ABSOLUTE(.); - *(.bss) - *(COMMON) - _ebss = ABSOLUTE(.); - } - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + .bss : { /* BSS */ + _sbss = ABSOLUTE(.); + *(.bss) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/x86/qemu/qemu-i486/scripts/qemu.ld b/boards/x86/qemu/qemu-i486/scripts/qemu.ld index 455606e2d2c..a25efab06f5 100644 --- a/boards/x86/qemu/qemu-i486/scripts/qemu.ld +++ b/boards/x86/qemu/qemu-i486/scripts/qemu.ld @@ -37,55 +37,56 @@ OUTPUT_ARCH(i386) ENTRY(__start) SECTIONS { - . = 0x00100000; + . = 0x00100000; - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.gnu.linkonce.t.*) - _etext = ABSOLUTE(.); - } + .text : { + _stext = ABSOLUTE(.); + *(.text .text.*) + *(.gnu.linkonce.t.*) + _etext = ABSOLUTE(.); + } - .text ALIGN (0x1000) : { - _srodata = ABSOLUTE(.); - *(.rodata .rodata.*) - *(.fixup) - *(.gnu.warning) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _erodata = ABSOLUTE(.); - } + .text ALIGN (0x1000) : { + _srodata = ABSOLUTE(.); + *(.rodata .rodata.*) + *(.fixup) + *(.gnu.warning) + *(.glue_7) + *(.glue_7t) + *(.got) + *(.gcc_except_table) + *(.gnu.linkonce.r.*) + _erodata = ABSOLUTE(.); + } - .data ALIGN (0x1000) : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } + .data ALIGN (0x1000) : { + _sdata = ABSOLUTE(.); + *(.data .data.*) + *(.gnu.linkonce.d.*) + CONSTRUCTORS + _edata = ABSOLUTE(.); + } - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } + .bss : { + _sbss = ABSOLUTE(.); + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + _ebss = ABSOLUTE(.); + } - /* Stabs debugging sections */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + /* Stabs debugging sections */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } } diff --git a/boards/xtensa/esp32/esp32-core/scripts/esp32_flash.ld b/boards/xtensa/esp32/esp32-core/scripts/esp32_flash.ld index 4d88a4f6f11..30d7ef8ca0d 100644 --- a/boards/xtensa/esp32/esp32-core/scripts/esp32_flash.ld +++ b/boards/xtensa/esp32/esp32-core/scripts/esp32_flash.ld @@ -83,7 +83,7 @@ SECTIONS *(.share.mem) *(.gnu.linkonce.b.*) *(COMMON) - . = ALIGN (8); + . = ALIGN(8); _ebss = ABSOLUTE(.); /* Uninitialized .bss */ diff --git a/boards/xtensa/esp32/esp32-core/scripts/esp32_iram.ld b/boards/xtensa/esp32/esp32-core/scripts/esp32_iram.ld index 3ba33b75213..22bfbd7434a 100644 --- a/boards/xtensa/esp32/esp32-core/scripts/esp32_iram.ld +++ b/boards/xtensa/esp32/esp32-core/scripts/esp32_iram.ld @@ -94,7 +94,7 @@ SECTIONS *(.share.mem) *(.gnu.linkonce.b.*) *(COMMON) - . = ALIGN (8); + . = ALIGN(8); _ebss = ABSOLUTE(.); /* Uninitialized .bss */