以stm32f107为例:
从链接脚本(bsp/stm32f107/stm32_rom.ld)中可以看到,程序的入口在Reset_Handler(),该函数位于bsp/stm32f107/Libraries/CMSIS/DeviceSupport/ST/STM32F10x/start_up/gcc-ride7/startup_stm32f10x_cl.s中,Reset_Handler()最后调用SystemInit()和C库中的main,C库中的main最终会调用main()函数。
SystemInit()函数位于bsp/stm32f107/Libraries/CMSIS/DeviceSupport/ST/STM32F10x/system_stm32f10x.c。
main()函数位于bsp/stm32f107/startup.c。
main()函数调用同文件中的rtthread_startup()。
rtthread_startup()进行一些初始化后调用rt_system_scheduler_start()(位于src/sheduler.c)启动调度器。