每日简讯:Linux LED子系统详解

2023-06-10 11:50:32 来源: jf_30051736


(相关资料图)

1. 简介

专栏总目录Linux为了广泛通用性及适应性,各种框架都做得非常灵活而又复杂,小小的LED也不例外。支持了不 同的LED硬件设备,例如gpio接口,i2c接口,LED芯片等。为了支持各种点灯效果,使用了Trigger框架,除了系统默认的一些trigger外,用户可以创建自定义trigger。因此,为了点个灯,软件开发人员需要了解Linux中gpio, led, trigger三个模块。led框架核心文件:
/kernel/include/linux/leds.h    // 重要,led相关结构体,宏定义,trigger等目录 /kernel/driver/leds/ 下led-class.c  // 定义led class及相关接口led-core.c   // export 了闪烁,设置亮灭等接口led-gpio.c   // "leds-gpio" 驱动leds.h       // 提供几个接口,如:led_init_core
trigger 框架核心文件:
目录 /kernel/driver/leds/ 下    led-triggers.c    // export了许多接口,包括:led_trigger_register目录 /kernel/driver/leds/trigger 下    ledtrig-backlight.c    ledtrig-camera.c    ledtrig-cpu.c    ledtrig-default-on.c    ledtrig-disk.c    ledtrig-gpio.c    ledtrig-heartbeat.c   // 心跳灯效果    ledtrig-mtd.c    ledtrig-oneshot.c    ledtrig-panic.c    ledtrig-timer.c       // 定时器ledtrig-transient.c

以参考上面的trigger例子写自己的trigger,或者改造,需要在make menuconfig里面选上才会编译,如下:

2. LED 调试

2.1 调试总览,调试步骤分析

步骤 一 : dts配置步骤 二 :编译烧写,调试

2.2 调试过程

步骤 一 : dts配置① leds节点是在rk3588-evb.dtsi文件中定义

#include "rk3588-evb.dtsi"

② 定义四个led节点: (检查gpio是否被复用)

使用命令:dmesg | grep cannot检查是否有gpio冲突,有冲突的话驱动代码会中断,后面的dts就不会生效。

&leds {        status = "okay";        compatible = "gpio-leds";        pinctrl-names = "default";        pinctrl-0 = < &work1_led_gpio >, < &work2_led_gpio >,< &work3_led_gpio >,< &work4_led_gpio >;        work1_led: work1{            default-state = "off";            gpios = < &gpio4 RK_PD2 GPIO_ACTIVE_HIGH >;        };        work2_led: work2{            default-state = "off";                  gpios = < &gpio4 RK_PD3 GPIO_ACTIVE_HIGH >;        };        work3_led: work3{            default-state = "off";            gpios = < &gpio4 RK_PD4 GPIO_ACTIVE_HIGH >;        };        work4_led: work4{            default-state = "off";            gpios = < &gpio4 RK_PD5 GPIO_ACTIVE_HIGH >;        };};&pinctrl {    leds{            work1_led_gpio: work1-led-gpio{            rockchip,pins = < 4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_down >;            };            work2_led_gpio: work2-led-gpio{            rockchip,pins = < 4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_down >;            };            work3_led_gpio: work3-led-gpio{            rockchip,pins = < 4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down >;            };            work4_led_gpio: work4-led-gpio{            rockchip,pins = < 4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down >;            };        }; }

步骤二:调试,验证:在用户空间操作led

使用了驱动框架后可以不需要编写应用程序就可以测试led是否能正常被点亮与熄灭,这些都可以在sysfs文件系统中完成。在装载驱动后可以在/sys/class/leds/目录下看到对应的led设备目录,如本文中的work1(填充设备时的设备名字段)。

ls /sys/class/leds/work1

brightness      power           ueventmax_brightness  subsystem

点亮led

echo 1 > brightness

熄灭led

echo 0 > brightness

审核编辑:汤梓红

关键词

精选 导读

每日简讯:Linux LED子系统详解

LinuxLED子系统详解

发布时间: 2023-06-10 11:50
宏观   2023-06-10

首台套50万千瓦冲击式水电机组项目开工

今天(9日),大唐西藏扎拉水电站主体工程正式开工建设,项目配备首台

