资料下载
RT-Thread Simulator 例程
操作流程
- 将上面的仿真例程下载并解压,通过
MDK
打开,编译,调试,并打开串口点击运行,就可以看到如下输出了:
- 添加自己的
thread
:在main()
函数中添加即可,如下图:
启动流程
- 首先是通过
startup_stm32f103xe.s
启动文件调用SystemInit()
,系统初始化完成后,调用C库
函数__main()
,然后由__main()
调用用户的main()
函数。但是,由于ARMCC
编译器的特性,可以在调用main()
函数前插入一个$Sub$$main()
函数(其他编译器也有类似特性)。rt-thread
就是利用了这个特性,使所有的硬件、系统初始化都在$Sub$$main()
函数完成,而不需要用户在main()
中调用。
- 接下来看看
rtthread_startup()
函数:
- 我们进入到 rt_application_init() 函数去看一下:
- 以上就是系统的启动即初始化流程,以及实现自己的
thread
的操作流程。但是我们明明还要其他的thread
在运行啊,比如上面图一
中的tshell
和tidle
线程,这两个线程又是从哪里启动的呢?