RTT这个RTOS虽然是全部是用C编写,但全程使用的都是面向对象的编程方式。所以最好的研究方式,就是从对象入手,分析代码各部分所包含的对象以及对象的方法函数。
首先先了解下与thread相关的对象,主要有三个:
1、RTT最基本的对象:rt_object
2、线程对象:rt_thread
3、定时器对象:rt_timer
这里发现一个现象,按正常逻辑来说rt_thread应该和rt_timer一样,有一个成员直接是rt_object,这样就是明显的继承关系,但是实际代码中rt_thread中申明了和rt_object相同的一组成员:
name,type,flag,以及list这里和其他类的不统一具体原因还需要之后继续研究,这不能说是个bug,只能算是代码风格上的一点不统一。
|