发布时间: 2023-06-10 11:58
关注   2023-06-10

“深海发现之旅”在国家海洋博物馆启动

本次活动旨在通过丰富多彩的活动加强市民对于深海大洋的认识。

发布时间: 2023-06-10 11:45
热点   2023-06-10

这款神奇的净水器能预防“三高”?58名老人被骗63万元 环球

近日,新疆克拉玛依市克拉玛依区人民法院审理了一起诈骗案件,案件受害

发布时间: 2023-06-10 11:15
资讯   2023-06-10

世界观天下!怎么扫二维码图片_怎么扫二维码

1、我们先把要扫描的二维码存到手机里,然后打开有扫码功能的软件,点

发布时间: 2023-06-10 11:33
宏观   2023-06-10

曹五笔怎么打_槽五笔怎么打

1、首先,我们用五笔打字最重要的是把五笔部首表记清楚,这样打字就会

发布时间: 2023-06-10 11:18
关注   2023-06-10

世界视讯!买沙发要注意什么才不会被坑_买沙发要注意什么

1、沙发的主要结构:2、沙发的功能决定了沙发的整体结构必须牢固。买沙

发布时间: 2023-06-10 11:29
热点   2023-06-10

苹果发布MR头显 XR的“iPhone时刻”来了?

丘天宇告诉记者,高通在XR芯片端基本处于垄断地位,市场中主流的XR一体

发布时间: 2023-06-10 11:05
资讯   2023-06-10

挑起“扁担”解民忧-环球新要闻

2013年,从西藏军区某部退役后,王帅来到山东省济南市城管局城肥清运管

发布时间: 2023-06-10 11:07
宏观   2023-06-10

美在东方 | 在“非遗”里邂逅千年艺语匠心|天天快看点

匠心独运的金属工艺、独具一格的北京皮影戏、神奇的蒙古族呼麦……在6

发布时间: 2023-06-10 11:14
关注   2023-06-10

今年前5个月水利建设完成投资较去年同期增长32.1%-天天观热点

人民网北京6月10日电(欧阳易佳)据水利部消息,今年前5个月,水利基础

发布时间: 2023-06-10 11:07
热点   2023-06-10

“两个定位”与中国式现代化聊城实践新篇章——全市社科理论

(聊城广电全媒体记者黄振)6月9日,“两个定位”与中国式现代化聊城实

发布时间: 2023-06-10 10:30
行业   2023-06-10

海南万宁市房价会不会下跌?万宁中海房地产开发的房子还能买

海南万宁市房价会不会下跌?万宁中海房地产开发的房子还能买吗?海南万

发布时间: 2023-06-10 10:11
资讯   2023-06-10

儋州房子为什么便宜些,未来海南的房价-今日讯

儋州房子为什么便宜些,未来海南的房价儋州房价上涨也是很多人的烦恼,

发布时间: 2023-06-10 10:18
宏观   2023-06-10

文昌高隆湾房价惯性上涨走势,海南高隆湾新房价格大概是多少

文昌高隆湾房价惯性上涨走势,海南高隆湾新房价格大概是多少?海南高隆

发布时间: 2023-06-10 10:13
关注   2023-06-10

居民期待已久,虹口这个新商业广场下半年开业!

项目定名为平溪商业广场(pingxicommercialPLAZA),地址在仁德路333号,

发布时间: 2023-06-10 10:06
热点   2023-06-10

中国队夺冠瞬间_lpl中国队夺冠过几次

1、夺得英雄联盟S11世界总决赛冠军,这也是中国LPL赛区的第三座S赛冠军

发布时间: 2023-06-10 08:48
资讯   2023-06-10

麦科贝尔童装怎么样_派克兰帝童装

1、没有trollkids牌子,是TOREADkids,儿童服装品牌。2、TOREADkids是

发布时间: 2023-06-10 08:56
宏观   2023-06-10

v手势视频_v手势

1、手掌向外,食指和中指呈V字形,其余的手指团在掌心里。2、在第二次

发布时间: 2023-06-10 08:50
关注   2023-06-10

视点!屏蔽器_屏蔽光驱

1、虚拟光驱一般会与物理光驱相互冲突,选中“控制面板→系统→设备管

发布时间: 2023-06-10 08:49
热点   2023-06-10