本文介绍的启动过程是基于STM32F103系列MCU上运行的RTT实时操作系统
以下执行步骤通过MDK的debug模式进行单步执行,得出该系统实际的启动过程
代码执行步骤如下
- 和裸机相同,第一步执行SystemInit()进行系统时钟初始化,如下图启动文件所示
- 执行第二步就和裸机不同了,这里不是执行_main函数,而是执行RTT的main 函数
$Sub$$main
int rtthread_startup(void)
这个函数就是一些启动过程执行的函数集合,主要有中断失能,硬件初始化,显示版本,RTT系统的时钟初始化,然后就是最重要的任务创建和调用我们平时所使用的main()函数,如下图所示:- 总的启动过程如下面的流程图所示: