基于RT-Thread的IO设备模型

一、IO设备的基本结构是什么?是干什么的?

                        IO设备分为三层,在硬件层和应用程序层之间,嵌入式的硬件设备种类是特别多的。 RT_Thread操作系统不可能把所有的硬件设备全部包含,只包含了一些常用的硬件设备,如果我们想用一些特殊的传感器设备,就得自己写驱动,我们就必须按照这个设备驱动的框架去完成设备驱动的注册。应用层在使用的时候,通过标准的接口来实现对硬件设备的访问。

二、IO设备模型的三层框架分别是什么?

1.设备驱动层

设备驱动层就是针对于各类设备写的一个驱动,来驱动自己想要用的传感器设备以及一些外设,比如初始化串口,是选择读串口还是写串口还是读写,这些按照标准的框架以后,应用层直接调用统一的接口函数就可以访问硬件设备。

2.设备驱动框架层

设备驱动层必须遵循设备驱动框架层的管理,不同的设备类型有不同的框架,我们写任何一个设备驱动按设备的类型进行分类,然后使用对应类型的设备驱动框架来完成驱动的编写。

3.IO设备管理层

IO设备管理层把IO设备管理接口分成了多个块儿,应用程序通过IO设备管理接口最终访问到硬件设备

三、有哪些IO设备模型?

RT-Thread 支持多种 I/O 设备类型,主要设备类型如下所示
RT_Device_Class_Char = 0, /**< character device */

RT_Device_Class_Block, /**< block device */

RT_Device_Class_NetIf, /**< net interface */

RT_Device_Class_MTD, /**< memory device */

RT_Device_Class_CAN, /**< CAN device */

RT_Device_Class_RTC, /**< RTC device */

RT_Device_Class_Sound, /**< Sound device */

RT_Device_Class_Graphic, /**< Graphic device */

RT_Device_Class_I2CBUS, /**< I2C bus device */

RT_Device_Class_USBDevice, /**< USB slave device */

RT_Device_Class_USBHost, /**< USB host bus */

RT_Device_Class_SPIBUS, /**< SPI bus device */

RT_Device_Class_SPIDevice, /**< SPI device */

RT_Device_Class_SDIO, /**< SDIO bus device */

RT_Device_Class_Timer, /**< Timer device */

RT_Device_Class_Miscellaneous, /**< misc device */

RT_Device_Class_Sensor, /**< Sensor device */

RT_Device_Class_Touch, /**< Touch device */

RT_Device_Class_Unknown /**< unknown device*/
                        
原文链接:https://blog.csdn.net/qq_25218501/article/details/132264821

四、写IO设备模型实例需要注意哪些?

写驱动时要记得首先写出板机初始化函数

创建好后要进行注册IO设备

设备被创建后需要实现它访问硬件的操作方法,方法在创建后的返回值里,本例是在demo_dev里,指向init初始化,open打开等方法。然后按照数据类型去定义函数。

  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值