【随笔记】全志平台 gpio-leds 驱动应用
硬件信息
内核版本:Linux 4.9
硬件原理:
- GPIO 通过一颗 MOS 管(2N7002ET1G),接到 LED 负极,LED 正极接电源。
- GPIO 通过拉高导通 MOS ,将 LED 接地,实现点亮 LED。
内核配置
配置内核驱动:make ARCH=arm64 menuconfig
Device Drivers --->
-*- LED Support --->
<*> LED Support for GPIO connected LEDs
-*- LED Trigger support --->
<*> LED Timer Trigger
<*> LED One-shot Trigger
<*> LED Heartbeat Trigger
<*> LED backlight Trigger
[*] LED CPU Trigger
<*> LED GPIO Trigger
<*> LED Default ON Trigger
配置文件
配置硬件信息:sys_config.fex
全志平台便捷方式配置,也可以使用通用的 dts 配置方式
[leds]
compatible = "gpio-leds";
[leds/red]
label = "red";
linux,default-trigger = "timer"
gpio = port:PL08<1><default><default><0>
[leds/blue]
label = "blue";
linux,default-trigger = "heartbeat"
gpio = port:PL07<1><default><default><0>
使用方法
正常情况下可以看到两颗灯以不同的节奏闪烁
- 检查相应设备节点
root@localhost:/# ls /sys/class/leds
blue red
root@linux:/# ls /sys/class/leds/blue
brightness device invert max_brightness power subsystem trigger uevent
root@linux:/# ls /sys/class/leds/red
brightness delay_on max_brightness subsystem uevent
delay_off device power trigger
- 关闭触发功能
root@linux:/# echo "none" > /sys/class/leds/blue/trigger
root@linux:/# echo "none" > /sys/class/leds/red/trigger
- 点亮关闭指定 LED(高亮、低灭)
root@linux:/# echo 1 > /sys/class/leds/blue/brightness
root@linux:/# echo 0 > /sys/class/leds/blue/brightness
- 设置定时闪烁 LED(亮 100ms,灭 1000ms)
root@linux:/# echo "timer" > /sys/class/leds/blue/trigger
root@linux:/# echo 100 > /sys/class/leds/blue/delay_on
root@linux:/# echo 1000 > /sys/class/leds/blue/delay_off
【随笔记】全志平台 gpio-leds 驱动应用的更多相关文章
- Linux GPIO键盘驱动开发记录_OMAPL138
Linux GPIO键盘驱动开发记录_OMAPL138 Linux基本配置完毕了,这几天开始着手Linux驱动的开发,从一个最简单的键盘驱动开始,逐步的了解开发驱动的过程有哪些.看了一下Linux3. ...
- 三星s3c24xx平台GPIO操作详解
转:http://blog.chinaunix.net/uid-22030783-id-3391515.html 先介绍三星S3C24XX平台BSP中定义外设寄存器和GPIO的相关头文件 以linux ...
- (九)全志平台Tina系统量产前adb shell设密码的方法
全志平台Tina系统量产前adb shell设密码的方法[适用范围] 全志平台Tina系统 [问题现象] 通常产品量产后都想要以安全方式封闭adb shell,不允许用户或其他开发者使用,因此需要以安 ...
- STC8H开发(十一): GPIO单线驱动多个DS18B20数字温度计
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- AM335x(TQ335x)学习笔记——GPIO关键驱动移植
或按照S5PV210学习秩序.我们首先解决的关键问题.TQ335x有六个用户按钮,每个上.下.剩下.对.Enter和ESC. 我想开始学习S5PV210当同一,写输入子系统驱动器的关键问题要解决,但浏 ...
- AM335x(TQ335x)学习笔记——GPIO按键驱动移植
还是按照S5PV210的学习顺序来,我们首先解决按键问题.TQ335x有六个用户按键,分别是上.下.左.右.Enter和ESC.开始我想到的是跟学习S5PV210时一样,编写输入子系统驱动解决按键问题 ...
- 在全志平台调试博通的wifi驱动(类似ap6212)【转】
转自:http://blog.csdn.net/fenzhi1988/article/details/44809779 调试驱动之前,首先先看看驱动代码,了解代码大致工作流程,再根据硬件配置驱动,比如 ...
- linux driver ------ GPIO的驱动编写和调用
判断哪些文件被编译进内核: 1.通过 make menuconfig 查看 2.比如查看gpio类型的文件,输入 ls drivers/gpio/*.o,有生成.o文件表示被编译进内核 在编写驱动程序 ...
- 嵌入式Linux学习笔记(三) 字符型设备驱动--LED的驱动开发
在成功构建了一个能够运行在开发板平台的系统后,下一步就要正式开始应用的开发(这里前提是有一定的C语言基础,对ARM体系的软/硬件,这部分有疑问可能要参考其它教程),根据需求仔细分解任务,可以发现包含的 ...
- 全志A33 linux led驱动编程(附实测参考代码)
开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 开发平台 * 芯灵思Sinl ...
随机推荐
- mybatis-特殊查询
特殊SQL的执行 模糊查询 /** * 根据用户名进行模糊查询 * @param username * @return java.util.List<com.atguigu.mybatis.po ...
- Pthread 并发编程(二)——自底向上深入理解线程
Pthread 并发编程(二)--自底向上深入理解线程 前言 在本篇文章当中主要给大家介绍线程最基本的组成元素,以及在 pthread 当中给我们提供的一些线程的基本机制,因为很多语言的线程机制就是建 ...
- 嵌入式-Linux基础操作
Crtl+Alt+T:调出命令窗口 xrandr:列出分辨率列表 设置窗口的分辨率大小为1280x960:xrandr -s 1280x960 通过命令窗口来执行一段C语言程序: VI工具的使用: ( ...
- mindxdl--common--type.go
// Copyright (c) 2021. Huawei Technologies Co., Ltd. All rights reserved.// Package common this file ...
- Mysql5.6.44版本安装及基本配置
内容概要 存储数据的演变史 数据库软件应用史 MySQL简介 MySQL下载及安装 MySQL配置 存储数据的演变史 1.文本文件: 文件路径不固定,并且数据格式不统一 2.软件开发目录规范: 规定了 ...
- 关于mysql在linux(deb系)遇到的问题及解决方法
前言 当我在树莓派上安装 mysql 数据库的时候,默认安装的是mariadb 数据库,不过没什么区别(在我看来),然后就是闹心的解决各种问题了 1. mysql 在root用户下无密码登录问题 这个 ...
- 防御式编程之断言assert的使用
防御式编程的重点就是需要防御一些程序未曾预料的错误,这是一种提高软件质量的辅助性方法,断言assert就用于防御式编程,编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设.使用断言是 ...
- 【SQL进阶】【REPLACE/TIMESTAMPDIFF/TRUNCATE】Day01:增删改操作
一.插入记录 1.插入多条记录 自己的答案: INSERT INTO exam_record(uid, exam_id, start_time, submit_time, score) VALUES ...
- 5V升压12.6V芯片电路图,三节锂电池充电
三节3.7V的锂电池串联,11.1V和最大12.6V锂电池充电电路的解决方案.在应用中,一般使用低压5V,如USB口直接输入的给三串锂电池充电,还有是15V或者18V,20V输入降压给锂电池充电的两种 ...
- EPSS 解读:与 CVSS 相比,孰美?
通用漏洞评分系统(CVSS)是当前应用最频繁的评分系统以评估安全漏洞的严重性.但是,由于该系统在评估漏洞和优先级排序方面存在不足而遭受批评.因此,有部分专业人士呼吁使用漏洞利用预测评分系统(EPSS) ...