4.9 LED测试
Linux系统下,LED的控制主要是通过访问sysfs文件系统下文件节点实现的,本例程演示如何使用echo命令和led_test应用对LED进行控制,验证开发板上的LED驱动程序。
测试硬件环境:
- MYD-C437X-EVM 开发板一块
- USB转TTL调试串口一根,连接MYD-C437X-EVM J16和PC, PC端波特率设置115200-8-n-1
测试软件环境:
- Linux Kernel 4.1.18
- echo, led_test 应用程序
测试过程:
MYD-C437X-EVM由核心板和底板组成,底板上面有四个LED:D34、D35、D36、D39,核心板有两个LED:D1、D36,其中D1和D39不由软件控制,其他四个LED在软件上的命名通过myc和myd前缀加LED编号来区分。
- 查看led设备的设备节点
# ls /sys/class/leds/
myc_d36 myd_d34 myd_d35 myd_d36
- 用'echo'命令对LED进行控制
#echo "0" > /sys/class/leds/myc_d36/brightness
#echo "1" > /sys/class/leds/myc_d36/brightness
#echo "1" > /sys/class/leds/myd_d34/brightness
#echo "0" > /sys/class/leds/myd_d34/brightness
#echo "1" > /sys/class/leds/myd_d35/brightness
#echo "0" > /sys/class/leds/myd_d35/brightness
#echo "1" > /sys/class/leds/myd_d36/brightness
#echo "0" > /sys/class/leds/myd_d36/brightness
- 将目录
<WORKDIR>/Examples/rootfs/usr/bin/
中的可执行程序led_test拷贝至开发板/usr/bin/目录下用'led_test'应用程序对LED进行控制
# led_test -h
Usage: led_test [options]
Version 1.0
Options:
-d | --device name led name myc:blue:cpu0
-l | --light brightness led brightness. 0~255 0: off.
-h | --help Print this message
# led_test -d myc_d36 -l 0
Set led myc_d36 off, brightness = 0
# led_test -d myc_d36 -l 1
Set led myc_d36 off, brightness = 1
- 观察LED的变化
注意:由于myc_d36 设置了触发器为cpu0, 所以不能直接控制,需要先往/sys/class/leds/myc_d36/brightness文件节点写"0", 使触发器失效之后才能像其它LED一样正常控制。
MYIR AM437X系列其它板型LED测试情况类似。