linux 驱动分类
2013-11-18 18:06
162 查看
linux 驱动分类
linux驱动的分类跟Wince不同,wince是分成流驱动和本机驱动两种类型,而linux分为字符设备驱动、网络设备驱动、块设备驱动。如果要比较这两种系统的驱动类型的话,应该是字符设备驱动跟流驱动类似,本机驱动跟块设备驱动类似。
今天其实准备写一个简单的驱动来模拟操作一下IO,参考其它代码的时候,一下子就被几个函数给弄混了。
register_chrdev();platform_driver_register();misc_register();
大家看明白了没有,它们对应char driver,platform driver,misc driver的注册。(注意这些函数的概念跟字符设备,块设备这些不是同级的概念,它们只是系统提供的驱动注册的一些方式。)
我在SDK搜了一下上面三个函数,然后稍微归一下类:
chrdev:scsi,macintosh,isdn\capi,char\pcmcia,\net\wan
platform:serial,touchscreen,backlight,misc,otg,video,watchdog
misc:watchdog,macintosh,\mtd\ubi
总结:根据上面的信息来看,我觉得有些驱动三种方式都可以采用。更细的来说:
platform 机制将设备本身的资源注册进内核,由内核统一管理,在驱动程序中使用这些资源时通过 platform device 提供的标准接口进行申请并使用。这样提高了驱动和资源管理的独立性,并且拥有较好的可移植性和安全性 ( 这些标准接口是安全的 ) 。所以它的应用场景是适合那些比较独立的,跟CPU关联性强的驱动,如果SPI,serial等。
chrdev 没有platform严格,它比platform少了几个函数,可以合入内核也可以有module的方式从外部加载,方便调试。它的适应场景我觉得都可以,但是以platform为优先原则。
misc 我觉得内部应该跟chrdev是一样的,只是按名字来说是个杂项混合驱动,它的适应场景更应用于一些跟其它驱动相关的设备的驱动,比如说某些用I2C或SPI驱动的设备。
相关文章推荐
- V4L2驱动的移植与应用(三) 分类: arm-linux-Ubuntu 2013-08-16 08:41 473人阅读 评论(0) 收藏
- linux下摄像头驱动分类
- linux下驱动模块化编译,动态加载以及卸载 分类: arm-linux-Ubuntu 2015-05-30 16:24 172人阅读 评论(0) 收藏
- Linux驱动程序第二章——驱动分类
- 开辟新分类--c++、Linux驱动和内核
- linux分类驱动对字符设备框架压力的卸载
- linux分类驱动对字符设备框架压力的卸载
- 在U-boot中添加以太网驱动 分类: arm-linux-Ubuntu HI3531 2013-12-24 09:21 784人阅读 评论(0) 收藏
- 如何实现Linux下的U盘(USB Mass Storage)驱动 分类: arm-linux-Ubuntu 2014-05-04 18:03 565人阅读 评论(0) 收藏
- OTG驱动分析(一) 分类: arm-linux-Ubuntu USB OTG驱动 2015-06-02 17:32 315人阅读 评论(0) 收藏
- Davinci DM6446开发攻略——LINUX GPIO驱动源码移植 分类: DSP 2013-07-22 16:30 381人阅读 评论(0) 收藏
- OTG驱动分析(二) 分类: arm-linux-Ubuntu USB OTG驱动 2015-06-02 17:34 319人阅读 评论(0) 收藏
- Linux 下的Bluetooth 架构 分类: Android驱动 2012-03-16 11:07 492人阅读 评论(0) 收藏 举报 实战Linux Bluetooth编程(一) 协议栈概述
- Linux 驱动分类 与访问技术
- V4L2驱动的移植与应用(二) 分类: arm-linux-Ubuntu 2013-08-16 08:40 511人阅读 评论(0) 收藏
- Linux 下的Bluetooth 架构 分类: Android驱动 2012-03-16 11:07 492人阅读 评论(0) 收藏 举报 实战Linux Bluetooth编程(一) 协议栈概述
- 实例:触摸屏驱动-2.用input子系统报告事件 分类: linux_内核_input模型 2013-07-10 09:39 327人阅读 评论(0) 收藏
- linux 设备驱动分类
- ubuntu14.04 编译安装highpoint rocketraid 2720驱动 分类: arm-linux-Ubuntu 2015-01-22 17:18 321人阅读 评论(0) 收藏
- 慢慢学Linux驱动开发,第九篇,tiny6410_LED驱动