1
0

thread_dynamic.c 907 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. *
  8. */
  9. #include <rtthread.h>
  10. #include "tc_comm.h"
  11. static void thread_entry(void* parameter)
  12. {
  13. rt_kprintf("thread dynamicly created ok\n");
  14. rt_thread_delay(10);
  15. rt_kprintf("thread exit\n");
  16. tc_done(TC_STAT_PASSED);
  17. }
  18. int thread_dynamic_init()
  19. {
  20. rt_thread_t tid;
  21. tid = rt_thread_create("test",
  22. thread_entry, RT_NULL,
  23. THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE);
  24. if (tid != RT_NULL)
  25. rt_thread_startup(tid);
  26. else
  27. tc_stat(TC_STAT_END | TC_STAT_FAILED);
  28. return 0;
  29. }
  30. #ifdef RT_USING_TC
  31. int _tc_thread_dynamic()
  32. {
  33. thread_dynamic_init();
  34. return 20;
  35. }
  36. FINSH_FUNCTION_EXPORT(_tc_thread_dynamic, a dynamic thread test);
  37. #else
  38. int rt_application_init()
  39. {
  40. thread_dynamic_init();
  41. return 0;
  42. }
  43. #endif