Browse Source

[bsp][stm32]modify stm32l4xx template,preventing conflict with the linker files

yangjie 6 years ago
parent
commit
d910839880
1 changed files with 12 additions and 1 deletions
  1. 12 1
      bsp/stm32/libraries/templates/stm32l4xx/board/board.h

+ 12 - 1
bsp/stm32/libraries/templates/stm32l4xx/board/board.h

@@ -6,6 +6,7 @@
  * Change Logs:
  * Date           Author       Notes
  * 2018-11-5      SummerGift   first version
+ * 2019-04-24     yangjie      Use the end of ZI as HEAP_BEGIN
  */
 
 #ifndef __BOARD_H__
@@ -28,7 +29,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
+#ifdef __CC_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);