android 开发
文章平均质量分 75
_修_
平凡
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于修改real210屏幕尺寸的问题解决
在开发板real210上,应用的android2.3,开发板自带的屏幕尺寸是7寸的,分辨率为800*480,现在,我想应用新屏幕,尺寸为9.7,分辨率为1024*768,修改的文件kernel/arch/ram/mach-s5pv210/mach-smdkc110.cdzh中的 #ifdef CONFIG_FB_S3C_LTE480WVstatic struct s3cfb_lcd lte48原创 2013-05-16 19:21:15 · 913 阅读 · 0 评论 -
s3c2410_gpio_cfgpin函数解析
函数原型:s3c2410_gpio_cfgpin(unsigned int pin,unsigned int function)位置:/linux-2.6.32.2/arch/arm/plat-s3c24xx/gpio.c函数内容:void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function){ void __转载 2012-09-21 16:23:59 · 613 阅读 · 0 评论 -
request_irq函数
#include int request_irq(unsigned int irq, void (*handler)(int irq,void dev_id,struct pt_regs *regs), unsigned long flags, const char *device, void *dev_id); void free_irq(unsigned int ir转载 2012-09-21 16:30:42 · 1735 阅读 · 0 评论 -
s3c2410_gpio_getpin函数
unsigned int s3c2410_gpio_getpin(unsigned int pin){ void __iomem *base = S3C24XX_GPIO_BASE(pin); unsigned long offs = S3C2410_GPIO_OFFSET(pin); return __raw_readl(base + 0x04) & (1}转载 2012-09-21 16:26:57 · 5810 阅读 · 0 评论 -
Android HAL实现的三种方式(1) - 基于JNI的简单HAL设计
现在在Android上的HAL开发总的来说还是随意性比较大,Android也并没有规范好一个具体的框架,下面我将根据Jollen的Mokoid工程,自己做了一些改动,分别给大家介绍一下三种实现方式。这篇先介绍最简单的一种实现方式 - Java应用程序直接调用JNI库。由于JNI技术的存在,在Android中,java程序能够很好的调用C/C++库。我们这里设计一个简单的HAL,一共只有三层转载 2012-09-21 21:53:43 · 511 阅读 · 0 评论 -
s3c2410_gpio_cfgpin等内核导出函数
//这里面的函数都是内核导出函数/plat-s3c24XX/gpio.c中#include #include #include #include #include #include #include #include #include #include //设置gpio的工作模式,是输入,输出还是其他的//s3c2410_gpio_cfgpin(S3转载 2012-09-21 16:25:19 · 1051 阅读 · 0 评论 -
MINI2440_BUTTON.C
#include #include #include #include #include #include #include #include #include #include #include #define DEVICE_NAME "buttons" /* 加载模式后,执行”cat转载 2012-09-21 16:29:47 · 1227 阅读 · 0 评论 -
Android源代码简要分析
frameworks 目录 (核心框架——java及C++语言).|-- base (基本内容)| |-- api (?都是xml文件,定义了java的api?)| |-- awt (AWT库)| |-- build (空的)| |-- camera (摄像头服务程序库)| |-- cmds (重要命令:am、app_pro转载 2012-12-12 15:02:33 · 599 阅读 · 0 评论 -
android 电容屏(三):驱动调试之驱动程序分析篇
转载:http://blog.youkuaiyun.com/xubin341719/article/details/7833383关键词:android 电容屏 tp 工作队列 中断 坐点计算 电容屏主要参数平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 4210) and转载 2012-12-13 11:00:09 · 948 阅读 · 0 评论 -
android 电容屏(一):电容屏基本原理篇
转载:http://blog.youkuaiyun.com/xubin341719/article/details/7820492关键词:android 电容屏 tp ITO 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 4210) android 电容屏(一):电容屏基本原转载 2012-12-13 10:54:35 · 539 阅读 · 0 评论 -
android 电容屏(二):驱动调试之基本概念篇
转载:http://blog.youkuaiyun.com/xubin341719/article/details/7833277关键词:android 电容屏 tp 工作队列 中断 多点触摸协议平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 4210) 参考网站:http://ed转载 2012-12-13 10:57:42 · 563 阅读 · 0 评论 -
file_operations
struct file_operations{ struct module *owner; // 指向拥有该结构的模块的指针,避免正在操作时被卸载,一般为初始化为THIS_MODULES loff_t (*llseek) (struct file *, loff_t, int);转载 2012-12-21 10:32:15 · 554 阅读 · 0 评论 -
FT5406触摸屏驱动
学习要点:1、驱动程序入口点,在哪个阶段被加载,如何调整驱动加载的先后;2、设备和驱动之间如何关联上;3、I2C总线的操作,I2C协议;4、电源管理,包括电源的申请、打开、待机处理等;5、Input设备的注册,事件的上报;6、多点触摸设备的事件,参数;7、方向调整;1.首先,分析下FT5406的基本电路接口[html] view plaincop转载 2013-06-03 16:52:56 · 3076 阅读 · 0 评论 -
电容触摸屏驱动---基于FT5406
最近刚调试好郭泰的电容触摸屏,现记录下。 ft5406数据手册----------------------------------------------------------------------------------------cpu:s5pv210touch ic :FT5406 平台:android首先,分析下 FT5406 的基本电路接口:基本都转载 2013-06-03 16:49:22 · 4197 阅读 · 1 评论 -
linux-2.6.32在mini2440开发板上移植(10)之触摸屏工作原理以及驱动程序详细分析
编者:这部分还是比较长的,因此没有放在上个移植里面。这里主要说触摸屏的工作原理,以及对上述驱动程序代码的简单分析。分析中参考了网上的很多资料。感谢原作者的无私奉献,因为涉及多篇,在此就没有注出原作的链接。 本文分为三个部分,第一部分讲叙硬件知识,包括触摸屏的原理以及SCC2440 SOC 上的触摸屏是如何工作的。第二部分分析输入设备子系统的框架,并进行相应的代码分析。第三部分利用上述的原理转载 2013-06-08 10:37:36 · 1023 阅读 · 0 评论 -
S5PV210 I2C设备驱动
对于一个i2c设备来说,其设备文件是最简单也是最复杂的,说它简单是因为很设备厂商会提供linux下的代码,这样就简单了;但是也有很多厂商它不提供或不完整提供linux下的代码,这样的话当然就复杂了。那么这个我现在这里就不说了,下面说说做了几个I2C设备(以ISA1200为例)后发现,不管设备文件如何总是要自己来做的一些事情,这大概就是所谓的移植吧。 当然这个工作都是在板文件中进行的转载 2013-06-25 11:16:37 · 2039 阅读 · 0 评论 -
Linux驱动子系统之I2C(一)
主要是参考http://blog.youkuaiyun.com/cjok376240497/article/details/6972305,对I2C子系统讲解的很透彻的一篇文章,值得一读。1 硬件特性1.1 概述I2C总线是由Philips公司开发的两线式串行总线,这两根线为时钟线(SCL)和双向数据线(SDA)。由于I2C总线仅需要两根线,因此在电路板上占用的空间更少,带来的问题是带宽较窄。I2转载 2013-07-18 16:05:09 · 3977 阅读 · 0 评论 -
多点触控协议(MTP)
Multi-touch (MT) Protocol------------------------- Copyright (C)2009-2010 Henrik Rydberg Introduction------------In order to utilize the full power of thenew multi-touch and mul转载 2013-07-18 16:06:05 · 1364 阅读 · 0 评论 -
Android LCD(一):LCD基本原理篇
关键词:android LCD TFT 液晶 偏光片 彩色滤光片 背光平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250作者:xubin341719(欢迎转载,请注明作者)下载链接:LCD规格书(404份),之前转载 2013-07-05 14:39:27 · 1277 阅读 · 0 评论 -
Android LCD(四):LCD驱动调试篇
关键词:android LCD TFTSN75LVDS83B TTL-LVDS LCD电压背光电压平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250作者:xubin341719(欢迎转载,请注明作者)下载链接:LCD规格书(转载 2013-07-05 14:43:33 · 1717 阅读 · 0 评论 -
Android LCD(二):LCD常用接口原理篇
关键词:android LCD TFT TTL(RGB) LVDS EDP MIPI TTL-LVDS TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250作者:xubin341719(欢迎转载,请注明作者)转载 2013-07-05 14:41:09 · 1249 阅读 · 0 评论 -
Android LCD(三):Samsung LCD接口篇
关键词:android LCD控制器 Framebuffer PWM 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250作者:xubin341719(欢迎转载,请注明作者)下载链接:LCD规格书(404份),之前工作用转载 2013-07-05 14:42:43 · 1765 阅读 · 0 评论 -
Linux设备模型基础---操作函数
关于kref的操作函数初始化?voidkref_init(structkref *kref){atomic_set(&kref->refcount, 1); mp_mb();}注意smp_mb以及smp_mb_*的目的是保证在多核SMP机器上的一致性,初始化后引用计数转载 2012-09-10 15:23:02 · 721 阅读 · 0 评论 -
Android驱动例子(LED灯控制)
本例子,讲述在android2.1上完全自已开发一个驱动去控制硬件口并写应用测试该驱动,通过这样一个例子,解析android下的驱动开发流程的应用调用流程,可以说是很好的入门引导。要达到的效果:通过android的应用,调用驱动程序,在开发板上控制4个LED的亮灭。 一、硬件原理 如上图,通过4个IO口控制这LED,低电平L转载 2012-07-10 21:16:52 · 576 阅读 · 0 评论 -
LINUX设备驱动之设备模型四--device&driver&bus
-----------------------------------------------------------------本站分析linux内核源码,版本号为2.6.32.3转载请注明出处:http://ericfang.cublog.cn/-----------------------------------------------------------------接上转载 2012-08-20 09:35:42 · 932 阅读 · 0 评论 -
LINUX设备驱动之设备模型五--device&driver&bus
-----------------------------------------------------------------本站分析linux内核源码,版本号为2.6.32.3转载请注明出处:http://ericfang.cublog.cn/-----------------------------------------------------------------接上转载 2012-08-20 09:36:57 · 723 阅读 · 0 评论 -
在Ubuntu上为Android系统编写Linux内核驱动程序
在智能手机时代,每个品牌的手机都有自己的个性特点。正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了。据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore。随着Android系统逐步扩大市场占有率,终转载 2012-08-20 09:46:03 · 735 阅读 · 0 评论 -
在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序
在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val。进一步,还通过cat命令来直接访问/proc/hello和/转载 2012-08-20 10:03:31 · 773 阅读 · 0 评论 -
为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
在上两篇文章中,我们介绍了如何为Android系统的硬件编写驱动程序,包括如何在Linux内核空间实现内核驱动程序和在用户空间实现硬件抽象层接口。实现这两者的目的是为了向更上一层提供硬件访问接口,即为Android的Application Frameworks层提供硬件服务。我们知道,Android系统的应用程序是用Java语言编写的,而硬件驱动程序是用C语言来实现的,那么,Java接口如何去访问转载 2012-08-20 10:11:20 · 524 阅读 · 0 评论 -
为Android系统内置Java应用程序测试Application Frameworks层的硬件服务接口
我们在Android系统增加硬件服务的目的是为了让应用层的APP能够通过Java接口来访问硬件服务。那么, APP如何通过Java接口来访问Application Frameworks层提供的硬件服务呢?在这一篇文章中,我们将在Android系统的应用层增加一个内置的应用程序,这个内置的应用程序通过ServiceManager接口获取指定的服务,然后通过这个服务来获得硬件服务。转载 2012-08-20 10:17:25 · 813 阅读 · 0 评论 -
在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序
在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法。简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的硬件抽象层中。接着,在Ubuntu上为Android系统编写Linux内核驱动程序一文中举例子说明了如何在Linux内核编写驱动程序。在这一篇文章中,我们将继续介绍Android系统硬件驱动程序的另一转载 2012-08-20 10:08:58 · 619 阅读 · 0 评论 -
在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务
在数字科技日新月异的今天,软件和硬件的完美结合,造就了智能移动设备的流行。今天大家对iOS和Android系统的趋之若鹜,一定程度上是由于这两个系统上有着丰富多彩的各种应用软件。因此,软件和硬件的关系,在一定程度上可以说,硬件是为软件服务的。硬件工程师研发出一款硬件设备,自然少了软件工程师为其编写驱动程序;而驱动程序的最终目的,是为了使得最上层的应用程序能够使用这些硬件提供的服务来为用户提供软件功转载 2012-08-20 10:13:40 · 565 阅读 · 0 评论 -
Android硬件抽象层(HAL)概要介绍和学习计划
Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,转载 2012-08-20 09:39:51 · 510 阅读 · 0 评论 -
Android从驱动层到应用程序层的通信
研究一下Android从驱动层到应用层的通信机制是很有必要的,如新增加一个硬件并在应用层去控制硬件都需要用到,目的是知道需要增加哪些东西删改哪些东西而让系统依然工作正常。总共需要增改的有四个东西,驱动、服务(jni、java)、应用apk采用的方式是在驱动层写个字符型设备驱动其中内含一个定时器,每隔2秒发送一个uevent事件并改变sys下相关文件的内容,然后建立一个服务去读取文件并通过i转载 2012-08-25 10:15:37 · 2660 阅读 · 0 评论 -
Android HAL实例解析 .
一、概述 本文希望通过分析台湾的Jollen的mokoid 工程代码,和在s5pc100平台上实现过程种遇到的问题,解析Andorid HAL的开发方法。 二、HAL介绍 现有HAL架构由Patrick Brady (Google) 在2008 Google I/O演讲中提出的,如下图。 Android的HAL是为了保护一些硬件提供转载 2012-07-04 08:49:38 · 816 阅读 · 0 评论 -
GPIO驱动分析 & GPIO使用方法 -- S5PC110
参考文件:arch\arm\mach-s5pv210\include\mach\gpio.h , \drivers\gpio\gpiolib.c , arch/arm/plat-s3c/include/plat/gpio-core.h , arch\arm\mach-s5pv210\gpio.c .另外, documentation\gpio.txt 文档是重要参考!通常, GPIO分成若转载 2012-09-27 10:34:34 · 1205 阅读 · 0 评论 -
JNI学习之步步深入四--皇后的祝福
上篇中简单介绍了,java中的类型和C中的类型的映射的,本篇将以一个无聊的实例来看看JNI中数组的使用。 皇后的祝福,思路很简单,就是利用我们耳熟能详的把皇后问题结合JNI来实现一点点小小的乐趣,在快乐中学习JNI。。。。 1、用C语言实现八皇后的算法,我们知道八皇后有92种解,每种解是一个数据,对应这当前这组解中八个皇后的位置。 2、在java中通过JNI调用c中的方法,转载 2012-09-13 10:53:35 · 1325 阅读 · 0 评论 -
JNI学习之步步深入三
上一篇中,学习了jni中的类型映射关系。本篇就一个简单点的实例来看看java端的类型,如何被C端识别。同时,在C端实现定义的一个类型如何传递到java端。本篇以String类型为例,看看java端的unicode编码的String类型如何和C端utf-8编码的char*类型进行交互! 1、首先,在java端写一个Prompt类:其中定义一个getLine方法,他含有一个转载 2012-09-13 10:52:45 · 935 阅读 · 0 评论 -
JNI学习之步步深入一
从接触Android的一段时间后,就经常听到JNI这个东东,刚开始,不知是由于对新事物的排斥,还是根本不把它当成一回事,就没有特地地去理他。只是在活跃的社区中零零散散地看到JNI的身影,大致知道所谓的JNI,就是一种不纯的JAVA编程技术,还需要把C/C++给扯进来。这下好了,看到需要C/C++,立马想到的是,有多远离多远。倒不是因为C/C++做过神马恐怖的勾当,而是本人C/C++技艺不精。自此,转载 2012-09-13 10:51:02 · 466 阅读 · 0 评论 -
JNI学习之步步深入二
JNI为了扮演在c/c++和java之间的匹配工作,它首先需要做的就是既要认识java中的数据类型,也要认识c/c++中的数据类型。这时,jni就相当于一个适配者了。好比,A与C两个人本来不认识,可是现在B认识A,B也认识C,那么通过C的指引和介绍,A和C就认识了! 那么jni如何做到既认识C/C++,也认识java呢?其实很简单,一张匹配表足矣,见图! 1、原始数据类型的匹转载 2012-09-13 10:51:51 · 414 阅读 · 0 评论
分享