免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1833 | 回复: 7
打印 上一主题 下一主题

linux设备模型!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-23 21:49 |只看该作者 |倒序浏览
我相信很多驱动入了一点门道的人都可能对有一些驱动都感觉有一点好奇!
首先,我得向版主借这块宝地呀!和大家交流一下,因为我在驱动版块发过此贴,感觉大家没有交流够深,草草了事了!
我在此再来和大家一起来交流一下.
看有一些驱动,写成字符也可以!以字符注册方式也可.用设备驱动(device_driver)注册也可以,然后在BUS当中又增加了一个,名为***的总线,要不就又有一个类出现在/SYS/CLASS里面!
2.4内核就直观一点,随意的放,反正它就是一个驱动,在DEV下都能看到!只要注意主次设备号就可以了!
2.6驱动分得细,首先总线,总线上挂多个设备,再下面又有好多个驱动!当你热拔插某个设备时,相对的总线就找寻设备,再设备去添加/删除具体的某一个驱动!!而设备又分为某一个设备的类!!所以感觉它下面的驱动和我们平常写的不一样.有时注册用driver_register(),然后也没有,bus_type的注册出现.就这样完事,但是我们在根文件下面哪个地方能看到呢!!系统又是怎么将它放置归属?一般我们通常都是要bus_type作为引导线,会后将驱动放置!只是与我们平常写的字符驱动,块驱动,网络驱动!怎么一个关联的方式!?
我看了一个kobjet的介绍也,太繁琐了,我没有看下去!最后,我就跑来发贴!

我都快晕了!找不到一个联系的头绪!!我好混淆!!请大家支招!!!

谢谢大家观注!!

[ 本帖最后由 shuiyu123 于 2009-4-23 22:17 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-04-23 22:14 |只看该作者
http://blog.chinaunix.net/u/25764/showart_1165984.html
2.6内核驱动模型非常复杂,要搞懂内在联系是要花相当的精力
我一般都是了解接口就行了,专注于协议和硬件原理

论坛徽章:
0
3 [报告]
发表于 2009-04-23 22:27 |只看该作者

回复 #2 sep 的帖子

协议和硬件原理!!这个当然!
但是,我们写的驱动不是单一的去运行!要加载到内核里面.顺同系统一起运行!假如一个USB驱动,系统没有自带,那就要自己去写.在写的过程中,我们是否要考虑到此驱动放置何总线下!如何让突如其来的热拔插设备,找到属于它自己的驱动?这个动作我们又是怎样去安排它发生!!!

论坛徽章:
0
4 [报告]
发表于 2009-04-23 22:38 |只看该作者
原帖由 shuiyu123 于 2009-4-23 22:27 发表
协议和硬件原理!!这个当然!
但是,我们写的驱动不是单一的去运行!要加载到内核里面.顺同系统一起运行!假如一个USB驱动,系统没有自带,那就要自己去写.在写的过程中,我们是否要考虑到此驱动放置何总线下!如何让突 ...

所以说接口编程很重要啊
你自己要研究来龙去脉还好说,但如果出来工作的,哪有那么多时间给你去懂内核、懂协议?等你什么都弄懂了,市场早就凉了
再说技术日新月异,一个人不可能可以兼顾那么多

内核有太多参考,就算你的设备是新的,但是总可以找到类似的代码,ctrl+c、ctrl+v就足够把Linux的驱动框架搭出来了,剩下也只是协议、时序的分析。当然如果是内核开发,另当别论

评分

参与人数 1可用积分 +12 收起 理由
T-bagwell + 12 我很赞同

查看全部评分

论坛徽章:
0
5 [报告]
发表于 2009-04-23 22:40 |只看该作者
内核版的版主说过,驱动开发是体力活。这其实是对的

论坛徽章:
0
6 [报告]
发表于 2009-04-23 22:45 |只看该作者
原帖由 sep 于 2009-4-23 22:40 发表
内核版的版主说过,驱动开发是体力活。这其实是对的


照兄台说来!驱动开发,在于移植!!像你所说只注意一些协议、时序的分析!一个驱动都是修修添添完成!

评分

参与人数 1可用积分 +12 收起 理由
T-bagwell + 12 我很赞同

查看全部评分

论坛徽章:
0
7 [报告]
发表于 2009-04-23 22:51 |只看该作者
原帖由 shuiyu123 于 2009-4-23 22:45 发表


照兄台说来!驱动开发,在于移植!!像你所说只注意一些协议、时序的分析!一个驱动都是修修添添完成!

我的情况就这样了
教我这样做的人也是这样的
我做驱动时花时间最多的不是在代码身上,而在示波器
总线设备还没做过,估计那个也是协议分析占工作量

论坛徽章:
0
8 [报告]
发表于 2009-04-26 00:17 |只看该作者
天使兄台说的不错啊,我写驱动基本上也是这样子的,是花了大部分的时间在理解别人写的驱动,然后自己添加或删除点什么,然后就是调试了。。。精力基本上都是在最最底层的芯片驱动上,而像什么kobject 之类核心的东西理解的就少多了,不做内核的话,估计是没有机会修改这类代码的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP