设备驱动程序接口详解
1. 字符设备
字符设备在用户空间通过一种特殊文件——设备节点来标识。设备节点文件名借助与之关联的主设备号和次设备号映射到设备驱动程序。主设备号将设备节点映射到特定的设备驱动程序,次设备号告知驱动程序正在访问哪个接口。
例如,Arm Versatile PB 上第一个串口的设备节点名为 /dev/ttyAMA0 ,其主设备号为 204,次设备号为 64。第二个串口的主设备号相同,因为由同一设备驱动程序处理,但次设备号为 65。通过以下命令可查看所有四个串口的设备号:
# ls -l /dev/ttyAMA*
crw-rw---- 1 root root 204, 64 Jan 1 1970 /dev/ttyAMA0
crw-rw---- 1 root root 204, 65 Jan 1 1970 /dev/ttyAMA1
crw-rw---- 1 root root 204, 66 Jan 1 1970 /dev/ttyAMA2
crw-rw---- 1 root root 204, 67 Jan 1 1970 /dev/ttyAMA3
标准的主设备号和次设备号列表可在 Documentation/devices.txt 内核文档中找到,但该列表更新不频繁,且不包含上述的 ttyAMA 设备。不过,查看 drivers/tty/serial/amba-pl011.c 内核源代码,可看到主设备号和次设备号的声明:
超级会员免费看
订阅专栏 解锁全文
1164

被折叠的 条评论
为什么被折叠?



