/** * 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 init_thread(void* parameter) { eth_system_device_init(); lwip_system_init(); dfs_init(); elm_init(); rt_hw_uart_init("uart0", 0); rt_console_set_device("uart0"); rt_kprintf("rt-thread system start!\r\n"); finsh_system_init(); rt_hw_dflash_init("dflash0"); dfs_mount("dflash0", "/", "elm", 0, 0); rt_hw_enet_phy_init(); rt_kprintf("waitting for connection..."); /* tcp server demo */ extern void tcpserv(void* parameter); tcpserv(RT_NULL); }
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 init_thread(void* parameter) { rt_thread_t tid; rt_system_comonent_init(); rt_hw_uart_init("uart0", 0); rt_console_set_device("uart0"); rt_hw_sd_init("sd0"); rt_hw_rtc_init(); rt_hw_spi_init(); rt_hw_pin_init("gpio"); rt_hw_i2c_bit_ops_bus_init("i2c0"); at24cxx_init("at24c02", "i2c0"); rt_hw_ads7843_init("ads7843", "spi20"); w25qxx_init("sf0", "spi21"); rt_hw_lcd_init("lcd0"); finsh_system_init(); // tid = rt_thread_create("usb", usb_thread_entry, RT_NULL, 1024, 9, 20); // rt_thread_startup(tid); if((*(uint32_t*)0x60000) != 0xFFFFFFFF) { tid = rt_thread_create("init", (void*)(0x60000), RT_NULL, 1024, 8, 20); rt_thread_startup(tid); } else { printf("addr:0x%X has no application\r\n", 0x60000); } rt_hw_enet_phy_init(); tid = rt_thread_self(); rt_thread_delete(tid); }
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 ; }
int rt_application_init(void) { /* Set finsh device */ #ifdef RT_USING_FINSH /* initialize finsh */ finsh_system_init(); #endif return 0; }
void rt_init_thread_entry(void* parameter) { rt_hw_userled_init(); /* init finsh */ #ifdef RT_USING_FINSH finsh_system_init(); #endif /* RT_USING_FINSH */ }
/** * 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 ; }
void rt_init_thread_entry(void* parameter) { /* initialize MTD nand device */ #ifdef RT_USING_SPI rt_hw_spi_init(); gd5f1g_init(); #endif nand_hy27uf_hw_init(); /* initialize finsh shell Component */ finsh_system_init(); }
/** * 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 ; }
/** * 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 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 ; }
/** * 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 }
void rt_init_thread_entry(void* parameter) { /* initialize spi driver */ rt_hw_spi_init(); /* initialize LCD drv for GUI */ rtgui_lcd_init(); /* initialize GUI system */ rtgui_system_server_init(); /* initialize keyboard */ rt_hw_key_init(); /* initialize touch */ touch_calibration_init(); /* say hello world in screen */ ui_hello(); finsh_system_init(); }
/** * 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 }
void rt_init_thread_entry(void* parameter) { /* initialize LCD drv for GUI */ rtgui_lcd_init(); /* Filesystem Initialization */ mci_hw_init("sd0"); /* 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"); #if (RT_DFS_ELM_USE_LFN != 0) && (defined RT_DFS_ELM_CODE_PAGE_FILE) { extern void ff_convert_init(void); ff_convert_init(); } #endif } else { rt_kprintf("File System initialzation failed!\n"); } /* initialize GUI system */ rtgui_system_server_init(); /* initialize keyboard */ rt_hw_key_init(); /* initialize touch */ rt_hw_spi_init(); rtgui_touch_hw_init(); /* GUI examples initializtion */ application_init(); finsh_system_init(); }
/** * 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 ; }
void rt_init_thread_entry(void* parameter) { int ch; rt_thread_delay(RT_TICK_PER_SECOND); { extern void rt_platform_init(void); rt_platform_init(); } #ifdef RT_USING_FINSH /* initialize finsh */ finsh_system_init(); finsh_set_device(RT_CONSOLE_DEVICE_NAME); rt_thread_delay(10); /* wait finsh thread init OK */ if(rt_strncmp(RT_CONSOLE_DEVICE_NAME, "bridge", sizeof("bridge")) == 0) finsh_set_echo(0); #endif rt_console_set_device(RT_CONSOLE_DEVICE_NAME); rt_show_version(); }
void rt_init_thread_entry(void* parameter) { rt_i2c_core_init(); rt_hw_i2c_init(); rt_hw_spi_init(); //³õʼ»¯Ä£ÄâI2C //I2C_Soft_Init(); rt_hw_mpu6050_init("i2c1", MPU6050_DEFAULT_ADDRESS); rt_motors_hw_init(); /* LwIP Initialization */ #ifdef RT_USING_LWIP { extern void lwip_sys_init(void); /* register ethernetif device */ eth_system_device_init(); /* initialize wifi interface */ rt_hw_wifi_init("spi10"); /* init lwip system */ lwip_system_init(); rt_kprintf("TCP/IP initialized!\n"); set_if("w0","192.168.3.9","192.168.3.1","255.255.255.0"); rw009_join("rtthread_11n","rtthread_finsh"); } #endif apps_copter_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif }
void os_Start() { /* disable interrupt first */ os_interrupt_Disable(); /* 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 EXTSRAM_ENABLE #ifdef __CC_ARM rt_system_heap_init((void*)&Image$$RW_RAM1$$ZI$$Limit, (void*)(EXTSRAM_BASE_ADR + EXTSRAM_SIZE)); #elif __ICCARM__ rt_system_heap_init(__segment_end("HEAP"), (void*)(EXTSRAM_BASE_ADR + EXTSRAM_SIZE)); #else /* init memory system */ rt_system_heap_init((void*)&__bss_end, (void*)(EXTSRAM_BASE_ADR + EXTSRAM_SIZE)); #endif #else #ifdef __CC_ARM rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)(MCU_SRAM_BASE_ADR + MCU_SRAM_SIZE)); #elif __ICCARM__ rt_system_heap_init(__segment_end("HEAP"), (void*)(MCU_SRAM_BASE_ADR + MCU_SRAM_SIZE)); #else /* init memory system */ rt_system_heap_init((void*)&__bss_end, (void*)(MCU_SRAM_BASE_ADR + MCU_SRAM_SIZE)); #endif #endif #endif /* init scheduler system */ rt_system_scheduler_init(); /* init console to support rt_kprintf */ #ifdef RT_USING_CONSOLE #ifdef RT_USING_DEVICE rt_hw_console_init(); #endif rt_console_set_device("uart1"); /* show version */ rt_show_version(); #endif #ifdef RT_USING_DEVICE /* init hardware serial device */ rt_device_init_all(); #endif #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(); /* init application */ os_thd_Create(OsEntry, 200); /* start scheduler */ rt_system_scheduler_start(); }
/** * RT-Thread Components Initialization */ void rt_components_init(void) { #ifndef _MSC_VER #ifdef RT_DEBUG_INIT int result; const struct rt_init_desc *desc; rt_kprintf("do components intialization.\n"); for (desc = &__rt_init_desc_rti_board_end; desc < &__rt_init_desc_rti_end; desc ++) { rt_kprintf("initialize %s", desc->fn_name); result = desc->fn(); rt_kprintf(":%d done\n", result); } #else const init_fn_t *fn_ptr; for (fn_ptr = &__rt_init_rti_board_end; fn_ptr < &__rt_init_rti_end; fn_ptr ++) { (*fn_ptr)(); } #endif #else #ifdef RT_USING_MODULE rt_system_module_init(); #endif #ifdef RT_USING_FINSH /* initialize finsh */ finsh_system_init(); finsh_set_device(RT_CONSOLE_DEVICE_NAME); #endif #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_DFS /* initialize the device file system */ dfs_init(); #ifdef RT_USING_DFS_ELMFAT /* initialize the elm chan FatFS file system*/ elm_init(); #endif #if defined(RT_USING_DFS_NFS) && defined(RT_USING_LWIP) /* initialize NFSv3 client file system */ nfs_init(); #endif #ifdef RT_USING_DFS_YAFFS2 dfs_yaffs2_init(); #endif #ifdef RT_USING_DFS_UFFS dfs_uffs_init(); #endif #ifdef RT_USING_DFS_JFFS2 dfs_jffs2_init(); #endif #ifdef RT_USING_DFS_ROMFS dfs_romfs_init(); #endif #ifdef RT_USING_DFS_RAMFS dfs_ramfs_init(); #endif #ifdef RT_USING_DFS_DEVFS devfs_init(); #endif #endif /* end of RT_USING_DFS */ #ifdef RT_USING_NEWLIB libc_system_init(RT_CONSOLE_DEVICE_NAME); #else /* the pthread system initialization will be initiallized in libc */ #ifdef RT_USING_PTHREADS pthread_system_init(); #endif #endif #ifdef RT_USING_RTGUI rtgui_system_server_init(); #endif #ifdef RT_USING_USB_HOST rt_usb_host_init(); #endif #endif }
/** * This function will startup RT-Thread RTOS. */ void rtthread_startup(void) { /* 初始化硬件平台相关:时钟设置、中断设置、系统滴答设置、串口设置 */ rt_hw_board_init(); /* init tick */ rt_system_tick_init(); /* 内核对象初始化 */ rt_system_object_init(); /* 系统定时器初始化 */ 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 /* 系统调度器初始化 */ rt_system_scheduler_init(); #ifdef RT_USING_DFS /* init sdcard driver */ #if STM32_USE_SDIO rt_hw_sdcard_init(); #else rt_hw_msd_init(); #endif #endif /*下面可加入用户所需的相关初始化 */ /*上面可加入用户所需的相关初始化 */ /* 实时时钟初始化 */ #if(0) rt_hw_rtc_init(); #endif /* 系统设备对象初始化 */ rt_device_init_all(); /* 用户应用初始化 */ rt_application_init(); #ifdef RT_USING_FINSH /* init finsh */ finsh_system_init(); finsh_set_device("uart1"); #endif /* 初始化软件定时器 */ rt_system_timer_thread_init(); /* 初始化空闲线程 */ rt_thread_idle_init(); /* 开始线程调度 此后便进入各个线程的无限循环 */ rt_system_scheduler_start(); /* never reach here */ return ; }