一、通过对象容器进行管理的,
对象容器就像系统的监控器一样,监控系统,系统咋干嘛都知道,是个全局性得管理系统。

二、内核对象基类派生出设备对象基类,设备对象基类是对对象基类的继承和派生。
具体设备类型继承了设备对象基类,是设备对象基类的派生。
这种结构很像树的结构。
也就是大家都是有一个老祖宗,都是同血缘!同宗同族!任何对象都是内核对象的派生!线程呀啥呀,都是内核对象的子孙。内核对象实质就是一个结构体而已!

三、管理流程
分三层:IO设备管理层、驱动设备框架层、设备驱动层。

对于简单的设备,如串口等,可以绕过驱动设备框架层,直接注册到IO设备管理层。

对于复杂的设备管理流程:例如看门狗,先把驱动设备注册到驱动管理架构层,驱动管理框架层再注册到IO设备管理层。

四、设备注册
注册的目的是将三层联系在一起,就是把上层的借口和设备驱动操作关联起来。这样应用层只需知道这个设备对象的名字就可以操作它了。

设备注册,是将设备的驱动操作函数关联起来,就是将该具体设备的操作函数指针绑定到该设备的结构体里(设备对象控制块),然后把该设备的结构体再放到容器中。
这样的话msh就可以查看了它的运行状态啥的。

思路是这么个思路。

具体:
1,创建设备控制块
2,填充设备控制块
3,将设备控制块注册到对象容器中

五、对于串口关注点
设备流模式 RT_DEVICE_FLAG_STREAM 参数用于向串口终端输出字符串:当输出的字符是 “\n” 时,自动在前面补一个 “\r” 做分行。

问题:注册到设备管理器上?
答:就是填充串口设备变量。
设备管理器是个啥东西?
答:就是内核对象容器。