android
文章平均质量分 74
joard_yang
这个作者很懒,什么都没留下…
展开
-
详解Linux2.6内核中基于platform机制的驱动模型
原文地址:http://blog.csdn.net/sailor_8318/archive/2010/01/29/5267698.aspx【摘要】本文以Linux 2.6.25 内核为例,分析了基于platform总线的驱动模型。首先介绍了Platform总线的基本概念,接着介绍了platform device和platform driver的定义和加载过程,分析了其与基类device 和driver的派生关系及在此过程中面向对象的设计思想。最后以ARM S3C2440中I2C控制器为例介绍了基于platf转载 2010-11-26 15:42:00 · 689 阅读 · 0 评论 -
android4.0与2.3版本的触摸屏驱动调试注意
转自搜索到的一篇blog,他没有注明转载出处,我也没法写出处了,对原创作者隔空说一声抱歉。android4.0与2.3版本的TP代码区别在android2.3上调试TP时,只需要把linux驱动调通,android就可以正常使用了,而到android4.0上又有些不同了,针对linux驱动,需添加如下内容: 1、在手指按下时需调用如下函数上报Key Down:转载 2012-03-23 17:18:11 · 8260 阅读 · 4 评论 -
在android 4.0上开发触摸设备驱动需要注意的几点
android 4.0已经渐渐流行,很多方案都已经基于其上,android 4.0的linux内核版本已经更新为linux 3.0,这个变化导致和内核直接接触的驱动需要或多或少的变化,以下描述的是触摸设备驱动的一些小变化:1.当一个(这时候的情境应该是多点触摸的情况)手指或是触摸工具抬起(UP)时,他应该立即消失在多点出没的同步报告中,当所有的工具或手指抬起,驱动应该立即发送一个“空”同步原创 2012-03-23 14:53:37 · 5288 阅读 · 0 评论 -
Android中添加USB键盘的CapsLock键
Android平板的硬件越来越强大屏幕越来越大,大家希望按照使用PC的习惯来使用它,如果要在平板上进行大量的文字输入使用虚拟按键简直就是折磨自己,USB键盘才是正常的输入设备,下面的文章记录了调试键盘中对CapsLock按键添加的过程。 国际标准USB键盘的所有的按键在linux中已经有键值了在文件external/qemu/linux_keycodes.h,比如capslock没有原创 2012-01-10 16:50:17 · 4077 阅读 · 0 评论 -
Android源码学习之七—传感器的背后
SensorActivity.java<br />在应用程序中使用传感器需要用到hardware包中的SensorManager、SensorListener等相关的类,具体的实现代码如下:<br />publicclass SensorActivity extends Activity {<br /> privatestaticfinal String TAG="SensorActivity";<br /> SensorManager mySM;<br /> SensorListen转载 2011-04-19 16:06:00 · 1230 阅读 · 0 评论 -
值得收藏的博客
<br />http://blog.csdn.net/zhenwenxian原创 2011-02-24 10:44:00 · 801 阅读 · 0 评论 -
msm7227平台linux I2C驱动分析(2.6.29)
Revision HistoryDate Issue Description Author Msm7227平台I2C驱动分析 滕景东 目录1. 摘要 32. 简介 33. I2C架构 34. I2C总线初始化 45. I2C适配器驱动 56. I2C设备驱动 97. 用户空间驱动支持 128. 数据传输框架 169. References 161. 摘要主要介绍Msm7227平台上I2C驱动原理,多数部分是29内核标准架构。2. 简介I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL转载 2011-02-23 20:42:00 · 1139 阅读 · 0 评论 -
关于中断处理程序中的关中断函数disable_irq和disable_irq_nosync
disable_irq关闭中断并等待中断处理完后返回, 而disable_irq_nosync立即返回. 那么在中断处理程序中应该使用哪一个函数来关闭中断呢?在<linux设备驱动开发详解>中的按键驱动中, 使用disable_irq来关闭中断, 但是我在测试时进入中断后系统会死在中断处理程序, 而改为disable_irq_nosync则能正常退出中断处理程序.下面从内核代码来找一下原因:先看一下disable_irq_nosync,内核代码中是这样解释的:<br />/**<br /> * dis转载 2011-02-23 12:33:00 · 1805 阅读 · 0 评论 -
对通用输入输出GPIO的深入理解
对通用输入输出GPIO的深入理解<br />ARM技术2009-10-31 10:14:39阅读1评论0 字号:大中小 订阅一.GPIO简介<br /> I/O(Input/Output)接口是一颗微控制器必须具备的最基本外设功能。通常在ARM里,所有I/O都是通用的,称为 GPIO(General Purpose Input/Output)。每个GPIO端口包含8个管脚,如PA端口是PA0~PA7。GPIO模块支持多个可编程输入/输出管脚(具体取决于与 GPIO复用的外设的使用情况)。GP转载 2011-02-20 00:10:00 · 2591 阅读 · 0 评论 -
linux驱动中probe函数何时被调用?[转]
linux驱动中probe函数何时被调用?[转]<br />声明:以下主要内容参考自:<br />关于struct device_driver结构中的probe探测函数的调用<br />http://blog.chinaunix.net/u2/71164/showart.php?id=1361188<br /><br />用SourceInsight跟踪:<br />从driver_register看起,此处我的这里是:<br />int driver_register(struct device_driv转载 2011-02-20 00:11:00 · 2158 阅读 · 1 评论 -
Linux 内核驱动--多点触摸接口
译自:linux-2.6.31.14/Documentation/input/multi-touch-protocol.txt简介 为了使用功能强大的多点触控设备,就需要一种方案去上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。 使用说明 单点触摸信息是以ABS承载并按一定顺序发送,如BTN_TOUCH、ABS_X、ABS_Y、SYNC。而多点触摸信息则是以ABS_MT承载并按一定顺序发送,如ABS_MT_POSITION_X、ABS转载 2011-03-05 19:55:00 · 8458 阅读 · 1 评论 -
android g-sensor相关流程
<br />1.使G-sensor正常工作需要做的事:<br /><br />G-sensor driver文件包括:<br /><br />driver/i2c/chips/lis331dl.c<br />driver/i2c/chips/sensorioctl.h<br />include/linux/lis331dl.h<br /><br />并在/kernel/arch/arm/mach-s3c6410/mach-ur6410.c文件中i2c chanel1的结构变量i2c_devs1[] __in转载 2011-01-22 20:27:00 · 1012 阅读 · 0 评论 -
s3c2410触摸屏驱动(2.6内核)分析
s3c2410触摸屏驱动(2.6内核)分析s3c2410触摸屏驱动(2.6内核)分析 驱动不是很多,在此把它贴出来然后加上必要的注释:<br /><br />#include <linux/config.h><br />#include <linux/errno.h><br />#include <linux/kernel.h><br />#include <linux/module.h><br />#include <linux/slab.h><br />#include <linux/input.h原创 2011-01-23 23:00:00 · 835 阅读 · 0 评论 -
Android如何生成设备节点
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://buaadallas.blog.51cto.com/399160/394350在Android中,由于没有mdev和udev,所以它没有办法动态的生成设备节点,那么它是如何做的呢?我们可以在system/core/init/下的init.c和devices.c中找到答案:init.c中int main(int argc, char **argv) { ... /*转载 2011-01-22 19:12:00 · 1353 阅读 · 0 评论 -
Android中G-Sensor相关流程
Android中G-Sensor相关流程(2011-01-10 11:11:33)转载标签:杂谈Android中G-Sensor相关流程1.使G-sensor正常工作需要做的事:G-sensor driver文件包括:driver/i2c/chips/lis331dl.cdriver/i2c/chips/sensorioctl.hinclude/linux/lis331dl.h并在/kernel/arch/arm/mach-s3c6410/mach-ur6410.c文件中i2c chanel1的结构变量i2转载 2011-01-16 21:29:00 · 970 阅读 · 0 评论 -
select()和fd_set (设计多sensor的hal时使用)
select()和fd_set select()函数主要是建立在fd_set类型的基础上的。fd_set(它比较重要所以先介绍一下)是一组文件描述字(fd)的集合,它用一位来表示一个fd(下面会仔细介绍),对于fd_set类型通过下面四个宏来操作: fd_set set; FD_ZERO(&set); /* 将set清零使集合中不含任何fd*/ FD_SET(fd, &set); /* 将fd加入set集合 */ FD_CLR(fd, &set); /转载 2011-01-16 22:07:00 · 955 阅读 · 0 评论 -
透过HAL(硬件抽象层)看顶层API是如何访问硬件
透过HAL(硬件抽象层)看顶层API是如何访问硬件(2011-01-10 11:17:21)转载标签:杂谈透过HAL(硬件抽象层)看顶层API是如何访问硬件 文章导读:HAL硬件抽象层的实现及架构、Android API 与硬件平台的衔接、NDK的一些看法。简介:Hardware Abstraction Layer硬件抽象层是一个轻量级(lightweight)的的运行环境,提供了简单的设备驱动程序接口,应用程序使用设备驱动程序与底层硬件之间进行通信。HAL应用程序接口和ANSIC标准库结合在原创 2011-01-16 21:27:00 · 1738 阅读 · 0 评论 -
Android Sensors Development
Android Sensors Development Android系统的传感器系统,为开发者提供了统一的程序框架来实现系统中的多个传感器功能,比如:加速度传感器,磁力传感器,温度传感器,压力传感器。google已经为我们完成了JNI和Java部分,并且提供了底层的程序框架。所以 Android的Sensor部分主要工作集中在了 $(YourDroid)/hardware/libhardware/modules/sensors/sensors.c文件编写。 打开$(YourDroid)/har转载 2011-01-16 21:24:00 · 2525 阅读 · 0 评论 -
linux 驱动调试时在线读写I2C寄存器的方法
调试I2C设备时经常需要修改寄存器的值,通常的方法是修改-》编译-》烧写-》重启,哪怕改一个寄存器也要这样折腾一下,很消耗时间,下面提供一种在线修改寄存器的方法,在终端中敲命令就可以写寄存器,不要上面那些步骤. 这个方法的基础是读写/proc文件系统,不熟悉这个的可以自行学习,下面分步骤说明一下这种方法,注意这只是一个框架如果相拥在自己的系统上可能还有一些细要适配。1.创建/pr原创 2012-11-07 10:41:49 · 6899 阅读 · 2 评论