设备驱动程序接口全解析
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 内核源代码,可看到主设备号和次设备号的声明:
超级会员免费看
订阅专栏 解锁全文
2184

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



