吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

linuxled驅動開發 子系統介紹

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-20 10:31 ? 次閱讀

1、前言

什么叫做驅動框架?

內核中驅動維護者針對每種驅動設計一套【成熟的、標準的、典型的】驅動實現,并把不同廠家的同類硬件驅動中相同的部分抽出來實現好,再把不同部分留出接口給具體的驅動工程師來實現,這就叫驅動框架。

2、概述

led 子系統驅動框架:

圖片

所有 led 共性:

  1. 有和用戶通信的設備節點
  2. 亮和滅

不同點:

  1. 有的 led 可能是接在 gpio 管腳上,不同的 led 有不同的 gpio 來控制
  2. 有的 led 可能由其他的芯片來控制(節約 cpupin,或者為了控制 led 的電流等)
  3. 可以設置亮度
  4. 可以閃爍

所以 Linux led 子系統把所有 led 的共性給實現了,把不同的地方留給驅動工程師去做。

led 子系統核心文件:

driver/leds/led-class.c
driver/leds/led-core.c
driver/leds/led-triggers.c
include/linux/leds.h

其他文件(按需)

driver/leds/led-gpio.c
driver/leds/wm8350.c
driver/leds/led-xxx.c
driver/leds/trigger/ledtrig-backlight.c
driver/leds/trigger/ledtrig-camera.c
driver/leds/trigger/ledtrig-cpu.c
driver/leds/trigger/ledtrig-default-on.c
driver/leds/trigger/ledtrig-gpio.c
driver/leds/trigger/ledtrig-heartbeat.c
driver/leds/trigger/ledtrig-ide-disk.c
driver/leds/trigger/ledtrig-multi-control.c
driver/leds/trigger/ledtrig-oneshot.c
driver/leds/trigger/ledtrig-timer.c
driver/leds/trigger/ledtrig-transient.c

led 子系統相關描述可在內核源碼 Documentation/leds/leds-class.txt 了解。

led 子系統是一個簡單的 Linux 子系統 ,在目錄 /sys/class/leds 下展示該子系統設備,每個設備都有自己的屬性:

圖片

brightness:設置 LED 亮度,范圍 0 ~ max_brightness
max_brightness:最大亮度(255 或其他數字)
trigger:觸發方式,如 heartbeat、mmc0、backlight、gpio

delay_off、delay_on:trigger為timer時,LED亮滅的時間,單位ms

kernel/include/linux/leds.h

