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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。
. `' s6 v5 C0 s& t5 \* j7 c" NLinux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简单了,而程序员只需要去学习接口就行了。7 A6 x5 X" _: X7 B3 W8 w+ D
在正式进入设备驱动模型的学习之前,有必要把documentation/filesystems/sysfs.txt读一遍(不能偷懒)。sysfs.txt主要描述/sys目录的创建及其属性,sys目录描述了设备驱动模型的层次关系,我们可以简略看一下/sys目录,' w! M. c4 K$ S/ y3 q: ?+ Y

9 ]2 j* W: x* _4 ?  X

1 o9 L% y: m+ b- ^( q) c1 ?% i0 k5 D
9 A% r% F0 R2 H) F# c1 {: F' e1 N! W  @3 i

4 z) \# b& S- v8 S$ hblock:所有块设备
/ B6 b% ^* s  \" ?5 v1 I! M! v# Jdevices:系统所有设备(块设备特殊),对应struct device的层次结构
0 p/ O3 ~2 n1 M$ F8 Bbus:系统中所有总线类型(指总线类型而不是总线设备,总线设备在devices下),bus的每个子目录都包含
6 l% O- C! X+ r) M/ c' M2 C    --devices:包含到devices目录中设备的软链接
# K3 K) ~2 W3 d. ~3 V0 q    --drivers:与bus类型匹配的驱动程序
5 I1 G) B5 a. l2 n4 x4 r( yclass:系统中设备类型(如声卡、网卡、显卡等)
3 Q) }  z) U& Q# g* Xfs:一些文件系统,具体可参考filesystems /fuse.txt中例子$ N/ M# H, u; R: B" N/ _
dev:包含2个子目录
! }5 y+ `. S8 }' P--char:字符设备链接,链接到devices目录,以<major>:<minor>命名" ^, b9 f- A; I
--block:块设备链接9 W4 C1 z. p# H( Q: Z8 H4 z
  _4 [( ?  ^+ s* M& b6 I& l
游客,如果您要查看本帖隐藏内容请回复

( V2 B5 @" z; h
4 M* E, D$ G. Z; Y. N( D4 ^" V. V

: W/ ^. R$ E2 r0 U1 z, J% s' q1 \" z. N7 P% l
& D4 V" G/ |% e# U, P" [& ?8 S4 d, a
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 00:16 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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