Browse Source

[update] stm32mp1 heap address.

thread-liu 4 years ago
parent
commit
0b5c69ef69

+ 12 - 9
bsp/stm32/stm32mp157a-st-discovery/board/board.h

@@ -26,15 +26,19 @@ extern "C" {
 #define STM32_FLASH_SIZE             (192 * 1024)
 #define STM32_FLASH_SIZE             (192 * 1024)
 #define STM32_FLASH_END_ADDRESS      ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))
 #define STM32_FLASH_END_ADDRESS      ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))
   
   
-#if defined(BSP_USING_OPENAMP)    	
-#define STM32_SRAM_BEGIN             (uint32_t)0x10030000 	
-#else	
-#define STM32_SRAM_BEGIN             (uint32_t)0x2FFF0000     	
+#define STM32_SRAM_SIZE           (64)
+#define STM32_SRAM_END            (0x10030000 + 64 * 1024)  	
+
+#if defined(__CC_ARM) || defined(__CLANG_ARM)
+extern int Image$$RW_IRAM1$$ZI$$Limit;
+#define HEAP_BEGIN      (&Image$$RW_IRAM1$$ZI$$Limit)
+#elif __ICCARM__
+#pragma section="CSTACK"
+#define HEAP_BEGIN      (__segment_end("CSTACK"))
+#else
+extern int __bss_end;
+#define HEAP_BEGIN      (&__bss_end)
 #endif
 #endif
-#define STM32_SRAM_SIZE              (64)      
-#define STM32_SRAM_END               (STM32_SRAM_BEGIN + (STM32_SRAM_SIZE * 1024))
-
-#define HEAP_BEGIN                    STM32_SRAM_BEGIN
 #define HEAP_END                      STM32_SRAM_END
 #define HEAP_END                      STM32_SRAM_END
 
 
 void SystemClock_Config(void);
 void SystemClock_Config(void);
@@ -46,4 +50,3 @@ extern void _Error_Handler(char *s, int num);
 #endif
 #endif
 
 
 #endif
 #endif
-

+ 0 - 1
bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c

@@ -84,7 +84,6 @@ void HAL_MspInit(void)
     if (IS_ENGINEERING_BOOT_MODE())
     if (IS_ENGINEERING_BOOT_MODE())
     {
     {
         __HAL_RCC_SYSRAM_CLK_ENABLE();
         __HAL_RCC_SYSRAM_CLK_ENABLE();
-        __HAL_RCC_RETRAM_CLK_ENABLE();
     }
     }
   
   
     HAL_NVIC_SetPriority(RCC_WAKEUP_IRQn, 0, 0);
     HAL_NVIC_SetPriority(RCC_WAKEUP_IRQn, 0, 0);

+ 7 - 0
bsp/stm32/stm32mp157a-st-ev1/board/board.c

@@ -12,6 +12,7 @@
 
 
 #include "board.h"
 #include "board.h"
 
 
+void PeriphCommonClock_Config(void);
 /**
 /**
 * @brief System Clock Configuration
 * @brief System Clock Configuration
 * @retval None
 * @retval None
@@ -124,6 +125,12 @@ void SystemClock_Config(void)
     /**Set the HSE division factor for RTC clock
     /**Set the HSE division factor for RTC clock
     */
     */
     __HAL_RCC_RTC_HSEDIV(24);
     __HAL_RCC_RTC_HSEDIV(24);
+    
+    /* Configure the peripherals common clocks */
+    if(IS_ENGINEERING_BOOT_MODE())
+    {
+        PeriphCommonClock_Config();
+    }
 }
 }
 
 
 
 

+ 13 - 9
bsp/stm32/stm32mp157a-st-ev1/board/board.h

@@ -23,18 +23,23 @@ extern "C" {
 #endif
 #endif
 
 
 #define STM32_FLASH_START_ADRESS     ((uint32_t)0x10000000)  
 #define STM32_FLASH_START_ADRESS     ((uint32_t)0x10000000)  
-#define STM32_FLASH_SIZE             (191 * 1024)
+#define STM32_FLASH_SIZE             (192 * 1024)
 #define STM32_FLASH_END_ADDRESS      ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))
 #define STM32_FLASH_END_ADDRESS      ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))
 
 
-#if defined(BSP_USING_OPENAMP)    
-#define STM32_SRAM_BEGIN             (uint32_t)0x10030000 
+
+#define STM32_SRAM_SIZE           (64)
+#define STM32_SRAM_END            (0x10030000 + 64 * 1024)  	
+
+#if defined(__CC_ARM) || defined(__CLANG_ARM)
+extern int Image$$RW_IRAM1$$ZI$$Limit;
+#define HEAP_BEGIN      (&Image$$RW_IRAM1$$ZI$$Limit)
+#elif __ICCARM__
+#pragma section="CSTACK"
+#define HEAP_BEGIN      (__segment_end("CSTACK"))
 #else
 #else
-#define STM32_SRAM_BEGIN             (uint32_t)0x2FFF0000     
+extern int __bss_end;
+#define HEAP_BEGIN      (&__bss_end)
 #endif
 #endif
-#define STM32_SRAM_SIZE              (64)    
-#define STM32_SRAM_END               (STM32_SRAM_BEGIN + (STM32_SRAM_SIZE * 1024))
-
-#define HEAP_BEGIN                    STM32_SRAM_BEGIN
 #define HEAP_END                      STM32_SRAM_END
 #define HEAP_END                      STM32_SRAM_END
 
 
 void SystemClock_Config(void);
 void SystemClock_Config(void);
@@ -46,4 +51,3 @@ extern void _Error_Handler(char *s, int num);
 #endif
 #endif
 
 
 #endif
 #endif
-