/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* init hardware interrupt */ rt_hw_interrupt_init(); /* init board */ rt_hw_board_init(); rt_show_version(); /* init tick */ rt_system_tick_init(); /* init kernel object */ rt_system_object_init(); /* init timer system */ rt_system_timer_init(); #ifdef RT_USING_HEAP #ifdef __CC_ARM rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)0x204000); #elif __ICCARM__ rt_system_heap_init(__segment_end("HEAP"), (void*)0x204000); #else rt_system_heap_init((void*)&__bss_end, (void*)0x204000); #endif #endif /* init scheduler system */ rt_system_scheduler_init(); #ifdef RT_USING_HOOK /* if the hook is used */ /* set idle thread hook */ rt_thread_idle_sethook(rt_hw_led_flash); #endif #ifdef RT_USING_DEVICE /* init hardware serial device */ rt_hw_serial_init(); #endif /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device("uart1"); #endif /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
void rt_init_thread_entry(void* parameter) { /* init board */ // rt_hw_led_init(); I2C_init(); pwm_init(); Init_MPU6050(); HMC5883L_Initialize(); // at_application_init(); #ifdef RT_USING_COMPONENTS_INIT /* initialization RT-Thread Components */ rt_components_init(); #endif #ifdef RT_USING_FINSH finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif /* RT_USING_FINSH */ /* Filesystem Initialization */ #if defined(RT_USING_DFS) && defined(RT_USING_DFS_ELMFAT) /* mount sd card fat partition 1 as root directory */ if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) { rt_kprintf("File System initialized!\n"); } else rt_kprintf("File System initialzation failed!\n"); #endif /* RT_USING_DFS */ at_application_init(); BT_application_init(); imu_application_init(); }
void set_finsh_dev(char *device) { #ifdef RT_USING_CONSOLE rt_console_set_device(device); finsh_set_device( device ); #endif }
int main(void) { #ifdef RT_USING_HEAP extern void __heap_start__; extern void __heap_end__; #endif rt_hw_board_init(); rt_system_tick_init(); rt_system_object_init(); rt_system_timer_init(); #ifdef RT_USING_HEAP rt_system_heap_init(&__heap_start__, &__heap_end__); #endif rt_system_scheduler_init(); rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device(FINSH_DEVICE_NAME); #endif rt_thread_idle_init(); rt_system_scheduler_start(); return 0; }
void rt_init_thread_entry(void* parameter) { #ifdef RT_USING_FINSH /* initialization finsh shell Component */ finsh_system_init(); finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* init board */ rt_hw_board_init(); /* show version */ rt_show_version(); /* init tick */ rt_system_tick_init(); /* init kernel object */ rt_system_object_init(); /* init timer system */ rt_system_timer_init(); #ifdef RT_USING_HEAP #if STM32_EXT_SRAM rt_system_heap_init((void*)STM32_EXT_SRAM_BEGIN, (void*)STM32_EXT_SRAM_END); #else #ifdef __CC_ARM rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)STM32_SRAM_END); #elif __ICCARM__ rt_system_heap_init(__segment_end("HEAP"), (void*)STM32_SRAM_END); #else /* init memory system */ rt_system_heap_init((void*)&__bss_end, (void*)STM32_SRAM_END); #endif #endif #endif /* init scheduler system */ rt_system_scheduler_init(); /* init all device */ rt_device_init_all(); /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device(FINSH_DEVICE_NAME); #endif rt_system_timer_thread_init(); /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* init hardware interrupt */ rt_hw_interrupt_init(); /* init board */ rt_hw_board_init(); /* init tick */ rt_system_tick_init(); /* init kernel object */ rt_system_object_init(); rt_show_version(); /* init timer system */ rt_system_timer_init(); /* init memory system */ #ifdef RT_USING_HEAP #ifdef __CC_ARM rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)0x40010000); #else rt_system_heap_init((void*)&__bss_end, (void*)0x40010000); #endif #endif /* init scheduler system */ rt_system_scheduler_init(); #ifdef RT_USING_DEVICE /* init hardware serial device */ rt_hw_serial_init(); /*init all registed devices*/ rt_device_init_all(); #endif /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device("uart1"); #endif /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { app_getGUID(); /* initialize board */ rt_hw_board_init(); /* show version */ rt_show_version(); rt_kprintf(" device id:%x %x %x %x\n",devguid[0],devguid[1],devguid[2],devguid[3]); #ifdef RT_USING_HEAP /* initialize memory system */ #ifdef __CC_ARM rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)(0x10000000 + 1024*64)); #elif __ICCARM__ rt_system_heap_init(__segment_end("HEAP"), (void*)(0x10000000 + 1024*64)); #else rt_system_heap_init((void*)&__bss_end, (void*)(0x10000000 + 1024*64)); #endif #endif /* initialize scheduler system */ rt_system_scheduler_init(); #ifdef RT_USING_DFS /* init sdcard driver */ #ifdef RT_USE_SDIO rt_hw_sdcard_init(); #else rt_hw_msd_init(); #endif #endif /* initialize application */ rt_application_init(); #ifdef RT_USING_FINSH /* initialize finsh */ finsh_system_init(); finsh_set_device( FINSH_DEVICE_NAME ); #endif /* initialize timer */ rt_system_timer_init(); /* initialize timer thread */ rt_system_timer_thread_init(); /* initialize idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
/** * @brief This function when the Telnet connection is established * @param arg user supplied argument * @param pcb the tcp_pcb which accepted the connection * @param err error value * @retval ERR_OK */ static err_t telnetd_accept(void *arg, struct tcp_pcb *pcb, err_t err) { struct telnetio_dev *p; rt_err_t ret; TELNETD_DEBUG(("line:%d, %s()\n", __LINE__, __FUNCTION__)); p = telnetio_dev_creat(); if (NULL == p) { TELNETD_DEBUG(("line:%d, %s()\n", __LINE__, __FUNCTION__)); ret = ERR_MEM; goto ret_entry; } else { /* Tell LwIP to associate this structure with this connection. */ tcp_arg(pcb, p); /* p所指向的区域已清零, 这里只是简单的处理 */ p->dev_name[0] = 't'; p->dev_name[1] = 'e'; p->dev_name[2] = 'l'; p->dev_name[3] = 'n'; p->dev_name[4] = '0' + telnetio_dev_no_get(); p->dev_name[5] = '\0'; ret = rt_telnetio_register(&p->dev, p->dev_name, 0, pcb); TELNETD_DEBUG(("line:%d, %s() dev-%s register %s\n", __LINE__, __FUNCTION__, p->dev_name, ret==RT_EOK ? "succ" : "fail")); #if 1 //rt_device_open(&p->dev, 0); finsh_set_device(p->dev_name); rt_console_set_device(p->dev_name); #endif } /* Configure LwIP to use our call back functions. */ tcp_err(pcb, telnetd_conn_err); tcp_recv(pcb, telnetd_recv); /* !!!! 发送telnet选项命令 */ /* Send out the first message */ /* tcp_write(pcb, GREETING, strlen(GREETING), 1); */ /* send out the login message */ #if (!RT_NEED_FINSH_PROC_LOGIN) tcp_write(pcb, LOGIN_NAME, strlen(LOGIN_NAME), TCP_WRITE_FLAG_COPY); p->state = TELS_LOGIN_NAME; #else /* 登录处理已由finsh处理 */ //p->state = TELS_NORMAL; p->state = TELS_LOGIN_NAME; #endif ret = ERR_OK; ret_entry: return ret; }
static void rt_init_thread_entry(void* parameter) { rt_thread_t system_thread; rt_uint8_t buf[256]; /* Initialization RT-Thread Components */ #ifdef RT_USING_COMPONENTS_INIT rt_components_init(); #endif /* Set finsh device */ #ifdef RT_USING_FINSH finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif /* RT_USING_FINSH */ rt_hw_led1_off(); //cmx865a_init(); unsigned int count=1000; rt_memset(buf,'\0',256); rt_hw_led_init(); // rt_kprintf("led on, count : %d\r\n",count); //rt_sprintf(buf,"%s","- RT - Thread Operating System"); // ST7585_Write_String(0,5,"- RT - "); //ST7585_Write_String(0,4,"Thread Operating System"); // Draw_bat(3); //b(0,1); r(0); while (1) { /* led1 on */ #ifdef RT_USING_FINSH rt_kprintf("led on , count : %d\r\n",count); #endif // rt_sprintf(buf,"led on , count : %d",count); // ST7585_Write_String(0,5,buf); //test_cmx865a(); count++; rt_hw_led1_off(); rt_thread_delay( RT_TICK_PER_SECOND/2 ); /* sleep 0.5 second and switch to other thread */ /* led1 off */ #ifdef RT_USING_FINSH rt_kprintf("led off\r\n"); #endif // rt_sprintf(buf,"led off, count : %d",count); // ST7585_Write_String(0,5,buf); rt_hw_led1_on(); rt_thread_delay( RT_TICK_PER_SECOND/2 ); } }
void rt_init_thread_entry(void* parameter) { #ifdef RT_USING_COMPONENTS_INIT /* initialization RT-Thread Components */ rt_components_init(); #endif #ifdef RT_USING_FINSH finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif /* RT_USING_FINSH */ /* Filesystem Initialization */ #if defined(RT_USING_DFS) && defined(RT_USING_DFS_ELMFAT) /* mount sd card fat partition 1 as root directory */ if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) { rt_kprintf("File System initialized!\n"); } else rt_kprintf("File System initialzation failed!\n"); #endif /* RT_USING_DFS */ #ifdef RT_USING_RTGUI { extern void rt_hw_lcd_init(); extern void rtgui_touch_hw_init(void); rt_device_t lcd; /* init lcd */ rt_hw_lcd_init(); /* init touch panel */ rtgui_touch_hw_init(); /* re-init device driver */ rt_device_init_all(); /* find lcd device */ lcd = rt_device_find("lcd"); /* set lcd device as rtgui graphic driver */ rtgui_graphic_set_device(lcd); #ifndef RT_USING_COMPONENTS_INIT /* init rtgui system server */ rtgui_system_server_init(); #endif calibration_set_restore(cali_setup); calibration_set_after(cali_store); calibration_init(); } #endif /* #ifdef RT_USING_RTGUI */ }
/* thread phase init */ void rt_init_thread_entry(void *parameter) { /* Initialization RT-Thread Components */ rt_components_init(); #ifdef RT_USING_FINSH finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif #ifdef RT_USING_LWIP rt_hw_tiva_eth_init(); #endif }
void rt_init_thread_entry(void* parameter) { #ifdef RT_USING_COMPONENTS_INIT /* initialization RT-Thread Components */ rt_components_init(); #endif #ifdef RT_USING_FINSH finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif /* RT_USING_FINSH */ }
/** * @brief This function is called when an error occurs on the connection * @param arg * @parm err * @retval None */ static void telnetd_conn_err(void *arg, err_t err) { struct telnetio_dev *teldev = arg; finsh_set_device(CONSOLE_DEVICE); rt_console_set_device(CONSOLE_DEVICE); rt_device_unregister(&teldev->dev); telnetio_dev_delete(teldev); return; }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* init cache */ rt_hw_cache_init(); /* init hardware interrupt */ rt_hw_interrupt_init(); /* copy vector */ memcpy((void *)A_K0BASE, tlb_refill_exception, 0x20); memcpy((void *)(A_K0BASE + 0x180), general_exception, 0x20); memcpy((void *)(A_K0BASE + 0x200), irq_exception, 0x20); /* init board */ rt_hw_board_init(); rt_show_version(); /* init tick */ rt_system_tick_init(); /* init timer system */ rt_system_timer_init(); #ifdef RT_USING_HEAP rt_system_heap_init((void*)&__bss_end, (void*)RT_HW_HEAP_END); #endif /* init scheduler system */ rt_system_scheduler_init(); #ifdef RT_USING_DEVICE /* init all device */ rt_device_init_all(); #endif /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device(FINSH_DEVICE_NAME); #endif /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* init board */ rt_hw_board_init(); /* show version */ rt_show_version(); /* init tick */ rt_system_tick_init(); /* init kernel object */ rt_system_object_init(); /* init timer system */ rt_system_timer_init(); #ifdef RT_USING_HEAP #ifdef __ICCM16C__ rt_system_heap_init(__segment_begin("DATA16_HEAP"),__segment_end("DATA16_HEAP")); #endif #endif /* init scheduler system */ rt_system_scheduler_init(); #ifdef RT_USING_DEVICE /* init all device */ rt_device_init_all(); #endif /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device("uart0"); #endif /* init timer thread */ rt_system_timer_thread_init(); /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
int rt_application_init() { pthread_t tid; /* do component initialization */ rt_components_init(); libc_system_init(RT_CONSOLE_DEVICE_NAME); finsh_set_device(RT_CONSOLE_DEVICE_NAME); pthread_create(&tid, RT_NULL, test_task, RT_NULL); return 0; }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* init board */ rt_hw_board_init(); /* show version */ rt_show_version(); /* init tick */ rt_system_tick_init(); /* init kernel object */ rt_system_object_init(); /* init timer system */ rt_system_timer_init(); #ifdef RT_USING_HEAP rt_system_heap_init((void*)STM32_SRAM_BEGIN, (void*)STM32_SRAM_END); #endif /* init scheduler system */ rt_system_scheduler_init(); #ifdef RT_USING_DEVICE /* init all device */ rt_device_init_all(); #endif /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device( FINSH_DEVICE_NAME ); #endif /* init timer thread */ rt_system_timer_thread_init(); /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
void rtthread_startup() { /* init hardware interrupt */ rt_hw_interrupt_init(); /* init board */ rt_hw_board_init(); /* show version */ rt_show_version(); /* init tick */ rt_system_tick_init(); /* init kernel object */ rt_system_object_init(); /* init timer system */ rt_system_timer_init(); /* init heap memory system */ rt_system_heap_init(&__bss_end, (void*)0x45000000); /* init scheduler system */ rt_system_scheduler_init(); /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); #ifdef RT_USING_DEVICE finsh_set_device("uart0"); #endif #endif rt_system_timer_thread_init(); /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
/* client close */ static void client_close(struct telnet_session* telnet) { /* set console */ rt_console_set_device(RT_CONSOLE_DEVICE_NAME); /* set finsh device */ finsh_set_device(RT_CONSOLE_DEVICE_NAME); /* close connection */ closesocket(telnet->client_fd); /* restore shell option */ finsh_set_echo(telnet->echo_mode); rt_kprintf("resume console to %s\n", RT_CONSOLE_DEVICE_NAME); }
/* process netconn close */ void telnet_process_close(struct telnet_session* telnet, struct netconn *conn) { /* set console */ rt_console_set_device("uart1"); /* set finsh device */ finsh_set_device("uart1"); /* close connection */ netconn_close(conn); /* restore shell option */ finsh_set_echo(telnet->echo_mode); rt_kprintf("resume console to uart0\n"); }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* init board */ rt_hw_board_init(); /* show version */ rt_show_version(); /* init tick */ rt_system_tick_init(); /* init kernel object */ rt_system_object_init(); /* init timer system */ rt_system_timer_init(); #ifdef RT_USING_HEAP /* init memory system */ rt_system_heap_init((void*)&_ramfunc_end, (void*)PIC32_SRAM_END); #endif /* init scheduler system */ rt_system_scheduler_init(); /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); #ifdef RT_USING_DEVICE finsh_set_device("uart1"); #endif #endif /* init timer thread */ rt_system_timer_thread_init(); /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* init cache */ rt_hw_cache_init(); /* init hardware interrupt */ rt_hw_interrupt_init(); /* init board */ rt_hw_board_init(); rt_show_version(); /* init tick */ rt_system_tick_init(); /* init timer system */ rt_system_timer_init(); #ifdef RT_USING_HEAP rt_system_heap_init((void*)&__bss_end, (void*)RT_HW_HEAP_END); #endif /* init scheduler system */ rt_system_scheduler_init(); #ifdef RT_USING_DEVICE /* init all device */ rt_device_init_all(); #endif /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device(FINSH_DEVICE_NAME); #endif /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
void rt_init_thread_entry(void* parameter) { rt_i2c_core_init(); rt_hw_i2c_init(); rt_hw_spi_init(); rt_hw_mpu6050_init("i2c1", MPU6050_DEFAULT_ADDRESS); rt_motors_hw_init(); apps_copter_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif }
/* thread phase init */ void rt_init_thread_entry(void *parameter) { #ifdef RT_USING_LOGTRACE log_trace_init(); log_trace_set_device(RT_CONSOLE_DEVICE_NAME); #endif #ifdef RT_USING_FINSH /* initialize finsh */ finsh_system_init(); finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif #ifdef RT_USING_VBUS rt_vbus_do_init(); #endif }
static void thread_entry(void* parameter) { /* File System Initialization */ #ifdef RT_USING_DFS { /* initialize the device file system */ dfs_init(); #ifdef RT_USING_DFS_ELMFAT /* initialize the elm FAT file system*/ elm_init(); #endif #ifdef RT_USING_DFS_ROMFS /* initialize romfs */ dfs_romfs_init(); #endif if (dfs_mount(RT_NULL, "/", "rom", 0, DFS_ROMFS_ROOT) == 0) { rt_kprintf("ROM File System initialized!\n"); { do_init(); rt_thread_delay(RT_TICK_PER_SECOND); } } else rt_kprintf("ROM File System initialzation failed!\n"); } #endif usbd_hw_init(); /* set console and finsh to USB vcom */ #ifdef RT_USING_CONSOLE rt_console_set_device("vcom"); #endif #ifdef RT_USING_FINSH finsh_set_device("vcom"); #endif #ifdef RT_USING_USB_HOST rt_usb_host_init(); /* register stm32 usb host controller driver */ rt_hw_susb_init(); rt_device_init_all(); #endif }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* init hardware interrupt */ rt_hw_interrupt_init(); /* init board */ rt_hw_board_init(); rt_show_version(); /* init tick */ rt_system_tick_init(); /* init timer system */ rt_system_timer_init(); /* init memory system */ #ifdef RT_USING_HEAP rt_system_heap_init((void*)&__heap_start, (void*)&__heap_end); #endif /* init scheduler system */ rt_system_scheduler_init(); /* init application */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device("uart1"); #endif /* init soft timer thread */ rt_system_timer_thread_init(); /* init idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }
void rt_init_thread_entry(void* parameter) { { extern void rt_platform_init(void); rt_platform_init(); } /* Filesystem Initialization */ #if defined(RT_USING_DFS) && defined(RT_USING_DFS_ELMFAT) /* initialize the device file system */ dfs_init(); /* initialize the elm chan FatFS file system*/ elm_init(); /* mount sd card fat partition 1 as root directory */ if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) { rt_kprintf("File System initialized!\n"); } else { rt_kprintf("File System initialzation failed!\n"); } #endif /* RT_USING_DFS && RT_USING_DFS_ELMFAT */ #ifdef RT_USING_LWIP /* initialize lwip stack */ /* register ethernetif device */ eth_system_device_init(); /* initialize lwip system */ lwip_system_init(); rt_kprintf("TCP/IP initialized!\n"); #endif #ifdef RT_USING_FINSH /* initialize finsh */ finsh_system_init(); finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif //led_tog_init(); }
/* thread phase init */ void rt_init_thread_entry(void *parameter) { /* initialize platform */ platform_init(); #ifdef RT_USING_LWIP /* register Ethernet interface device */ lpc17xx_emac_hw_init(); /* initialize lwip stack */ /* register ethernetif device */ eth_system_device_init(); /* initialize lwip system */ lwip_system_init(); rt_kprintf("TCP/IP initialized!\n"); #endif /* Filesystem Initialization */ #ifdef RT_USING_DFS rt_hw_sdcard_init(); /* initialize the device file system */ dfs_init(); #ifdef RT_USING_DFS_ELMFAT /* initialize the elm chan FatFS file system*/ elm_init(); #endif /* mount sd card fat partition 1 as root directory */ if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) rt_kprintf("File System initialized!\n"); else rt_kprintf("File System init failed!\n"); #endif #ifdef RT_USING_FINSH /* initialize finsh */ finsh_system_init(); finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* initialize board */ rt_hw_board_init(); /* show version */ rt_show_version(); /* initialize timer system */ rt_system_timer_init(); #ifdef RT_USING_HEAP rt_system_heap_init((void*)STM32_SRAM_BEGIN, (void*)STM32_SRAM_END); #endif #ifdef RT_USING_MODULE rt_system_module_init(); #endif /* initialize scheduler system */ rt_system_scheduler_init(); /* initialize application */ rt_application_init(); #ifdef RT_USING_FINSH /* initialize finsh */ finsh_system_init(); finsh_set_device( FINSH_DEVICE_NAME ); #endif /* initialize timer thread */ rt_system_timer_thread_init(); /* initialize idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }