RT-Thread/stm32 启动过程

来源:互联网 发布:网络主播苏小欣 编辑:程序博客网 时间:2024/05/08 06:08

以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)启动调度器。

 

原创粉丝点击