采用rt_thread_create在动态堆内存中创建一个线程,此动态线程创建任务是初始化两个静态线程,创建失败,而用直接初始化静态线程却可以,过程如下:
一个动态线程初始化两个静态线程,不OK:
int rt_application_init(void)
{
rt_thread_t init_thread= RT_NULL;
#if (RT_THREAD_PRIORITY_MAX == 32)
init_thread = rt_thread_create("init",
rt_init_thread_entry, RT_NULL,
1024, 8, 20);
#else
init_thread = rt_thread_create("init",
rt_init_thread_entry, RT_NULL,
1024, 80, 20);
#endif
if (init_thread != RT_NULL)
rt_thread_startup(init_thread);
else
return -1;
return RT_EOK;
}
直接初始化两个静态线程,OK:
int rt_application_init(void)
{
rt_err_t result;
/* 创建静态线程 : 优先级 15 ,时间片 2个系统滴答 */
resu