]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/T-HEAD_CB2201_CDK/RTOSDemo_CDK/RTOSDemo/chip_name.c
Introduce a port for T-HEAD CK802. A simple demo for T-HEAD CB2201 is also included.
[freertos] / FreeRTOS / Demo / T-HEAD_CB2201_CDK / RTOSDemo_CDK / RTOSDemo / chip_name.c
1 /*============================================================================\r
2  * Name        : chip_name.c\r
3  * Author      : $(UserName)\r
4  * Copyright   : Your copyright notice\r
5  * Description : System Initialization before main\r
6  * 1 CPU initialization\r
7  * 2 memory & IO base address initialization\r
8  * 3 flash size & address initialization\r
9  * 4 interrupt resource initialization for the soc\r
10  *============================================================================\r
11  */\r
12 #include "chip_name.h"\r
13 /**\r
14  *  @brief initial CPU based on user config in chip_name.h\r
15  */\r
16 static void CPUInit(void)\r
17 {\r
18         /**\r
19          * Config CPU's Unit such as MGU, Cache...\r
20          */\r
21         \r
22         return;\r
23 }\r
24 \r
25 /**\r
26  * @brief entry of whole chip initialization\r
27  * @Note anyone should not use any global variable in this function since this function is called \r
28  * at before data section's initialization.\r
29  * Since here SystemInit is a weak symbol, any vendor can override this symbol on its own wishes.\r
30  */\r
31  \r
32  #define CONFIG_SYSTICK_HZ 100\r
33  #define CONFIG_SYSTEM_FREQ 24000000\r
34  \r
35 __attribute__((weak)) void  SystemInit(void) \r
36 {\r
37         /**\r
38          * initial CPU based on the config in chip_name.h\r
39          */\r
40         CPUInit();\r
41         \r
42         /**\r
43          * TODO: initial IO, memory, flash... \r
44          */\r
45          \r
46         drv_coret_config(CONFIG_SYSTEM_FREQ / CONFIG_SYSTICK_HZ, CORET_IRQn);    //10ms\r
47     csi_vic_enable_sirq(CORET_IRQn);\r
48         \r
49     return;\r
50 }