winscp怎么做网站,官方网站管理办法,国内装饰行业网站开发,哪个平台招人最快前言 前面我们都是自己编写 LED 灯驱动#xff0c;其实像 LED 灯这样非常基础的设备驱动#xff0c;Linux 内 核已经集成了。Linux 内核的 LED 灯驱动采用 platform 框架#xff0c;因此我们只需要按照要求在设备 树文件中添加相应的 LED 节点即可#xff0c;本章我们就来学… 前言 前面我们都是自己编写 LED 灯驱动其实像 LED 灯这样非常基础的设备驱动Linux 内 核已经集成了。Linux 内核的 LED 灯驱动采用 platform 框架因此我们只需要按照要求在设备 树文件中添加相应的 LED 节点即可本章我们就来学习如何使用 Linux 内核自带的 LED 驱动。 一、Linux 内核自带 LED 驱动使能。
要使用 Linux 内核自带的 LED 灯驱动首先得先配置 Linux 内核使能自带的 LED 灯驱 动输入如下命令打开 Linux 配置菜单
make menuconfig
按照如下路径打开 LED 驱动配置项 按照上述路径选择“LED Support for GPIO connected LEDs”将其编译进 Linux 内核也 即是在此选项上按下“Y”键使此选项前面变为“”如图 重新编译 Linux 内核然后使用新编译出来的 zImage 镜像启动开发板。 二、设备树节点编写 打开文档 Documentation/devicetree/bindings/leds/leds-gpio.txt此文档详细的讲解了 Linux 自 带驱动对应的设备树节点该如何编写我们在编写设备节点的时候要注意以下几点 ①、创建一个节点表示 LED 灯设备比如 dtsleds如果板子上有多个 LED 灯的话每个 LED灯都作为 dtsleds 的子节点。
②、dtsleds 节点的 compatible 属性值一定要为“gpio-leds”。
③、设置 label 属性此属性为可选每个子节点都有一个 label 属性label 属性一般表示
LED 灯的名字比如以颜色区分的话就是 red、green 等等。
④、每个子节点必须要设置 gpios 属性值表示此 LED 所使用的 GPIO 引脚
⑤、可以设置“linux,default-trigger”属性值也就是设置 LED 灯的默认功能可以查阅
Documentation/devicetree/bindings/leds/common.txt 这个文档来查看可选功能比如 backlightLED 灯作为背光。
default-onLED 灯打开
heartbeatLED 灯作为心跳指示灯可以作为系统运行提示灯。
ide-diskLED 灯作为硬盘活动指示灯。
timerLED 灯周期性闪烁由定时器驱动闪烁频率可以修改
⑥、可以设置“default-state”属性值可以设置为 on、off 或 keep为 on 的时候 LED 灯默 认打开为 off 的话 LED 灯默认关闭为 keep 的话 LED 灯保持当前模式。
根据上述几条要求在设备树中添加如下所示 LED 灯设备节点
dtsleds { compatible gpio-leds; led0 { label red; gpios gpio1 3 GPIO_ACTIVE_LOW; default-state on; }; };
修改完成以后保存并重新编译设备树然后用新的设备树 启动开发板。 三、运行测试 用 新 的 zImage 和 新的设备树启动开发板 启动以后查 看/sys/bus/platform/devices/dtsleds 这个目录是否存在如果存在的话就如到此目录中如图 所示
进入到 leds 目录中此目录中的内容如图所示 我们的设置究竟有没有用最终是要通过测试才能知道的首先查看一下系统中有没有 “sys/class/leds/red/brightness”这个文件如果有的话就输入如下命令打开 RED 这个 LED 灯
echo 1 /sys/class/leds/red/brightness //打开 LED0
关闭 RED 这个 LED 灯的命令如下
echo 0 /sys/class/leds/red/brightness //关闭 LED0 在之前的设备树节点下加一句
linux,default-trigger heartbeat;这样开机就会进入心跳灯模式。