|
|
1.在boot下点灯
gpio set + 引脚号 拉高
gpio clear + 引脚号 拉低
注意:这里需要关注有效电平是高电平还是低电平,有的LED是在GPIO为低电平的情况下才会亮。关于gpio的有效电平获取需要找客户确认,找他们那边的硬件或我们这边的硬件了解。
2.在系统内核使用gpio点灯
具体可参考文档《linux接口驱动开发指南》2.3.1 sysfs接口章节
这里需注意在操作任一gpio引脚之前,必须先将引脚export导出才能进行进一步具体操作。
以gpio0为例:
echo 0 > /sys/class/gpio/export 导出0号脚
echo out > /sys/class/gpio0/direction 设置gpio方向为输出
echo 1 > /sys/class/gpio0/active_low 设置低电平有效
echo 0 > /sys/class/gpio0/value 输出低电平
echo 1 > /sys/class/gpio0/value 输出高电平
3.在uboot点灯
在board.c中增加
#include <gpio.h>
gpio_request(12, “cmd_gpio”); //其中12是要申请的引脚号
gpio_direction_output(12, 0) //设置gpio12为输出,默认低电平
4.使用ethtool指令点灯
该方法并不配套所有产品方案,主要是对phy芯片为2911型号进行控制,其他产品可以尝试但不一定有效。
常亮:ethtool --set-priv-flags eth3 led-force-on on
常灭:ethtool --set-priv-flags eth3 led-force-off on
闪烁:ethtool --set-priv-flags eth3 led-twinkle on
注意这里演示仅为操作一个网口,如需将板子上所以phy灯亮起需要替换eth3,例如eth0,eth1,eth2等。 |
|