Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/thirdpin/libopencm3.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorFelix Held <felix-libopencm3@felixheld.de>2014-02-07 02:01:50 +0400
committerFelix Held <felix-libopencm3@felixheld.de>2014-02-07 02:01:50 +0400
commit1f702cd9403ff2688f43dbd28cc69df276e66132 (patch)
tree6a9b3b4e3a4a296eb77e9b7c0afbceb941b8dbec /ld
parent8d5ad52e0f7ff72532805ec1883e2bc01482cd16 (diff)
fix base adresses in sam3 devices with multiple sram blocks, add nfc section
Diffstat (limited to 'ld')
-rw-r--r--ld/devices.data26
-rw-r--r--ld/linker.ld.S10
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++.