summaryrefslogtreecommitdiff
path: root/FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/include/system.c
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/include/system.c')
-rw-r--r--FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/include/system.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/include/system.c b/FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/include/system.c
new file mode 100644
index 000000000..34433eea6
--- /dev/null
+++ b/FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/include/system.c
@@ -0,0 +1,33 @@
+#include <stdint.h>
+#include <soc.h>
+#include <csi_core.h>
+
+extern void CORET_IRQHandler(void);
+extern void Default_handler(void);
+extern void console_init();
+void (*g_irqvector[32])(void);
+
+void irq_vectors_init(void)
+{
+ int i;
+
+ for (i = 0; i < 32; i++) {
+ g_irqvector[i] = Default_handler;
+ }
+
+ g_irqvector[CORET_IRQn] = CORET_IRQHandler;
+}
+
+
+#define CONFIG_SYSTICK_HZ 100
+#define CONFIG_SYSTEM_FREQ 24000000
+
+void SystemInit(void)
+{
+ irq_vectors_init();
+ drv_coret_config(CONFIG_SYSTEM_FREQ / CONFIG_SYSTICK_HZ, CORET_IRQn); //10ms
+ drv_nvic_enable_irq(CORET_IRQn);
+
+ console_init();
+ return;
+}