|
@@ -28,7 +28,17 @@ extern "C" {
|
|
|
#define STM32_SRAM1_START (0x20000000)
|
|
|
#define STM32_SRAM1_END (STM32_SRAM1_START + STM32_SRAM1_SIZE * 1024)
|
|
|
|
|
|
-#define HEAP_BEGIN STM32_SRAM1_START
|
|
|
+#if defined(__CC_ARM) || defined(__CLANG_ARM)
|
|
|
+extern int Image$$RW_IRAM1$$ZI$$Limit;
|
|
|
+#define HEAP_BEGIN ((void *)&Image$$RW_IRAM1$$ZI$$Limit)
|
|
|
+#elif __ICCARM__
|
|
|
+#pragma section="CSTACK"
|
|
|
+#define HEAP_BEGIN (__segment_end("CSTACK"))
|
|
|
+#else
|
|
|
+extern int __bss_end;
|
|
|
+#define HEAP_BEGIN ((void *)&__bss_end)
|
|
|
+#endif
|
|
|
+
|
|
|
#define HEAP_END STM32_SRAM1_END
|
|
|
|
|
|
void SystemClock_Config(void);
|