07 2012 档案

摘要:这篇随笔将记录我对linux gpio库的实现分析及使用,作为备忘, 实例代码为高通8660,linux内核3.0。关于gpio库的文档,kernel 中有一个文档。位于documentation 下的gpio.txthttp://www.linuxidc.com/Linux/2011-07/39632.htm这个链接是一个网友对这个文档的翻译。可以参考gpiolib.c中提供了gpio管理的框架。driver/gpio一 实现自己的gpio库。在8660 中gpio库的实现在gpio-v2.c中。我们来看一下是如何做的。postcore_initcall(msm_gpio_init);这行代 阅读全文
posted @ 2012-07-11 16:54 camera&tunning 阅读(2275) 评论(0) 推荐(0)
摘要:•bootloader 通过tags传递配置参数到linux kernel •tags的定义: •Tag以tagcore开始,以null结束 • 如 unsigned * ptr=tags (tags是存放tag的物理地址) • Ptr++=2; • Ptr++=ATAG_CORE; • 以上是开始 • ……………………………其他tag • Tag是这样的一个结构体。第一个偏移是tag的大小,第二个是tag的号。接下来就是tag大小-2的tag数据。注意tag中的每一项都是4字节对齐的。 • • Ptr++=0; • Ptr++=0; •以上是结束 下面是一个例子1voidboot_linu. 阅读全文
posted @ 2012-07-10 14:32 camera&tunning 阅读(1405) 评论(0) 推荐(0)
摘要:前面一篇随笔大略的分析了led class设备。其中关于trigger的部分提了一下就略过了。现在具体的做个分析,ledtrigger比led class dev 要复杂的多。做点笔记记录下来以备以后用到。 trigger 中文的翻译叫做触发。既然叫trigger,一定有一个事件或条件达到时led出现一个状态(点亮,亮度改变,闪烁)。做个事件可以来自userspace的请求,或kenel产生的事件,如休眠,cpu空闲等。而这些事件或条件就是我们要注册的trigger。每个led可以由有若干了trigger。可以在注册led设备时指定默认的trigger ,也可以由userspace指定,切换。 阅读全文
posted @ 2012-07-10 14:00 camera&tunning 阅读(3577) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示