主页 > 电脑硬件  > 

rtt的io设备框架面向对象学习-内部调用流程

rtt的io设备框架面向对象学习-内部调用流程

IO设备管理层的对象接口一般调用流程如下 rt_device_find->rt_device_open->rt_device_read->rt_device_write->rt_device_close

再加上各个设备特有使用方法。参见官方文档查看各个设备的是使用方法。

rt_device_find(name)是在对象容器里根据注册时的名字查找到设备对象的rtt基类的指针。如果驱动层的类定义是按照oopc定义的方式(父类一直放到结构体首位)那么此指针也即是驱动层注册时类对象的指针。

rt_device_open做的事是把rt_device_find找到的指针转成设备基类的指针,然后调用设备基类规定的open方法——这个是设备驱动框架层的各个类重写的方法,每个类不一样,然后设备驱动层的各类重写的这个open函数里又会调用它们各自对子类定义的方法,这些方法是设备驱动层(各bsp)实现的方法,这些方法不同bsp实现不同。

反正注册时注册的函数在io设备管理接口最上层的接口调用会层层的从设备驱动框架层到设备驱动层注册的父类方法。

标签:

rtt的io设备框架面向对象学习-内部调用流程由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“rtt的io设备框架面向对象学习-内部调用流程