diff --git a/src/components.c b/src/components.c index 32409924f42da77b7defd461a7eea9f66f4e682e..fc527a97b435081cecb5f970d49361443bff6385 100644 --- a/src/components.c +++ b/src/components.c @@ -33,6 +33,12 @@ #include #include +#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;