1*10465441SEvalZero #include <rtthread.h> 2*10465441SEvalZero #include "tc_comm.h" 3*10465441SEvalZero 4*10465441SEvalZero /* 5*10465441SEvalZero * This is an example for static thread 6*10465441SEvalZero */ 7*10465441SEvalZero static struct rt_thread thread; 8*10465441SEvalZero static char thread_stack[THREAD_STACK_SIZE]; thread_entry(void * parameter)9*10465441SEvalZerostatic void thread_entry(void* parameter) 10*10465441SEvalZero { 11*10465441SEvalZero rt_kprintf("thread staticly inited ok\n"); 12*10465441SEvalZero rt_thread_delay(10); 13*10465441SEvalZero rt_kprintf("thread exit\n"); 14*10465441SEvalZero 15*10465441SEvalZero tc_done(TC_STAT_PASSED); 16*10465441SEvalZero } 17*10465441SEvalZero thread_static_init()18*10465441SEvalZerort_err_t thread_static_init() 19*10465441SEvalZero { 20*10465441SEvalZero rt_err_t result; 21*10465441SEvalZero 22*10465441SEvalZero result = rt_thread_init(&thread, 23*10465441SEvalZero "test", 24*10465441SEvalZero thread_entry, RT_NULL, 25*10465441SEvalZero &thread_stack[0], sizeof(thread_stack), 26*10465441SEvalZero THREAD_PRIORITY, 10); 27*10465441SEvalZero 28*10465441SEvalZero if (result == RT_EOK) 29*10465441SEvalZero rt_thread_startup(&thread); 30*10465441SEvalZero else 31*10465441SEvalZero tc_stat(TC_STAT_END | TC_STAT_FAILED); 32*10465441SEvalZero 33*10465441SEvalZero return result; 34*10465441SEvalZero } 35*10465441SEvalZero 36*10465441SEvalZero #ifdef RT_USING_TC _tc_thread_static()37*10465441SEvalZeroint _tc_thread_static() 38*10465441SEvalZero { 39*10465441SEvalZero thread_static_init(); 40*10465441SEvalZero 41*10465441SEvalZero return 20; 42*10465441SEvalZero } 43*10465441SEvalZero FINSH_FUNCTION_EXPORT(_tc_thread_static, a static thread test); 44*10465441SEvalZero #else rt_application_init()45*10465441SEvalZeroint rt_application_init() 46*10465441SEvalZero { 47*10465441SEvalZero thread_static_init(); 48*10465441SEvalZero 49*10465441SEvalZero return 0; 50*10465441SEvalZero } 51*10465441SEvalZero #endif 52*10465441SEvalZero 53