Character devices
Character devices are identified in the user space by a special file called a device node. This filename is mapped to a device driver using the major and minor numbers associated with it. Broadly speaking, the major number maps the device node to a particular device driver, while the minor number tells the driver which interface is being accessed. For example, the device node of the first serial port on the Arm Versatile PB is named /dev/ttyAMA0
, and it has major number of 204
and minor number of 64
. The device node for the second serial port has the same major number, since it is handled by the same device driver, but the minor number is 65
. We can see the numbers for all four serial ports from the directory listing here:
# 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...