1*10465441SEvalZero #include <rtthread.h> 2*10465441SEvalZero #include "tc_comm.h" 3*10465441SEvalZero thread_entry(void * parameter)4*10465441SEvalZerostatic void thread_entry(void* parameter) 5*10465441SEvalZero { 6*10465441SEvalZero rt_kprintf("thread dynamicly created ok\n"); 7*10465441SEvalZero rt_thread_delay(10); 8*10465441SEvalZero rt_kprintf("thread exit\n"); 9*10465441SEvalZero 10*10465441SEvalZero tc_done(TC_STAT_PASSED); 11*10465441SEvalZero } 12*10465441SEvalZero thread_dynamic_init()13*10465441SEvalZeroint thread_dynamic_init() 14*10465441SEvalZero { 15*10465441SEvalZero rt_thread_t tid; 16*10465441SEvalZero 17*10465441SEvalZero tid = rt_thread_create("test", 18*10465441SEvalZero thread_entry, RT_NULL, 19*10465441SEvalZero THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE); 20*10465441SEvalZero if (tid != RT_NULL) 21*10465441SEvalZero rt_thread_startup(tid); 22*10465441SEvalZero else 23*10465441SEvalZero tc_stat(TC_STAT_END | TC_STAT_FAILED); 24*10465441SEvalZero 25*10465441SEvalZero return 0; 26*10465441SEvalZero } 27*10465441SEvalZero 28*10465441SEvalZero #ifdef RT_USING_TC _tc_thread_dynamic()29*10465441SEvalZeroint _tc_thread_dynamic() 30*10465441SEvalZero { 31*10465441SEvalZero thread_dynamic_init(); 32*10465441SEvalZero 33*10465441SEvalZero return 20; 34*10465441SEvalZero } 35*10465441SEvalZero FINSH_FUNCTION_EXPORT(_tc_thread_dynamic, a dynamic thread test); 36*10465441SEvalZero #else rt_application_init()37*10465441SEvalZeroint rt_application_init() 38*10465441SEvalZero { 39*10465441SEvalZero thread_dynamic_init(); 40*10465441SEvalZero 41*10465441SEvalZero return 0; 42*10465441SEvalZero } 43*10465441SEvalZero #endif 44*10465441SEvalZero 45