bsp/stm32f40x/project.uvproj同普通 MDK 專案,system_stm32f4xx.c 中 SystemInit() 配置時鐘。
int main(void) {
rt_hw_interrupt_disable(); // 關總中斷
rtthread_startup(); // 啟動 RT-Thread,不再返回
}
rt_hw_board_init():板級外設初始化 (UART, LED 等)。rt_show_version():打印版本信息。rt_system_tick_init():配置 SysTick 定時器 (1ms 典型)。rt_system_object_init():內核對象管理器初始化。rt_system_timer_init():定時器列表初始化。rt_system_heap_init():系統堆內存池初始化。rt_system_scheduler_init():調度器就緒列表初始化。rt_application_init():用戶應用線程創建掛鉤(在此創建業務線程)。finsh_system_init():FinSH 控制台初始化。rt_system_timer_thread_init():定時器線程啟動。rt_thread_idle_init():空閒線程創建(最低優先級)。rt_system_scheduler_start():啟動調度,OS 正式接管 CPU。在 board.h 包含驅動頭文件,rt_hw_board_init() 中調用初始化函數。