常见的字符设备都有其对应的设备类别和驱动。以下是一些常用的标准字符设备驱动类别及实例:
-
TTY设备:
- 终端设备(如控制台ttyS即串行端口COM口)
- 虚拟终端(如pts伪终端,用于进程间通信以及shell登录)
-
Input子系统:
- 键盘设备(如ATKBD,PS/2键盘)
- 鼠标设备
- 触摸屏设备
- 游戏手柄和其他输入设备
-
GPIO控制器:
- GPIO(General Purpose Input/Output)字符设备,用于操控单个IO引脚的状态,常见于嵌入式系统中控制LED、按键等
-
SPI/I²C总线上的设备:
- I²C设备(如EEPROM、温湿度传感器、RTC实时时钟)
- SPI设备(如闪存、ADC/DAC、传感器模块)
-
UART控制器:
- UART设备,用于串行通信,如RS-232、RS-485接口
-
RTC(Real-Time Clock):
- 硬件实时时钟设备,用于提供系统时间和日期
-
HID(Human Interface Devices):
- USB HID设备,包括键盘、鼠标、游戏手柄、触摸板等
-
音频设备:
- Sound Card的音频接口,例如声卡的PCM通道等
-
内核调试器接口:
- KDB(Kernel Debugger)或者其他内核调试接口
-
硬件监控设备:
- 硬件状态监测设备,如CPU温度、电压监控等
以上每个类别都有一套特定的驱动框架和接口,它们均基于字符设备的基本接口,并在此基础上扩展以满足各自的需求。应用程序通过设备文件(通常位于/dev目录下)与这些设备进行交互