Browse Source

[kernel] use the macro definition instead of the user main thread

tanek liang 8 years ago
parent
commit
d835d91ae8
1 changed files with 8 additions and 2 deletions
  1. 8 2
      src/components.c

+ 8 - 2
src/components.c

@@ -33,6 +33,12 @@
 #include <rthw.h>
 #include <rtthread.h>
 
+#ifdef RT_USING_USER_MAIN
+#ifndef RT_MAIN_THREAD_STACK_SIZE
+#define RT_MAIN_THREAD_STACK_SIZE     512
+#endif
+#endif
+
 #ifdef RT_USING_COMPONENTS_INIT
 /*
  * Components Initialization will initialize some driver and components as following 
@@ -172,7 +178,7 @@ int entry(void)
 #ifndef RT_USING_HEAP
 /* if there is not enable heap, we should use static thread and stack. */
 ALIGN(8)
-static rt_uint8_t main_stack[2048];
+static rt_uint8_t main_stack[RT_MAIN_THREAD_STACK_SIZE];
 struct rt_thread main_thread;
 #endif
 
@@ -199,7 +205,7 @@ void rt_application_init(void)
 
 #ifdef RT_USING_HEAP
     tid = rt_thread_create("main", main_thread_entry, RT_NULL,
-                           2048, RT_THREAD_PRIORITY_MAX / 3, 20);
+                           RT_MAIN_THREAD_STACK_SIZE, RT_THREAD_PRIORITY_MAX / 3, 20);
     RT_ASSERT(tid != RT_NULL);
 #else
     rt_err_t result;