aboutsummaryrefslogtreecommitdiffstats
path: root/os/common/ports/ARMCMx/compilers
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2015-09-04 12:57:06 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2015-09-04 12:57:06 +0000
commit4c19d32590b2bcb94f9318d7414745bc55cb926e (patch)
treed7e402911b66361eeecf45c3ab33b94ce59efc6e /os/common/ports/ARMCMx/compilers
parentc497eb864e63bb6ca94042f3a3df45af54093889 (diff)
downloadChibiOS-4c19d32590b2bcb94f9318d7414745bc55cb926e.tar.gz
ChibiOS-4c19d32590b2bcb94f9318d7414745bc55cb926e.tar.bz2
ChibiOS-4c19d32590b2bcb94f9318d7414745bc55cb926e.zip
Improved scatter files.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8280 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/common/ports/ARMCMx/compilers')
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x4.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x6.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x8.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F072xB.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F100xB.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xB.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xD.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE_maplemini_bootloader.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xG.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F107xC.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F302x8.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F334x8.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xC.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xE.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xC.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xE.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32F429xI.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x6.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x8.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32L053x8.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32L151x6.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xB.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xE.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/ld/STM32L476xG.ld3
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/rules.ld14
31 files changed, 99 insertions, 5 deletions
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x4.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x4.ld
index d63d89d8c..3a809ddb6 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x4.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x4.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x6.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x6.ld
index 328351cdf..71b738110 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x6.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x6.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x8.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x8.ld
index 24b8f0d6c..429eba77a 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x8.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F030x8.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld
index 55ea322a8..26466f115 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F072xB.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F072xB.ld
index 5c75b2399..e44d43730 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F072xB.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F072xB.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F100xB.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F100xB.ld
index 304ab77c4..76c19c669 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F100xB.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F100xB.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xB.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xB.ld
index 99653d259..22eba093e 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xB.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xB.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xD.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xD.ld
index 4f1409332..1952b614c 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xD.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xD.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE.ld
index a8f249632..8af8a3c7b 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE_maplemini_bootloader.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE_maplemini_bootloader.ld
index 64895a4ba..73fbc5209 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE_maplemini_bootloader.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xE_maplemini_bootloader.ld
@@ -50,4 +50,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xG.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xG.ld
index bf795887e..f40b46ff1 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xG.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F103xG.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F107xC.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F107xC.ld
index 6d382f617..f10a7a53b 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F107xC.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F107xC.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F302x8.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F302x8.ld
index 2d5461957..a78e033a6 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F302x8.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F302x8.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld
index d01491695..518e96f0d 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F334x8.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F334x8.ld
index 0121c5b67..cfd9698e1 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F334x8.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F334x8.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld
index 1e6a22f23..96d58449c 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xC.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xC.ld
index 3b78c3e27..798e255bb 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xC.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xC.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xE.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xE.ld
index 7feed0a6c..235ae50ea 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xE.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F401xE.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld
index e061f7dcb..151ec0dba 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld
index 291eaf00e..4ced890b6 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld
@@ -48,4 +48,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xC.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xC.ld
index 794070294..b3f91a45b 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xC.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xC.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xE.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xE.ld
index 14e191a31..010f8d4d2 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xE.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F411xE.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F429xI.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F429xI.ld
index e1e1902e9..81248e10c 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F429xI.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F429xI.ld
@@ -48,4 +48,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x6.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x6.ld
index 4655e3fbe..e5ebcb88a 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x6.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x6.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x8.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x8.ld
index 417adf567..faccde1ec 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x8.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L052x8.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L053x8.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L053x8.ld
index eb5f14e14..108e7f2c3 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L053x8.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L053x8.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L151x6.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L151x6.ld
index 8505b74cb..5352ae208 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L151x6.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L151x6.ld
@@ -39,4 +39,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xB.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xB.ld
index 334075283..32ffdf596 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xB.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xB.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xE.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xE.ld
index e2e89310c..d6ad839a2 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xE.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L152xE.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L476xG.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L476xG.ld
index c88c78a94..060e79072 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L476xG.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32L476xG.ld
@@ -47,4 +47,7 @@ REGION_ALIAS("DATA_RAM", ram0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
+/* RAM region to be used for the default heap.*/
+REGION_ALIAS("HEAP_RAM", ram0);
+
INCLUDE rules.ld
diff --git a/os/common/ports/ARMCMx/compilers/GCC/rules.ld b/os/common/ports/ARMCMx/compilers/GCC/rules.ld
index 0ecb156cc..70c0bc3cd 100644
--- a/os/common/ports/ARMCMx/compilers/GCC/rules.ld
+++ b/os/common/ports/ARMCMx/compilers/GCC/rules.ld
@@ -224,9 +224,13 @@ SECTIONS
. = ALIGN(4);
__ram7_free__ = .;
} > ram7
-}
-/* Heap default boundaries, it is defaulted to be the non-used part
- of ram0 region.*/
-__heap_base__ = __ram0_free__;
-__heap_end__ = __ram0_end__;
+ /* The default heap uses the (statically) unused part of a RAM section.*/
+ .heap (NOLOAD) :
+ {
+ . = ALIGN(8);
+ __heap_base__ = .;
+ . = ORIGIN(HEAP_RAM) + LENGTH(HEAP_RAM);
+ __heap_end__ = .;
+ } > HEAP_RAM
+}