当前位置: 首页 > news >正文

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设备管理接口最上层的接口调用会层层的从设备驱动框架层到设备驱动层注册的父类方法。

相关文章:

  • Linux相关命令(2)
  • jackson:JSON字符串(String)类型的成员序列化和反序列化
  • 【运维笔记】VM 记录一次centos虚拟机和宿主机之间ping不通的问题
  • 基于 HBase Phoenix 构建实时数仓(5)—— 用 Kafka Connect 做实时数据同步
  • 【Redis知识点总结】(七)——缓存雪崩、缓存穿透、缓存击穿、Redis高级用法
  • ReaLTaiizor开源.NET winform控件库学习使用
  • Redis 不再“开源”,对中国的影响及应对方案
  • docker仓库登录及配置insecure-registries的方法
  • python基础——数据容器总结、通用方法和相互转换
  • (一)Linux+Windows下安装ffmpeg
  • 【Golang星辰图】创造美丽图表,洞察数据:解析Go语言中的数据可视化和数据分析库
  • 一次完整的 HTTP 请求所经历的步骤
  • node.js中常用的命令及示例
  • 「Linux系列」Shell 流程控制if-else/for循环/While循环/until循环/case语句/跳出循环break、continue
  • How to install mongodb on redhat 7.7
  • 《论文阅读》带边界调整的联合约束学习用于情感原因对提取 ACL 2023
  • IDEA 下载依赖包源码报错 Cannot download sources Sources not found for:XXX
  • 云原生相关知识
  • HTML5+CSS3小实例:具有悬停效果的3D闪耀动画
  • 工业相机采图方式、图像格式(BYTE、HObject和Mat)转换
  • 习近平会见古巴国家主席迪亚斯-卡内尔
  • 涨知识|没想到吧,体育老师强调的运动恢复方法是错的?
  • 人民日报评“组团退演出服”:市场经济诚信原则需全社会维护
  • 泽连斯基称与特朗普通话讨论停火事宜
  • 大四本科生已发14篇SCI论文?学校工作人员:已记录汇报
  • 首届上海老年学习课程展将在今年10月举办