From 1dc8bf195d2c4d382e0d6d371f16ebfe83573acc Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 4 Jul 2016 15:44:10 +0100 Subject: [PATCH] Allow the flash and ram memory region sizes to be specified in the default FT32 linker script. * scripttempl/ft32.sc (__PMSIZE_): If not defined, set to 256K. (__RAMSIZE): If not defined, set to 64K. (MEMORY): Set the flash region size to __PMSIZE and the ram region size to __RAMSIZE. --- ld/ChangeLog | 7 +++++++ ld/scripttempl/ft32.sc | 11 +++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 1dc221d824e..248e66eb630 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2016-07-04 Nick Clifton + + * scripttempl/ft32.sc (__PMSIZE_): If not defined, set to 256K. + (__RAMSIZE): If not defined, set to 64K. + (MEMORY): Set the flash region size to __PMSIZE and the ram region + size to __RAMSIZE. + 2016-07-02 Maciej W. Rozycki * testsuite/ld-mips-elf/branch-misc-2.d: New test. diff --git a/ld/scripttempl/ft32.sc b/ld/scripttempl/ft32.sc index bc55d1032f9..15f8335c5cd 100644 --- a/ld/scripttempl/ft32.sc +++ b/ld/scripttempl/ft32.sc @@ -14,13 +14,16 @@ OUTPUT_FORMAT("${OUTPUT_FORMAT}") OUTPUT_ARCH(${ARCH}) ${LIB_SEARCH_DIRS} +/* Allow the command line to override the memory region sizes. */ +__PMSIZE_ = DEFINED(__PMSIZE) ? __PMSIZE : 256K; +__RAMSIZE = DEFINED(__RAMSIZE) ? __RAMSIZE : 64K; + MEMORY { - /* Note - we cannot use "PROVIDE(len)" ... "LENGTH = len" as - PROVIDE statements are not evaluated inside MEMORY blocks. */ - flash (rx) : ORIGIN = 0, LENGTH = 256K - ram (rw!x) : ORIGIN = 0x800000, LENGTH = 64K + flash (rx) : ORIGIN = 0, LENGTH = __PMSIZE + ram (rw!x) : ORIGIN = 0x800000, LENGTH = __RAMSIZE } + SECTIONS { .text : -- 2.30.2