diff options
author | Felix Held <felix-libopencm3@felixheld.de> | 2014-02-07 02:01:50 +0400 |
---|---|---|
committer | Felix Held <felix-libopencm3@felixheld.de> | 2014-02-07 02:01:50 +0400 |
commit | 1f702cd9403ff2688f43dbd28cc69df276e66132 (patch) | |
tree | 6a9b3b4e3a4a296eb77e9b7c0afbceb941b8dbec /ld | |
parent | 8d5ad52e0f7ff72532805ec1883e2bc01482cd16 (diff) |
fix base adresses in sam3 devices with multiple sram blocks, add nfc section
Diffstat (limited to 'ld')
-rw-r--r-- | ld/devices.data | 26 | ||||
-rw-r--r-- | ld/linker.ld.S | 10 |
2 files changed, 26 insertions, 10 deletions
diff --git a/ld/devices.data b/ld/devices.data index 76797760..b8feae91 100644 --- a/ld/devices.data +++ b/ld/devices.data @@ -137,8 +137,8 @@ stm32w108cc stm32w ROM=256K RAM=16K ################################################################################ # the SAM3 chips -sam3a4* sam3a ROM=256K RAM=64K -sam3a8* sam3a ROM=512K RAM=96K +sam3a4* sam3a ROM=256K RAM=32K RAM1=32K +sam3a8* sam3a ROM=512K RAM=64K RAM1=32K sam3n00* sam3n ROM=16K RAM=4K sam3n0* sam3n ROM=32K RAM=8K @@ -150,12 +150,14 @@ sam3s1* sam3s ROM=64K RAM=16K sam3s2* sam3s ROM=128K RAM=32K sam3s4* sam3s ROM=256K RAM=48K -sam3u1* sam3u ROM=64K RAM=20K -sam3u2* sam3u ROM=128K RAM=36K -sam3u4* sam3u ROM=256K RAM=52K +sam3u1* sam3u ROM=64K RAM=8K RAM1=8K +sam3u2* sam3u ROM=128K RAM=16K RAM1=16K +sam3u4* sam3u ROM=265K RAM=32K RAM1=16K -sam3x4* sam3x ROM=256K RAM=64K -sam3x8* sam3x ROM=512K RAM=96K +sam3x4c* sam3x ROM=256K RAM=32K RAM1=32K +sam3x4e* sam3xnfc ROM=256K RAM=32K RAM1=32K +sam3x8c* sam3x ROM=512K RAM=64K RAM1=32K +sam3x8e* sam3xnfc ROM=512K RAM=64K RAM1=32K ################################################################################ # the lpc chips @@ -296,6 +298,10 @@ stm32f4ccm stm32f4 CCM_OFF=0x10000000 stm32l1eep stm32l1 EEP_OFF=0x08080000 ################################################################################ +# the SAM3 family groups +sam3xnfc sam3x NFCRAM=4K NFCRAM_OFF=0x20100000 + +################################################################################ # the lpc family groups @@ -321,11 +327,11 @@ stm32t stm32 ROM_OFF=0x08000000 RAM_OFF=0x20000000 -mcpu=cortex-m3 -mthumb ################################################################################ # the SAM3 families -sam3a sam3 ROM_OFF=0x00800000 RAM_OFF=0x20000000 +sam3a sam3 ROM_OFF=0x00080000 RAM_OFF=0x20000000 RAM1_OFF=0x20080000 sam3n sam3 ROM_OFF=0x00400000 RAM_OFF=0x20000000 sam3s sam3 ROM_OFF=0x00400000 RAM_OFF=0x20000000 -sam3u sam3 ROM_OFF=0x00080000 RAM_OFF=0x20000000 -sam3x sam3 ROM_OFF=0x00800000 RAM_OFF=0x20000000 +sam3u sam3 ROM_OFF=0x00080000 RAM_OFF=0x20000000 RAM1_OFF=0x20080000 NFCRAM=4K NFCRAM_OFF=0x20100000 +sam3x sam3 ROM_OFF=0x00080000 RAM_OFF=0x20000000 RAM1_OFF=0x20080000 ################################################################################ # the lpc families diff --git a/ld/linker.ld.S b/ld/linker.ld.S index daa6b7c3..e81ccc0c 100644 --- a/ld/linker.ld.S +++ b/ld/linker.ld.S @@ -59,6 +59,9 @@ MEMORY #if defined(_XDRAM) xdram (rw) : ORIGIN = _XDRAM_OFF, LENGTH = _XDRAM #endif +#if defined(_NFCRAM) + nfcram (rw) : ORIGIN _NFCRAM_OFF, LENGTH = _NFCRAM +#endif } /* Define sections. */ @@ -169,6 +172,13 @@ SECTIONS } >xdram #endif +#if defined(_NFCRAM) + .nfcram : { + *(.nfcram*) + . = ALIGN(4); + } >nfcram +#endif + /* * The .eh_frame section appears to be used for C++ exception handling. * You may need to fix this if you're using C++. |