enum led_brightness {
 LED_OFF  = 0,    //全暗
 LED_HALF = 127,  //一半亮度
 LED_FULL = 255,  //最大亮度
};
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23355

    瀏覽量

    663172
  • 驅動
    +關注

    關注

    12

    文章

    1851

    瀏覽量

    85637
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210387
收藏 人收藏

    評論

    相關推薦

    關于Linux設備驅動中input子系統介紹

    對于輸入類設備如鍵盤、鼠標、觸摸屏之類的Linux驅動,內核提供input子系統,使得這類設備的處理變得非常便捷。總體上來講,input子系統由三部分組成: 事件驅動input核心設備
    發表于 01-09 16:06 ?2730次閱讀

    linux驅動-Input輸入子系統

    以前,看過國嵌關于input子系統的視頻課程,說實話,我看完后腦子里很亂,給我的印象好像是input子系統驅動是一個全新的驅動架構,疑惑相當多。前幾天在網上,看到有很多人
    發表于 05-21 00:05

    AW-A33 Linux驅動開發之藍牙子系統驅動程序的五個版本概述

    ?AW-A33 Linux驅動開發之藍牙子系統驅動程序
    發表于 07-18 13:56

    介紹下input子系統

    文章目錄前言input子系統按鍵檢測C代碼微信公眾號前言這是前3篇:嵌入式Linux i.MX開發板嵌入式Linux NFS嵌入式Linux 交叉編譯工具鏈嵌入式Linux LED GPIO本篇介紹
    發表于 11-04 08:14

    【OpenHarmony資料合集】Sensor子系統/圖形子系統/Ability子系統介紹

    1、OpenHarmony資料合集之Sensor子系統  人類獲取外界信息必須借助于感覺器官,而在研究自然現象和規律以及生產活動僅靠感官已經遠遠不夠了,為了適應這種情況,出現了傳感器。隨著物聯網
    發表于 03-14 16:35

    鴻蒙的驅動子系統資料匯總(一)

    1、輕量系統驅動開發查看 //drivers/adapter/khdf/,這個目錄下有一個 liteos_m 子目錄,進入子目錄查看 readme 文檔: 該倉主要存放 OpenHarmony
    發表于 03-29 14:53

    鴻蒙的驅動子系統資料匯總(二)

    3、驅動相關模塊的編譯打開并查看 //vendor/hisilicon/hispark_taurus/config.json, 這是小型系統 Hi3516 開發板的產品配置表,仔細查看與驅動
    發表于 03-29 14:58

    RK3399開發板的pinctrl和gpio子系統相關資料介紹

    驅動工程師只做驅動,應用工程師專注做應用。  linux下的pintcrl和gpio子系統就類似于ST的“BSP庫”,但是linux的pinctrl和gpio系統實現的功能和過程要遠
    發表于 09-16 17:27

    基于Linux內核輸入子系統驅動研究

    Linux因其完全開放的特性和穩定優良的性能深受歡迎,當推出了內核輸入子系統后,更方便了嵌入式領域的驅動開放。介紹了Linux的設備驅動基礎,詳細闡述了基于Linux內核輸入
    發表于 09-12 16:38 ?23次下載

    Linux內核輸入子系統驅動研究

    Linux內核輸入子系統驅動研究
    發表于 10-31 14:41 ?14次下載
    Linux內核輸入<b class='flag-5'>子系統</b>的<b class='flag-5'>驅動</b>研究

    驅動電源模塊的子系統設計

    1.3 驅動子系統設計
    的頭像 發表于 04-11 09:03 ?2839次閱讀
    <b class='flag-5'>驅動</b>電源模塊的<b class='flag-5'>子系統</b>設計

    OpenHarmony顯示子系統介紹

    OpenHarmony顯示子系統介紹 審核編輯:金巧
    的頭像 發表于 12-28 15:19 ?2184次閱讀
    OpenHarmony顯示<b class='flag-5'>子系統</b><b class='flag-5'>介紹</b>

    存放OpenHarmony驅動子系統源碼信息的HDF驅動框架

    簡介 該倉主要存放OpenHarmony驅動子系統核心源碼信息(包括驅動框架、配置管理、配置解析、驅動通用框架模型、硬件通用平臺能力接口等),旨在為
    發表于 04-13 11:13 ?8次下載
    存放OpenHarmony<b class='flag-5'>驅動</b><b class='flag-5'>子系統</b>源碼信息的HDF<b class='flag-5'>驅動</b>框架

    迅為RK3568開發驅動開發指南-輸入子系統

    迅為RK3568開發驅動開發指南-輸入子系統
    的頭像 發表于 02-23 15:11 ?995次閱讀
    迅為RK3568<b class='flag-5'>開發</b>板<b class='flag-5'>驅動</b><b class='flag-5'>開發</b>指南-輸入<b class='flag-5'>子系統</b>

    鴻蒙開發學習:【驅動子系統

    OpenHarmony驅動子系統采用C面向對象編程模型構建,通過平臺解耦、內核解耦,兼容不同內核,提供了歸一化的驅動平臺底座,旨在為開發者提供更精準、更高效的
    的頭像 發表于 03-17 22:05 ?664次閱讀
    鴻蒙<b class='flag-5'>開發</b>學習:【<b class='flag-5'>驅動</b><b class='flag-5'>子系統</b>】
    V博百家乐官网的玩法技巧和规则 中骏百家乐官网的玩法技巧和规则 | 棋牌室管理制度| 赢家百家乐的玩法技巧和规则| 百家乐制胜方法| 大哥大百家乐官网的玩法技巧和规则 | 平乡县| 大化| 世界各国赌场美女| 新葡京网上娱乐| 百乐坊娱乐城噢门| 大发888游戏平台hg dafa 888 gw| 澳门百家乐网站bt| 百家乐官网微乐| 百家乐官网赌场代理| 真人百家乐官网分析软件是骗局| 乐众娱乐| 元朗区| 通许县| 百家乐官网好不好玩| 百家乐官网赢钱皇冠| 百家乐官网手机投注平台| 百家乐官网现场新全讯网| 百家乐官网玩法秘决| 百家乐官网算牌e世博| 网上百家乐官网解码器| 澳门百家乐官网娱乐城信誉如何 | 海港城百家乐官网的玩法技巧和规则 | 百家乐官网巴厘岛平台| 百家乐官网全自动分析软件| 百家乐官网也能赢钱么| 百家乐官网的必胜方法| 广东百家乐官网扫描分析仪 | 夜总会百家乐的玩法技巧和规则| 百家乐最新分析仪| 大发888 澳门赌场| 铂金娱乐| 百家乐官网娱乐城代理| 百家乐官网韩泰阁| 大佬百家乐官网娱乐城| 百家乐之对子的技巧| 包赢百家乐的玩法技巧和规则|