aboutsummaryrefslogtreecommitdiff
path: root/AT91SAM7S256/SAM7S256/gcc/nxt.ld
diff options
context:
space:
mode:
authorNicolas Schodet2010-07-11 17:18:29 +0200
committerNicolas Schodet2010-08-20 00:18:22 +0200
commit5c0e26fb7be7d1e268462221c30998ddb2223580 (patch)
tree570a3832573f310d49aee00032c16e54932e0cbf /AT91SAM7S256/SAM7S256/gcc/nxt.ld
parent0f35027d33aafa32593e7c2e1fe54f7dc3fb33dc (diff)
gcc: automatically compute user flash size
This is done at link time. As a consequence, the user flash size is not available at compile time, which is a problem for the FILEHEADER type. This is solved by using a maximum size so that the static Header variable is big enough. It would not have been a problem if this variable was put on the stack.
Diffstat (limited to 'AT91SAM7S256/SAM7S256/gcc/nxt.ld')
-rw-r--r--AT91SAM7S256/SAM7S256/gcc/nxt.ld3
1 files changed, 3 insertions, 0 deletions
diff --git a/AT91SAM7S256/SAM7S256/gcc/nxt.ld b/AT91SAM7S256/SAM7S256/gcc/nxt.ld
index 9a41b10..8e5f0cb 100644
--- a/AT91SAM7S256/SAM7S256/gcc/nxt.ld
+++ b/AT91SAM7S256/SAM7S256/gcc/nxt.ld
@@ -77,6 +77,9 @@ SECTIONS
_edata = . ;
PROVIDE (edata = .);
+ __STARTOFUSERFLASH_FROM_LINKER =
+ ALIGN (LOADADDR (.data) + SIZEOF (.data), 0x100);
+
/* .bss section which is used for uninitialized data */
.bss (NOLOAD) :
{