systeminit.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * This file is only used for doxygen document generation.
  3. */
  4. /**
  5. * @defgroup SystemInit System Initialization
  6. *
  7. * @brief System initialization procedure.
  8. *
  9. * When RT-Thread operating system starts up, the basic operating system facility
  10. * initialization routines must be invoked.
  11. *
  12. * The suggested initialization sequence is:
  13. *
  14. * - initialize device hardware
  15. * rt_hw_board_init();
  16. *
  17. * User can put the low level hardware initialization in this function, such as
  18. * DDR memory setting, pinmux setting, console device setting etc.
  19. *
  20. * - show version
  21. * rt_show_version();
  22. *
  23. * - initialize timer system
  24. * rt_system_timer_init();
  25. *
  26. * - initialize system heap memory
  27. * rt_system_heap_init(__bss_end, __end_of_memory);
  28. *
  29. * - initialize module system
  30. * rt_system_module_init();
  31. *
  32. * - initialize scheduler system
  33. * rt_system_scheduler_init();
  34. *
  35. * - initialize application
  36. * rt_application_init();
  37. *
  38. * - initialize system timer thread
  39. * rt_system_timer_thread_init();
  40. *
  41. * - initialize idle thread
  42. * rt_thread_idle_init();
  43. *
  44. * - start scheduler
  45. * rt_system_scheduler_start();
  46. */
  47. /**
  48. * @ingroup SystemInit
  49. *
  50. * This function will initialize user application.
  51. *
  52. * This function will be invoked when system initialization and system scheduler
  53. * has not started. User can allocate memory, create thread, semaphore etc. However,
  54. * user shall not suspend 'current' thread.
  55. */
  56. void rt_application_init();
  57. /**
  58. * @ingroup SystemInit
  59. */
  60. void rt_system_heap_init(void* begin_addr, void* end_addr);