1 /*
2  * Copyright (c) 2006-2024, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2024-04-08     QT-one       first version
9  */
10 
11 #ifndef __BOARD_H__
12 #define __BOARD_H__
13 
14 #include <rtthread.h>
15 #include "ht32.h"
16 #include "ht32_msp.h"
17 
18 #ifdef BSP_USING_GPIO
19     #include "drv_gpio.h"
20 #endif
21 
22 #ifdef BSP_USING_SPI
23     #include "drv_spi.h"
24 #endif
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 /* whether use board external SRAM memory */
31 #define HT32_EXT_SRAM 0
32 #define HT32_EXT_SRAM_BEGIN 0x68000000
33 #define HT32_EXT_SRAM_END (HT32_EXT_SRAM_BEGIN + HT32_EXT_SRAM*1024)
34 
35 /* internal sram memory size */
36 #define HT32_SRAM_END (0x20000000 + LIBCFG_RAM_SIZE)
37 
38 #ifdef __CC_ARM
39 extern int Image$$RW_IRAM1$$ZI$$Limit;
40 #define HEAP_BEGIN  ((void *)&Image$$RW_IRAM1$$ZI$$Limit)
41 #elif __ICCARM__
42 #pragma section="HEAP"
43 #define HEAP_BEGIN  (__segment_end("HEAP"))
44 #else
45 extern int __bss_end;
46 #define HEAP_BEGIN  ((void *)&__bss_end)
47 #endif
48 #define HEAP_END    HT32_SRAM_END
49 
50 void rt_hw_board_clock_init(void);
51 
52 #ifdef __cplusplus
53 }
54 #endif
55 
56 #endif /* __BOARD_H__ */
57