利用用平台GPIO LED调试

本文主要介绍了GPIO LED设备驱动的分析,包括配置内核选项、理解关键数据结构以及如何注册GPIO LEDS设备。在调试过程中,重点是掌握LED的开关操作,而不涉及blink闪烁功能。
摘要由CSDN通过智能技术生成
GPIO 驱动的 LED 由于操作简单和可视化即可以在板上直接看到其闪烁时长和频率,我们可以通过LED这种特性用于调试开发过程当中各种情景, 如统计某个中断出发频率,某些在linux 内核比较难以调试的环境, 比如休眠唤醒模式, soc各种低功耗模式等环境, 这样即使在普通串口打印不能正常工作的环境,我们也可以利用LED辅助这些环境下的调试。
0 GPIO LED 设备驱动分析
区分于keyboard的led驱动(由input 子设备管理),GPIO LEDS使用led-clas驱动框架, 用户空间通过/sys/class/leds/board-led/ 访问led的各种属性,其中max_brightness  代表最大亮度,brightness代表亮度, 复杂的led  系统支持delay_{on,  off} 用来控制led交替闪烁哦的时长, trigger 用来触发led事件,例如开启关闭

配置内核CONFIG

CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGERS=y

1 重要数据结构
o 描述gpio led 设备结构
/* For the leds-gpio driver */
struct gpio_led {
    const char *name; // 每个led的名字
    const char *default_trigger;  // 指定默认触发源
    unsigned     gpio; // 控制led 的io pin
    unsigned    active_low : 1; // low 时为off
    unsigned    retain_state_suspended : 1;  // 休眠时是否保存状态,等到唤醒后恢复
    unsigned    default_s
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值