linux中的的/dev目录下的设备文件怎么生成



linux中的的/dev目录下的设备文件怎么生成。

结合具体的事例来说明我的问题。
我用的板子上烧写好linux系统。我用过一种指南针芯片,它是基于i2c协议的。将这个芯片的2个引脚与与板子上的sdl和scl接上后,通过/dev/i2c这个设备文件就可以控制这个指南针芯片。我的疑问是这个/dev/i2c是怎么生成的?它的生成和arm开发板,linux内核又有什么关系?
更多 0 分享到:

 

 

 

 

对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 回复次数:8
Idle_Cloud
关注
Idle_Cloud
Carl_CCC
本版等级:T7
Blank Blank Blank
#1 得分:0 回复于: 2013-09-02 13:09:02
/dev/i2c这个的生成是内核中调用了相关的代码,创建设备,如果是misc会直接就创建了,字符类的话,会通过mdev来自动创建。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
wbluyang
关注
wbluyang
wbluyang
本版等级:T1
#2 得分:0 回复于: 2013-09-02 15:19:06
linux内核中调用相关的代码来生成这个节点设备文件,那和arm的体系结构有什么联系呢?
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
Idle_Cloud
关注
Idle_Cloud
Carl_CCC
本版等级:T7
Blank Blank Blank
#3 得分:0 回复于: 2013-09-02 17:15:00
arm体系架构和设备节点文件没有任何关系,我认为,层面不一样。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
jiangbei_lengyu
关注
jiangbei_lengyu
jiangbei_lengyu
本版等级:T2
#4 得分:0 回复于: 2013-09-02 19:12:20
你的板子上面有i2c总线设备,你的内核kernel配置了支持这些i2c总线设备的代码。这样当你的板子开机运行后系统probe到你的板子上面有i2c的东西就会生成对应的设备节点。具体生成设备节点的方法可以参看kernel源代码。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
u011958077
关注
u011958077
harrietdeng0725
本版等级:T1
#5 得分:0 回复于: 2013-09-03 23:18:19
device_create()
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
wangyi03
关注
wangyi03
Android
本版等级:T1
#6 得分:0 回复于: 2013-09-04 01:30:55
老方法是手工定设备号,手工创建/dev/xxx, mknod
2.6之后都应该用device_create动态创建,可以忘记设备号了,上层用udev自动创建
对我有用[1] 丢个板砖[0] 引用 | 举报 | 管理
wbluyang
关注
wbluyang
wbluyang
本版等级:T1
#7 得分:0 回复于: 2013-09-06 11:38:26
那pc上的linux中的/dev/下的串口设备文件和arm上linux中的/dev/下的串口设备文件生成有何区别?
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
seek_0380
关注
seek_0380
Eliot_shao
本版等级:T2
#8 得分:0 回复于: 2013-09-14 09:58:52
Linux设备驱动模型里面有比较深入的讲解。
在linux下面一切皆是文件,文件的生成主要是操作系统层次上的了,和平台无关。