浏览代码

[Kernel] Use main function in the Keil MDK

Bernard Xiong 10 年之前
父节点
当前提交
655054b1c5
共有 1 个文件被更改,包括 17 次插入0 次删除
  1. 17 0
      src/init.c

+ 17 - 0
src/init.c

@@ -122,9 +122,22 @@ void rt_components_init(void)
 }
 
 #ifdef RT_USING_USER_MAIN
+
 void rt_application_init(void);
 void rt_hw_board_init(void);
 
+#ifdef __CC_ARM
+extern int $Super$$main(void);
+/* re-define main function */
+int $Sub$$main(void)
+{
+    rt_hw_interrupt_disable();
+    rtthread_startup();
+    
+    return 0;
+}
+#endif
+
 #ifndef RT_USING_HEAP
 /* if there is not enble heap, we should use static thread and stack. */
 ALIGN(8)
@@ -141,7 +154,11 @@ void main_thread_entry(void *parameter)
     rt_components_init();
 
     /* invoke system main function */
+#ifdef __CC_ARM
+    $Sub$$main();
+#else
     main();
+#endif
 }
 
 void rt_application_init(void)