diff options
author | Marti Bolivar <mbolivar@leaflabs.com> | 2011-09-13 03:23:03 -0400 |
---|---|---|
committer | Marti Bolivar <mbolivar@leaflabs.com> | 2011-09-13 04:44:02 -0400 |
commit | 514cc1c190300af2bdfd94a0ae1a37d416d3c125 (patch) | |
tree | ff94c10660658c4f7884d11d73683df2920a7fae /support/ld/maple_native | |
parent | af9c6c9f7143067fb48f5bb3eb1474003dcb5017 (diff) | |
download | librambutan-514cc1c190300af2bdfd94a0ae1a37d416d3c125.tar.gz librambutan-514cc1c190300af2bdfd94a0ae1a37d416d3c125.zip |
[support/ld] Unify linker scripts.
Add new common.inc, which is common_rom.inc with some
DEFINED(_FLASH_BUILD) usages thrown in to allow for RAM builds. It
also uses a new REGION_RODATA region alias for read-only data.
Move section .USER_FLASH to REGION_RODATA. This means it lives in RAM
under RAM builds. Although this might be surprising, not doing so
would make RAM builds useless.
Modify the individual board linker scripts to properly set
REGION_RODATA and _FLASH_BUILD before calling out to common.inc.
Delete common_rom.inc, common_ram.inc, common_header.inc, in favor of
common.inc. This should fix RAM builds on all boards.
Diffstat (limited to 'support/ld/maple_native')
-rw-r--r-- | support/ld/maple_native/flash.ld | 4 | ||||
-rw-r--r-- | support/ld/maple_native/jtag.ld | 4 | ||||
-rw-r--r-- | support/ld/maple_native/ram.ld | 3 |
3 files changed, 8 insertions, 3 deletions
diff --git a/support/ld/maple_native/flash.ld b/support/ld/maple_native/flash.ld index 20326e4..b6e10f8 100644 --- a/support/ld/maple_native/flash.ld +++ b/support/ld/maple_native/flash.ld @@ -16,10 +16,12 @@ GROUP(libcs3_stm32_high_density.a) REGION_ALIAS("REGION_TEXT", rom); REGION_ALIAS("REGION_DATA", ram); REGION_ALIAS("REGION_BSS", ram); +REGION_ALIAS("REGION_RODATA", rom); /* Specify heap boundary addresses on the external SRAM chip */ _lm_heap_start = 0x60000000; _lm_heap_end = 0x60100000; -INCLUDE common_rom.inc +_FLASH_BUILD = 1; +INCLUDE common.inc diff --git a/support/ld/maple_native/jtag.ld b/support/ld/maple_native/jtag.ld index 73157de..9af2a11 100644 --- a/support/ld/maple_native/jtag.ld +++ b/support/ld/maple_native/jtag.ld @@ -17,9 +17,11 @@ GROUP(libcs3_stm32_high_density.a) REGION_ALIAS("REGION_TEXT", rom); REGION_ALIAS("REGION_DATA", ram); REGION_ALIAS("REGION_BSS", ram); +REGION_ALIAS("REGION_RODATA", rom); /* Specify heap boundary addresses on the external SRAM chip */ _lm_heap_start = 0x60000000; _lm_heap_end = 0x60100000; -INCLUDE common_rom.inc +_FLASH_BUILD = 1; +INCLUDE common.inc diff --git a/support/ld/maple_native/ram.ld b/support/ld/maple_native/ram.ld index d38e43c..7264316 100644 --- a/support/ld/maple_native/ram.ld +++ b/support/ld/maple_native/ram.ld @@ -16,9 +16,10 @@ GROUP(libcs3_stm32_high_density.a) REGION_ALIAS("REGION_TEXT", ram); REGION_ALIAS("REGION_DATA", ram); REGION_ALIAS("REGION_BSS", ram); +REGION_ALIAS("REGION_RODATA", ram); /* Specify heap boundary addresses on the external SRAM chip */ _lm_heap_start = 0x60000000; _lm_heap_end = 0x60100000; -INCLUDE common_ram.inc +INCLUDE common.inc |