* This function will startup RT-Thread RTOS. */
| 34 | * This function will startup RT-Thread RTOS. |
| 35 | */ |
| 36 | void rtthread_startup(void) |
| 37 | { |
| 38 | /* init board */ |
| 39 | rt_hw_board_init(); |
| 40 | |
| 41 | /* show version */ |
| 42 | rt_show_version(); |
| 43 | |
| 44 | /* init timer system */ |
| 45 | rt_system_timer_init(); |
| 46 | |
| 47 | #ifdef RT_USING_HEAP |
| 48 | rt_system_heap_init( &_alt_partition_sdram_load_addr, (void*)(SDRAM_BASE + SDRAM_SPAN) ); |
| 49 | #endif |
| 50 | |
| 51 | /* init scheduler system */ |
| 52 | rt_system_scheduler_init(); |
| 53 | |
| 54 | /* init application */ |
| 55 | rt_application_init(); |
| 56 | |
| 57 | /* init timer thread */ |
| 58 | rt_system_timer_thread_init(); |
| 59 | |
| 60 | #ifdef RT_USING_FINSH |
| 61 | /* init finsh */ |
| 62 | finsh_system_init(); |
| 63 | #if !defined(RT_USING_POSIX_STDIO) && defined(RT_USING_DEVICE) |
| 64 | finsh_set_device("uart"); |
| 65 | #endif |
| 66 | #endif |
| 67 | |
| 68 | /* init idle thread */ |
| 69 | rt_thread_idle_init(); |
| 70 | |
| 71 | /* start scheduler */ |
| 72 | rt_system_scheduler_start(); |
| 73 | |
| 74 | /* never reach here */ |
| 75 | return ; |
| 76 | } |
| 77 | |
| 78 | int main(void) |
| 79 | { |
no test coverage detected