天嵌 ARM开发社区

 找回密码
 注册
查看: 3549|回复: 4

LED驱动开发,LED灯不亮(can't open dev (/dev/led))

[复制链接]
s1005056 发表于 2013-12-17 13:44:01 | 显示全部楼层 |阅读模式
本帖最后由 s1005056 于 2013-12-19 10:11 编辑

想学习官方说明文件《Android开发完全手册》内的第二章LED驱动开发。
Kernel:
  使用光盘内的kernel 3.0.8,确认drivers/char/tq210_leds.c管脚正确,为GPC0_3 & GPC0_4 (Core B)

Android Platform:
  使用光盘内的android 4.0.4,将光盘内的ledApi资料夹放入external。
各自生成zImage跟rootfs.bin,并烧入开发板。

有将CONFIG_TQ210_DEBUG_LEDS设定Y,开机时可以看见led1跟led2正常亮灭,可是进入system/xbin下呼叫ledApp,却输出
「failed to request GPC0_3 for LVDS PWDN pin  
can't open dev (/dev/led)」


而进入/dev目录下查看,确实有led文件,不知是哪里出错了,还请高手指点。谢谢。
Calvin 发表于 2013-12-17 15:34:59 | 显示全部楼层
failed to request GPC0_3 for LVDS PWDN pin

这里已经说明白问题了,你在其他地方把GPC0_3这个脚引用成LVDS的PWDN引脚功能了,只要把这功能去掉就正常了
 楼主| s1005056 发表于 2013-12-18 11:00:51 | 显示全部楼层
本帖最后由 s1005056 于 2013-12-18 11:02 编辑
Calvin 发表于 2013-12-17 15:34
failed to request GPC0_3 for LVDS PWDN pin

这里已经说明白问题了,你在其他地方把GPC0_3这个脚引用 ...

之後测试把#CONFIG_TQ210_DEBUG_LEDS设为N时,便可以透过./ledapp点亮LED灯。怀疑是由于#CONFIG_TQ210_DEBUG_LEDS设为Y时,会在__init dev_init()先将装置open,使得后来的./ledapp无法再开启装置,才有该错误,__init dev_init部份程式码如附件的图。请问这样的推测是正确的吗?

另外想请教,如果想保持开机时LED会闪烁的功能,也想在开机完成后调用./ledapp操控led,该怎么修改tq210_leds.c呢?
是在init()里面加入close,还是在open()侦测是否已经调用呢?

谢谢指教。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
Calvin 发表于 2013-12-18 12:10:31 | 显示全部楼层
s1005056 发表于 2013-12-18 11:00
之後测试把#CONFIG_TQ210_DEBUG_LEDS设为N时,便可以透过./ledapp点亮LED灯。怀疑是由于#CONFIG_TQ210_DE ...

你可以在调用完开机闪烁功能的后面紧接着用gpio_free来释放GPIO的引用,那么你就可以调用ledapp了
 楼主| s1005056 发表于 2013-12-19 10:09:46 | 显示全部楼层
Calvin 发表于 2013-12-18 12:10
你可以在调用完开机闪烁功能的后面紧接着用gpio_free来释放GPIO的引用,那么你就可以调用ledapp了

顺利调用成功了,感谢Clavin的好心说明,愿意指导新手。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-17 00:31 , Processed in 1.046868 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表