资料下载
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线程,这两个线程又是从哪里启动的呢?
![[Java基础]基本概念(上)(标识符,关键字,基本数据类型)](https://img-blog.csdnimg.cn/bea8808e05e64be3b4b30446c351948c.png)


















