/** * 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_hw_usart_init(void) { rt_hw_serial_init(&serial1, RT_CONSOLE_DEVICE_NAME); /* * create serial thread that receive key input from keyboard */ OSKey_Thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadforKeyGet, 0, CREATE_SUSPENDED, &OSKey_ThreadID); if (OSKey_Thread == NULL) { //Display Error Message return; } SetThreadPriority(OSKey_Thread, THREAD_PRIORITY_NORMAL); SetThreadPriorityBoost(OSKey_Thread, TRUE); SetThreadAffinityMask(OSKey_Thread, 0x01); /* * Start OS get key Thread */ ResumeThread(OSKey_Thread); }
/** * 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 ; }
void rt_hw_usart_init(void) { int res; rt_hw_serial_init(&serial1, RT_CONSOLE_DEVICE_NAME); res = pthread_create(&OSKey_Thread, NULL, &ThreadforKeyGet, NULL); if (res) { printf("pthread create faild, <%d>\n", res); exit(EXIT_FAILURE); } }
/** * This function will init LPC2478 board */ void rt_hw_board_init() { #if defined(RT_USING_DEVICE) && defined(RT_USING_UART1) rt_hw_serial_init(); rt_console_set_device("uart1"); #endif T0IR = 0xff; T0TC = 0; T0MCR = 0x03; T0MR0 = (DATA_COUNT); rt_hw_interrupt_install(TIMER0_INT, rt_timer_handler, RT_NULL, "tick"); rt_hw_interrupt_umask(TIMER0_INT); T0TCR = 0x01; //enable timer0 counter }
/** * This function will initial FM3 Easy Kit board. */ void rt_hw_board_init(void) { /* disable all analog input. */ FM3_GPIO->ADE = 0; /* init systick */ SysTick_Config(SystemCoreClock/RT_TICK_PER_SECOND); /* initialize UART device */ rt_hw_serial_init(); /* set console as UART device */ rt_console_set_device(RT_CONSOLE_DEVICE_NAME); #ifdef RT_USING_COMPONENTS_INIT rt_components_board_init(); #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 #ifdef __CC_ARM rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)LM3S_SRAM_END); #elif __ICCARM__ rt_system_heap_init(__segment_end("HEAP"), (void*)LM3S_SRAM_END); #else /* init memory system */ rt_system_heap_init((void*)&__bss_end, (void*)LM3S_SRAM_END); #endif #endif #ifdef RT_USING_MODULE /* init module system */ rt_system_module_init(); #endif /* init scheduler system */ rt_system_scheduler_init(); #ifdef RT_USING_LWIP eth_system_device_init(); /* register ethernetif device */ rt_hw_luminaryif_init(); #endif /* init hardware serial device */ rt_hw_serial_init(); #ifdef RT_USING_DFS /* init sd card device */ rt_hw_sdcard_init(); #endif /* 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 idle thread */ rt_thread_idle_init(); /* start scheduler */ rt_system_scheduler_start(); /* never reach here */ return ; }