From 6ccd04543c7928151d9b4fb782470e7d8f3e1e14 Mon Sep 17 00:00:00 2001 From: "bernard.xiong" Date: Mon, 1 Mar 2010 09:37:59 +0000 Subject: add thread example. git-svn-id: https://rt-thread.googlecode.com/svn/trunk@456 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- examples/kernel/thread_static.c | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 examples/kernel/thread_static.c (limited to 'examples/kernel/thread_static.c') diff --git a/examples/kernel/thread_static.c b/examples/kernel/thread_static.c new file mode 100644 index 0000000000..9a8c158c86 --- /dev/null +++ b/examples/kernel/thread_static.c @@ -0,0 +1,52 @@ +#include +#include "tc_comm.h" + +/* + * This is an example for static thread + */ +static struct rt_thread thread; +static char thread_stack[THREAD_STACK_SIZE]; +static void thread_entry(void* parameter) +{ + rt_kprintf("thread staticly inited ok\n"); + rt_thread_delay(10); + rt_kprintf("thread exit\n"); + + tc_done(TC_STAT_PASSED); +} + +rt_err_t thread_static_init() +{ + rt_err_t result; + + result = rt_thread_init(&thread, + "test", + thread_entry, RT_NULL, + &thread_stack[0], sizeof(thread_stack), + THREAD_PRIORITY, 10); + + if (result == RT_EOK) + rt_thread_startup(&thread); + else + tc_stat(TC_STAT_END | TC_STAT_FAILED); + + return result; +} + +#ifdef RT_USING_TC +int _tc_thread_static() +{ + thread_static_init(); + + return 20; +} +FINSH_FUNCTION_EXPORT(_tc_thread_static, a static thread test); +#else +int rt_application_init() +{ + thread_static_init(); + + return 0; +} +#endif + -- cgit v1.3.1