嵌入式设备的硬件控制与驱动开发
1. LEDs 控制
LED 通常可通过 GPIO 引脚控制,但内核子系统能提供更专业的控制。 leds
内核子系统可设置 LED 亮度(若支持),还能处理非简单 GPIO 引脚连接的 LED,可配置在特定事件触发 LED,如块设备访问或心跳信号。
1.1 内核配置
需配置内核选项 CONFIG_LEDS_CLASS
及合适的 LED 触发动作,相关信息在 Documentation/leds/
,驱动在 drivers/leds/
。
1.2 控制接口
LED 通过 sysfs
接口控制,路径为 /sys/class/leds
。以 BeagleBone Black 为例,LED 名称在设备树中编码为 devicename:colour:function
形式:
# ls /sys/class/leds
beaglebone:green:heartbeat beaglebone:green:usr2
beaglebone:green:mmc0 beaglebone:green:usr3
1.3 LED 属性
进入某个 LED 目录,如 beaglebone:green:usr2
,查看属性: