rt-thread-official/examples/kernel/thread_dynamic.c

54 lines
907 B
C
Raw Normal View History

/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
*
*/
2013-01-08 21:05:02 +08:00
#include <rtthread.h>
#include "tc_comm.h"
static void thread_entry(void* parameter)
{
2013-12-21 12:51:52 +08:00
rt_kprintf("thread dynamicly created ok\n");
rt_thread_delay(10);
rt_kprintf("thread exit\n");
2013-01-08 21:05:02 +08:00
2013-12-21 12:51:52 +08:00
tc_done(TC_STAT_PASSED);
2013-01-08 21:05:02 +08:00
}
int thread_dynamic_init()
{
2013-12-21 12:51:52 +08:00
rt_thread_t tid;
2013-01-08 21:05:02 +08:00
2013-12-21 12:51:52 +08:00
tid = rt_thread_create("test",
thread_entry, RT_NULL,
THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE);
if (tid != RT_NULL)
rt_thread_startup(tid);
else
tc_stat(TC_STAT_END | TC_STAT_FAILED);
2013-01-08 21:05:02 +08:00
2013-12-21 12:51:52 +08:00
return 0;
2013-01-08 21:05:02 +08:00
}
#ifdef RT_USING_TC
int _tc_thread_dynamic()
{
2013-12-21 12:51:52 +08:00
thread_dynamic_init();
2013-01-08 21:05:02 +08:00
2013-12-21 12:51:52 +08:00
return 20;
2013-01-08 21:05:02 +08:00
}
FINSH_FUNCTION_EXPORT(_tc_thread_dynamic, a dynamic thread test);
#else
int rt_application_init()
{
2013-12-21 12:51:52 +08:00
thread_dynamic_init();
2013-01-08 21:05:02 +08:00
2013-12-21 12:51:52 +08:00
return 0;
2013-01-08 21:05:02 +08:00
}
#endif