OKMX6 LED驱动

(主机端)

基础知识

imx6 3.0.35  kernel中内核驱动核心源码实现位置

参数配置文件

板级目录:arch/arm/mach-mx6/
板级文件:arch/arm/mach-mx6/mx6q_c_sabresd.c 
管脚功能定义:arch/arm/mach-mx6/mx6q_c_sabresd.h
管脚标号定义:arch/arm/plat-mxc/include/mach/iomux-mx6q.h

实现目的

查看原理图,将D32灯在LED中添加出文件设备以供操作,

 

查看硬件对应IO口

由图可得IO引脚为EIM_BCLK,查找数据手册 IMX6DQ参考手册(RM)_201507.pdf 中可得,D13的引脚为GPIO6_IO31

在kernel中配置EIM_BCLK引脚为GPIO模式

在arch/arm/mach-mx6/board-myimx6ek200-6q.h中

 

 

如果最后无法控制led,软件上一般脚的是配置问题,可以在mx6q_sabresd_pads找MX6Q_PAD_EIM_BCLK__GPIO_6_31,看在MX6Q_PAD_EIM_BCLK__GPIO_6_31的后面MX6Q_PAD_EIM_BCLK 有没有被其它脚给重新初始化成了别的功能。

这里发现MX6Q_PAD_EIM_BCLK被初始化为其他功能。把该引脚注释掉

 

 

在kernel中注册EIM_BCLK引脚为LED驱动框架

在kernel中将EIM_BCLK引脚注册到系统LED驱动框架上,修改arch/arm/mach-mx6/board-myimx6ek200.c

//定义需注册的io

 

//注册到系统led框架数组

//修改系统led驱动IO数组

 

配置Menuconfig支持LED IO框架

生成镜像uImage并烧录

make uImage

(开发板端)

查看LED框架下得自定义led设备

cd /sys/class/leds

操作LED

//echo 1 > /sys/class/leds/user_led/brightness
//echo 0 > /sys/class/leds/user_led/brightness
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值