EDA365电子论坛网
标题:
利用Linux设备来驱动模型(上)
[打印本页]
作者:
ulppknot
时间:
2019-8-14 10:00
标题:
利用Linux设备来驱动模型(上)
尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。
, Q: R3 N, z8 i1 y f
Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简单了,而程序员只需要去学习接口就行了。
5 s7 F8 X1 U) w- k1 f
在正式进入设备驱动模型的学习之前,有必要把documentation/filesystems/sysfs.txt读一遍(不能偷懒)。sysfs.txt主要描述/sys目录的创建及其属性,sys目录描述了设备驱动模型的层次关系,我们可以简略看一下/sys目录,
& X% l3 C3 a$ Y5 I: r& s
5 w# G' ?2 B" c5 z9 O4 x
2 T2 c/ E" k9 c) V4 W
利用Linux设备来驱动模型(上)-2.png
(2.64 KB, 下载次数: 3)
下载附件
保存到相册
2019-8-13 14:26 上传
5 o( c9 r) } b3 [: ^9 z
7 }/ z+ w+ o) G. z, z
+ ^( q6 t( i; s/ _/ }
block:所有块设备
R! q* v7 B/ R. O$ @8 H- m3 R
devices:系统所有设备(块设备特殊),对应struct device的层次结构
. z# _* m' T- e# ^2 i
bus:系统中所有总线类型(指总线类型而不是总线设备,总线设备在devices下),bus的每个子目录都包含
. ?& g- V, {$ }2 P c
--devices:包含到devices目录中设备的软链接
' p) S$ w- H$ g6 d
--drivers:与bus类型匹配的驱动程序
! @# C! R/ z: ^* J
class:系统中设备类型(如声卡、网卡、显卡等)
7 ~" H4 r2 ?& W8 R3 Z7 i
fs:一些文件系统,具体可参考filesystems /fuse.txt中例子
8 p) g; S: z" C0 Z- O
dev:包含2个子目录
) ?; G& @9 w+ b! i' o8 b1 X+ ~
--char:字符设备链接,链接到devices目录,以<major>:<minor>命名
% z/ a) {2 J" ~/ I8 [- b- @5 w
--block:块设备链接
& s+ M( D' O. @( c8 J; t
2 X. U6 p) r0 s! q
; o+ r4 R& L9 p7 u: c
! _ _( j6 y/ E, W7 @2 U6 a! k
" b1 O2 i/ `( J. X+ I' v: N
) U/ j- I s$ e5 e5 K
/ z& E0 e8 \! v! Z7 N1 ?- n
作者:
wu68aq
时间:
2019-8-14 18:46
看看。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2