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 BSP_USING_SDIO
27 #include "dfs_fs.h"
28 #endif
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /* whether use board external SRAM memory */
35 #define HT32_EXT_SRAM 0
36 #define HT32_EXT_SRAM_BEGIN 0x68000000
37 #define HT32_EXT_SRAM_END (HT32_EXT_SRAM_BEGIN + HT32_EXT_SRAM*1024)
38 
39 /* internal sram memory size */
40 #define HT32_SRAM_END (0x20000000 + LIBCFG_RAM_SIZE)
41 
42 #ifdef __CC_ARM
43 extern int Image$$RW_IRAM1$$ZI$$Limit;
44 #define HEAP_BEGIN  ((void *)&Image$$RW_IRAM1$$ZI$$Limit)
45 #elif __ICCARM__
46 #pragma section="HEAP"
47 #define HEAP_BEGIN  (__segment_end("HEAP"))
48 #else
49 extern int __bss_end;
50 #define HEAP_BEGIN  ((void *)&__bss_end)
51 #endif
52 #define HEAP_END    HT32_SRAM_END
53 
54 void rt_hw_board_clock_init(void);
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif /* __BOARD_H__ */
61