1 /* 2 * Copyright (c) 2006-2021, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2018-11-5 SummerGift first version 9 */ 10 11 #ifndef __BOARD_H__ 12 #define __BOARD_H__ 13 14 #include <stm32f4xx.h> 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 #define STM32_SRAM_SIZE (128) 21 #define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024) 22 23 #define STM32_FLASH_START_ADRESS ((uint32_t)0x08000000) 24 #define STM32_FLASH_SIZE (1024 * 1024) 25 #define STM32_FLASH_END_ADDRESS ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE)) 26 27 #if defined(__ARMCC_VERSION) 28 extern int Image$$RW_IRAM1$$ZI$$Limit; 29 #define HEAP_BEGIN ((void *)&Image$$RW_IRAM1$$ZI$$Limit) 30 #elif __ICCARM__ 31 #pragma section="CSTACK" 32 #define HEAP_BEGIN (__segment_end("CSTACK")) 33 #else 34 extern int __bss_end; 35 #define HEAP_BEGIN ((void *)&__bss_end) 36 #endif 37 38 #define HEAP_END STM32_SRAM_END 39 40 void SystemClock_Config(void); 41 42 #ifdef __cplusplus 43 } 44 #endif 45 46 #endif 47 48