社区
Linux_Kernel
帖子详情
多个同样的设备,驱动怎么写??
汗晕倒
2011-03-17 02:52:03
有几个同样的设备,驱动应该就要一份就可以了吧,这个怎么写呢??
我在只能当它们是不一样的,然后每个设备给一份驱动,这样写好浪费啊。。。
麻烦大侠,给点资料或例子看看~~
如果用主设备号+次设备号,那么怎么去访问它呢??在 /dev目录下是不是有多个节点还是只有一个节点??
...全文
199
6
打赏
收藏
多个同样的设备,驱动怎么写??
有几个同样的设备,驱动应该就要一份就可以了吧,这个怎么写呢?? 我在只能当它们是不一样的,然后每个设备给一份驱动,这样写好浪费啊。。。 麻烦大侠,给点资料或例子看看~~ 如果用主设备号+次设备号,那么怎么去访问它呢??在 /dev目录下是不是有多个节点还是只有一个节点??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
thunder__god
2011-07-03
打赏
举报
回复
每天回帖即可获得10分可用分
远古
2011-07-03
打赏
举报
回复
platform_devices 和platform_driver是通过名字匹配的,因此,驱动只有一个就可以了,而platform_devices则注册多个,根据具体的设备,可能结构体中有些变量是不一样的,但名字都和platform_driver中的名字一样,最后register这些platform_devices时都会被这个platform_driver自动匹配驱动上。
confidence321
2011-04-09
打赏
举报
回复
这是多个类似的设备吧,我移植过一个扩展串口的驱动,用FPGA扩展12个串口。
你需要每个设备都有一个file_operations,如fops_0,fops_1,fops_2.,组成一个数组fops_array[]。然后再写一个总的file_operations如 fops_all. 只要在 fops_all的open,release方法中做filp->f_ops()更新,关联到某个特定的fops_n就行。 然后只要在读写方法中用portnumber加以区分即可。
在LDD3里的open一节,有这个方法。哈哈,祝你好运。
Wenxy1
2011-04-08
打赏
举报
回复
注册时注册多个设备即可。
参考LDD第3版中的例子!
汗晕倒
2011-03-17
打赏
举报
回复
[Quote=引用 1 楼 jee44 的回复:]
根据硬件的位置会建立多个实例,一般不同设备在dev目录下看到类似/dev/xxx0、/dev/xxx1的节点名字
[/Quote]
可否给个例子??
我现在用platform_driver 这个结构去获得一个设备,那这样是一对一的,就是说是一个驱动对应一个设备。多个实例这个怎么写,提示一下相关api,谢谢~
Jee44
2011-03-17
打赏
举报
回复
根据硬件的位置会建立多个实例,一般不同设备在dev目录下看到类似/dev/xxx0、/dev/xxx1的节点名字
Linux
驱动
之USB
设备
驱动
当一个USB
设备
被插入的时候,USB
设备
驱动
,也就是usb_generic_driver会跟USB
设备
交互,得到其所有的各种描述符,并为每个接口都定义成为一个device,之后再加载到usb_bus上,让其去匹配其对应的接口
驱动
程序。
(四)Linux
设备
驱动
之
多个
同类
设备
共用一套
驱动
本系列导航 (一)初识Linux
驱动
(二)Linux
设备
驱动
的模块化编程 (三)
写
一个完整的Linux
驱动
程序访问硬件并
写
应用程序进行测试 (四)Linux
设备
驱动
之
多个
同类
设备
共用一套
驱动
(五)Linux
设备
驱动
模型介绍 (六)Linux
驱动
子系统-I2C子系统 (七)Linux
驱动
子系统-SPI子系统 (八)Linux
驱动
子系统-PWM子系统 (九)Linux
驱动
子系统-Light子系统 ...
一个
驱动
程序对应
多个
设备
主要讲解一个
驱动
程序创建两个
设备
的例子
Linux
设备
驱动
开发入门之——hello
驱动
1. Linux
驱动
程序的分类 Linux 中主要分为三大类
驱动
:字符
设备
驱动
、块
设备
驱动
和网络
设备
驱动
。 1、字符
设备
驱动
:因为软件操作
设备
是是以字节为单位进行的,是按照字节流进行读
写
操作的一种
设备
。典型的如LCD、蜂鸣器、SPI、触摸屏等
驱动
,都属于字符
设备
驱动
的范畴。大部分的
驱动
程序都是属于字符
设备
驱动
。 2、块
设备
驱动
:块
设备
驱动
是相对于字符
设备
驱动
而定义的,因为块
设备
被软件操作时,是以块为单位进行操作的(块指的是
多个
字节组成一个块)。块
设备
大多指的都是各种存储类类
设备
,比如EMMC、SD卡、NAN
linux
驱动
开发学习笔记四:
设备
驱动
的作用?裸机
设备
驱动
和linux系统中的
设备
驱动
有什么区别?
一、什么是
设备
驱动
及其作用? 任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,而没有软件的硬件则只是一堆废铁。 硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合逻辑与时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而设计,满足了用户的需求。硬件较固定,软件...
Linux_Kernel
4,436
社区成员
17,459
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章