找回密码
 注册
关于网站域名变更的通知
查看: 272|回复: 1
打印 上一主题 下一主题

利用Linux设备来驱动模型(上)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-14 10:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。
3 I  @/ B% x. K  D/ \3 Z3 x1 yLinux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简单了,而程序员只需要去学习接口就行了。5 O' y+ z# j& `% t% Y
在正式进入设备驱动模型的学习之前,有必要把documentation/filesystems/sysfs.txt读一遍(不能偷懒)。sysfs.txt主要描述/sys目录的创建及其属性,sys目录描述了设备驱动模型的层次关系,我们可以简略看一下/sys目录,
/ o" J% E; D4 u+ M/ D; |0 T" t2 w! G( f
$ c0 L4 `0 m7 @$ k5 x0 N- M: q6 S
# I: H* y9 |# n# L+ B* J

9 R5 F3 D) m+ |; Y4 `; E# [' f  w- X7 R9 C; `

4 {. I- _: V( S: wblock:所有块设备
1 R5 B; `# g- e: V% odevices:系统所有设备(块设备特殊),对应struct device的层次结构
% H9 D) j! o/ kbus:系统中所有总线类型(指总线类型而不是总线设备,总线设备在devices下),bus的每个子目录都包含0 [- T; q4 i4 o( o6 Q$ Y% V! I
    --devices:包含到devices目录中设备的软链接- t% h' D+ p0 X
    --drivers:与bus类型匹配的驱动程序
) x( N) F0 W4 L3 X9 Z) a8 M: kclass:系统中设备类型(如声卡、网卡、显卡等)+ v: h" `  F8 w$ j1 N) [- A
fs:一些文件系统,具体可参考filesystems /fuse.txt中例子5 s& J0 m$ T4 N9 v! R0 s
dev:包含2个子目录
* S/ c- C+ p  D- X8 G--char:字符设备链接,链接到devices目录,以<major>:<minor>命名
4 J/ X. F  }" g9 ?% G--block:块设备链接
5 m& Y. N: z2 X2 c . P. _/ Q+ P! f6 l8 h
游客,如果您要查看本帖隐藏内容请回复

2 U6 b% x  R' d0 }; N7 U' K
3 x" u3 U4 x+ Z  m
, D3 M/ S# V0 _5 _
2 v) V& f: i7 b# a

# z8 ^$ b9 N* F% t0 K0 U
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 23:49 , Processed in 0.203125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表