diff --git a/configs/eagle100/ostest/ld.script b/configs/eagle100/ostest/ld.script index df687adaab..8af2ce81da 100644 --- a/configs/eagle100/ostest/ld.script +++ b/configs/eagle100/ostest/ld.script @@ -57,7 +57,7 @@ SECTIONS *(.fixup) *(.gnu.warning) *(.rodata) - *(.rodata.str1.1) + *(.rodata.str1.*) *(.glue_7) *(.glue_7t) *(.got) /* Global offset table */ diff --git a/configs/mcu123-lpc214x/ostest/ld.script b/configs/mcu123-lpc214x/ostest/ld.script index ecd740527b..04e381b8b3 100644 --- a/configs/mcu123-lpc214x/ostest/ld.script +++ b/configs/mcu123-lpc214x/ostest/ld.script @@ -1,7 +1,7 @@ /**************************************************************************** * configs/mcu123-lpc214x/ostest/ld.script * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> * * Redistribution and use in source and binary forms, with or without diff --git a/configs/olimex-strp711/ostest/defconfig b/configs/olimex-strp711/ostest/defconfig index e9734c1d8c..ca65ef5d55 100644 --- a/configs/olimex-strp711/ostest/defconfig +++ b/configs/olimex-strp711/ostest/defconfig @@ -626,8 +626,10 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0 # # CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP # operation from FLASH but must copy initialized .data sections to RAM. +# (This option does not appy to the STR71x -- it always runs from flash). # CONFIG_BOOT_COPYTORAM - Some configurations boot in FLASH # but copy themselves entirely into RAM for better performance. +# (This option does not appy to the STR71x -- it is never copied to RAM). # CONFIG_CUSTOM_STACK - The up_ implementation will handle # all stack operations outside of the nuttx model. # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only) @@ -643,7 +645,7 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0 # CONFIG_HEAP_BASE - The beginning of the heap # CONFIG_HEAP_SIZE - The size of the heap # -CONFIG_BOOT_RUNFROMFLASH=y +CONFIG_BOOT_RUNFROMFLASH=n CONFIG_BOOT_COPYTORAM=n CONFIG_CUSTOM_STACK=n CONFIG_STACK_POINTER= diff --git a/configs/olimex-strp711/ostest/ld.script b/configs/olimex-strp711/ostest/ld.script index c2a1987914..053b9938df 100644 --- a/configs/olimex-strp711/ostest/ld.script +++ b/configs/olimex-strp711/ostest/ld.script @@ -33,52 +33,64 @@ * ****************************************************************************/ +/* The str71x has 256Kb of non-volatile memory beginning at address + * 0x4000:0000 for program storage (Bank0, an addition 16Kb is available + * for data storage in Bank1). The OS entry point is via the reset vector + * at address 0x00000000 where the FLASH is remapped at reset. + * + * The str71x has 64Kb of on-chip static RAM beginning at address + * 0x2000:0000. The .data section will be relocated from _eronly + * to _sdata at boot time. + */ + +/* The STR711 has 256Kb of FLASH beginning at address 0x4000:0000 and 64Kb + * of SRAM beginning at address 0x2000:0000 + */ + +MEMORY +{ + flash (rx) : ORIGIN = 0x40000000, LENGTH = 256K + sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K +} + OUTPUT_ARCH(arm) ENTRY(_stext) SECTIONS { - /* The str71x has 256Kb of non-volatile memory beginning at address - * 0x40000000 for program storage (Bank0, an addition 16Kb is avalable - * for data storage in Bank1). The OS entry point is via the reset vector - * at address 0x00000000 where the FLASH is remapped at reset. - */ - - . = 0x40000000; .text : { _stext = ABSOLUTE(.); + *(.vectors) *(.text) *(.fixup) *(.gnu.warning) *(.rodata) - *(.rodata.str1.4) + *(.rodata.str1.*) *(.glue_7) *(.glue_7t) *(.got) /* Global offset table */ _etext = ABSOLUTE(.); - } - _eronly = ABSOLUTE(.); /* This is where the .data section - * is relocated for execution out - * FLASH */ + } > flash - /* The str71x has 64Kb of on-chip static RAM beginning at address - * 0x20000000. The .data section will be relocated from _eronly + /* This is where the .data section is relocated for execution out + * FLASH. The .data section will be relocated from _eronly * to _sdata at boot time. */ - . = 0x20000000; + _eronly = ABSOLUTE(.); + .data : { _sdata = ABSOLUTE(.); *(.data) CONSTRUCTORS _edata = ABSOLUTE(.); - } + } > sram AT > flash .bss : { /* BSS */ _sbss = ABSOLUTE(.); *(.bss) *(COMMON) _ebss = ABSOLUTE(.); - } + } > sram /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) }