1 /* 2 * Copyright (c) 2006-2021, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2010-03-30 Kyle First version 9 */ 10 11 #include <rtthread.h> 12 13 extern void rt_hw_board_init(void); 14 extern void rt_application_init(void); 15 16 #ifdef RT_USING_FINSH 17 extern int finsh_system_init(void); 18 extern void finsh_set_device(const char* device); 19 #endif 20 main(void)21int main(void) 22 { 23 #ifdef RT_USING_HEAP 24 extern void __heap_start__; 25 extern void __heap_end__; 26 #endif 27 28 rt_hw_board_init(); 29 rt_system_timer_init(); 30 31 #ifdef RT_USING_HEAP 32 rt_system_heap_init(&__heap_start__, &__heap_end__); 33 #endif 34 35 rt_system_scheduler_init(); 36 rt_application_init(); 37 38 #ifdef RT_USING_FINSH 39 /* init finsh */ 40 finsh_system_init(); 41 #if !defined(RT_USING_POSIX_STDIO) && defined(RT_USING_DEVICE) 42 finsh_set_device(RT_CONSOLE_DEVICE_NAME); 43 #endif 44 #endif 45 46 rt_thread_idle_init(); 47 rt_system_scheduler_start(); 48 49 return 0; 50 } 51