Linux驱动知识
guoguo295
这个作者很懒,什么都没留下…
展开
-
gpio_request 原形代码解读
其原型为 int gpio_request(unsigned gpio, const char *label) 先说说其参数,gpio则为你要申请的哪一个管脚,label则是为其取一个名字。其具体实现如下:[cpp] view plaincopyprint?int gpio_request(unsigned gpio, const char *label) {转载 2012-10-09 22:09:08 · 1152 阅读 · 0 评论 -
android 物理按键返回键的驱动调试
在调试所有的物理按键之前,一定要搞清楚物理按键是由什么控制的,比如说是gpio口控制还是由adc_value控制,gpio控制的比较简单,就不多说了。下面简单说下adc_value控制的方法:在board中找到key_button数组,添加代码如下:{.desc = "esc",.code = KEY_BACK, .adc_value = 410,.gpio =原创 2013-06-19 16:47:59 · 2511 阅读 · 0 评论 -
高清屏2048x1536换普清屏1024x768调试
在将高清屏SDK包移植到普清屏上的时候,除了更换相应的屏驱动代码外,关键还要更改BoardConfig.mk文件下的BOARD_USE_LCDC_COMPOSER变量,更改如下BOARD_USE_LCDC_COMPOSER ?= false改动后最好make clean一下再重新编译,否则可能导致机器起不来,进不了android系统原创 2013-10-07 11:53:11 · 1817 阅读 · 0 评论 -
camera前后置gpio口影响
交换前后camera的gpio口,解决:1.camera默认开启为前置摄像头的问题;2.竖屏开启camera,预览及拍照与实物成180度的问题;3.前置camera镜像问题。原创 2013-10-22 15:59:09 · 923 阅读 · 0 评论 -
屏驱动调试新规则记录
找到LCD规格书如下在驱动代码里找到如下变量:/* Timing */#define H_PW 100//320#define H_BP 140//480#define H_VD 1024#define H_FP 80//260#define V_PW 10#define V_BP 6#define V_VD 768#define V_FP 22原创 2013-10-22 16:48:31 · 1005 阅读 · 0 评论 -
platform_device与platform_driver
做Linux方面也有三个多月了,对代码中的有些结构一直不是很明白,比如platform_device与platform_driver一直分不清关系。在网上搜了下,做个总结。两者的工作顺序是先定义platform_device -> 注册 platform_device->,再定义 platform_driver-> 注册 platform_driver。 (1)platform_devic转载 2014-01-07 17:09:49 · 924 阅读 · 0 评论 -
camera全景模式预览方向异常
1.GPIO口,在第一次调试的时候,GPIO配置不正常的话,会导致进不了相机。之后交换GPIO口,不影响进入相机,影响前后置成像方向; 2.调试camera方向,主要是指board方向,ro.sf.hwrotation=0,后置设置成0度,前置设置成180度; 3.调试camera驱动,查找控制mirror和upside的寄存器。以sp2518为例,注意其中的P0,.指原创 2013-11-21 19:18:14 · 2994 阅读 · 1 评论 -
gsensor方向调试说明
以下说明主要是针对gsensor方向XY反向的问题。gsensor方向的调试,涉及到两个方面,一个是通道的改变,一个是数据的改变。下面以mma7660为例,简单介绍下在调试过程中遇到的一些问题,便于以后学习查询。在版及配置文件中,mma7660注册信息如下:static struct sensor_platform_data mma7660_info = {.type = SENS原创 2014-02-20 11:16:06 · 5963 阅读 · 0 评论 -
OV5640全景模式预览倒180度,拍照正常的问题
此方法基本上适用于所有android平台上全景模式预览倒180度,拍照正常的问题。 首先说明的是,影响camera方向的有三个地方,分别是系统方向,内核camera方向和驱动镜像。全景模式预览只跟系统方向和驱动镜像有关,一般情况下我们不希望去更改系统方向,而是去修改驱动镜像的方向,来调整全景模式的预览方向。而全景模式的拍照方向跟全景模式的预览方向没有任何关系,全景拍照的方向跟普通的拍照原创 2014-03-14 19:31:47 · 5545 阅读 · 0 评论 -
关于调试GPS45711的记录
公司平板电脑以前都是不带GPS功能的,今年过完年来,公司新开了一个带GPS功能的项目,软件部分由我来负责。说实话,平时调试的外设模块驱动也是很多了,但是真正调试像GPS这样的串口通讯模块,接触的还是比较少。虽然蓝牙模块也是通过串口通讯工作的,但是每次蓝牙配置都只需要在内核board里面配置好相应的电源,复位,中断,串口等gpio口就够了,最多考虑一下接口的复用就可以了,都是属于内核层的gpio口调原创 2014-03-15 09:25:10 · 3310 阅读 · 2 评论 -
对system/bin目录下可执行文件重命名操作
adb shell# mount (找到/dev/block/mtdblock7 /system ext4 ro,noatime,nodiratime,barrier=1,data=ordered,noauto_da_alloc 0 0)# mount -o remount,rw /dev/block/mtdblock7 /system#mv 文件名1 文件名2原创 2014-03-20 20:44:56 · 1720 阅读 · 0 评论 -
高通平台 lcd driver 调试小结
一、概述1.1 简介 本文档主要包括LCD模块的驱动流程分析、Framebuffer相关知识、Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解。1.2 开发环境 Android:4.0 Kernel: Linux3.0 Ubuntu:需要 10.04以及之后的版本转载 2014-08-14 11:03:36 · 3623 阅读 · 0 评论 -
关于LCD的分屏与切屏 Tearing effect
详细文档(带图片):http://download.csdn.net/detail/xuehui869/5268852 1.LCM之Fmark功能http://blog.csdn.net/zhandoushi1982/article/details/6011241 最近调试R61509V这颗LCM驱动芯片时,出现在纯色测试画面下画面刷新有转载 2014-08-18 14:53:48 · 2826 阅读 · 0 评论 -
高通平台点亮LCD个人总结
高通平台LCD模块大致分为两部分:原创 2014-11-21 11:26:07 · 19695 阅读 · 9 评论 -
android验证底层驱动是否上报正常
确定底层驱动是否上报之前,先确定dev目录下相应的节点是否生成,然后是否getevent命令查看当前挂载的驱动设备.例如:C:\Documents and Settings\Administrator>adb shellroot@android:/ # geteventgeteventadd device 1: /dev/input/event4 name: "h原创 2013-06-10 15:57:30 · 1852 阅读 · 1 评论 -
串口设备权限设置
有时候,我们插上在MID上插上带USB转串口的设备,机器能够识别到这个节点,比如ttyUSB0,但是通过打印信息看到设备没有权限去访问这个节点,此时就需要给这个节点赋予可访问的权限,当然,每次使用的时候,都执行chmod 777 /dev/ttyUSB0命令,发现设备可以访问此节点了,但是只能一次有效,下次插上设备的时候又失效了。 下面介绍两种给节点赋予权限的方法: 1原创 2013-03-28 11:29:31 · 2259 阅读 · 0 评论 -
Android 屏幕重力感应
由于重力感应器在板上安装的方向不同,而移植时需要调整相关的代码。解决屏幕显示颠倒相关问题,相关的有两部分代码:1. 内核重力感应器驱动部分,如 MMA76601vi drivers/input/gsensor/mma7660.c在这个文件中寻找相似以下的代码1axis.y = mma7660_c转载 2012-10-11 23:53:38 · 1125 阅读 · 0 评论 -
[Gsensor] Android 重力感应实例代码
android中的很多游戏的游戏都使用了重力感应的技术,但其api demo却并没有重力感应的实例(不知道是不是我没找到,找到的朋友麻烦告诉我一下,谢谢),因为开发的需要,就研究了一下重力感应这方面,因为网上关于 这方面的东西比较少,所以写出来跟大家交流一下,算是抛砖引玉吧。(ps.因为重力感应式需要真机才能测试的,所以,下面提供的demo程序只能在真机上跑。) 因为官方说明比较含转载 2012-10-12 00:22:13 · 1536 阅读 · 0 评论 -
freescale的MMA7660-gsensor
i800上使用的 gsensor 是freescale的MMA7660,此芯片能够探测xyz三维方向上大于1.5g的加速度,从I2C接口以数字信号的 形式输出其xyz轴上的加速度值。它的探测极限是10000g,即大约从1.8米自由下落到地面反弹起来时的加速度,也就是说手机从1.8米处掉到地 上,gsensor可能坏掉。 MMA7660是MMA7450的简化,有10个寄存器可供转载 2012-10-11 22:52:22 · 966 阅读 · 0 评论 -
ANDROID模块编译
之前每次修改BoardConfig.mk后,都傻傻的先make clean然后重新编译,这样浪费的时间不计其数。后来忍受不了这种效率,Google了一下,果然不出所料是可以模块独立编译的。1、进入Android源码根目录,执行source build/envsetup.sh;2、可以执行mm、mmm等模块编译命令了。如要编译audioflinger,则执行mmm frameworks/ba转载 2012-10-12 22:31:51 · 713 阅读 · 0 评论 -
android camera(一):camera模组CMM介绍
关键词:android camera CMM 模组 camera参数平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) 下载:常用摄像头规格书(个别有android驱动程序) :bf3703 30W、gc0308 30W、ov7670、gt2005 200W、gt2015 200W、NT99250 200W、s5转载 2012-10-17 11:33:17 · 749 阅读 · 0 评论 -
重力感应调试记录
今天移植完内核后,发现gsensor方向不对,而且机器总是自动死机或重启,从串口信息来看,有报gsensor错误的信息,于是就先从gsensor调试开始做起,本人也是第一次调试gsensor,在调试之前也在网上找了很多相关方面的资料文献,但感觉作用不是很大,和后来本人调试的操作方法也存在些许差异,下面我就简单介绍一下我亲身调试过的操作步骤: 1.首先进行基准调试,打开device/..原创 2012-10-16 23:35:45 · 1824 阅读 · 0 评论 -
android camera(四):camera 驱动 GT2005
关键词:android camera CMM 模组 camera参数 GT2005 摄像头常见问题平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) android camera(一):camera模组CMM介绍android camera(二):摄像头工作原理、s5PV310 摄像头接口(C转载 2012-10-17 09:55:06 · 1008 阅读 · 0 评论 -
android camera(三):camera V4L2 FIMC
关键词:android camera CMM 模组 camera参数 CAMIF V4L2 平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) android camera(一):camera模组CMM介绍android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAM转载 2012-10-17 18:15:07 · 857 阅读 · 0 评论 -
android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF)
关键词:android camera CMM 模组 camera参数 CAMIF平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) android camera(一):camera模组CMM介绍android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF)转载 2012-10-17 18:12:09 · 1092 阅读 · 0 评论 -
关机充电进入充电模式
在android 4.1上,如果想要机器关机后插上AC进行充电,机器会进入充电模式的话,只需在内核配置中进行简单配置即可,路径大致如下:Device Drivers -->Power Supply class support -->Support charger display选中上述路径即可。 如果出现在充电过程中,背光灯没有关闭的情况(现象表现为充电图标逐渐消失,由亮变暗的过原创 2012-11-02 00:07:39 · 1712 阅读 · 0 评论 -
container_of 理解
问题:如何通过结构中的某个变量获取结构本身的指针???关于container_of见kernel.h中:/*** container_of - cast a member of a structure out to the containing structure* @ptr: the pointer to the member.* @type: the t转载 2012-11-02 14:20:46 · 527 阅读 · 0 评论 -
linux打包解压命令记录
在日常工作中,常用的打包解压命令:假设当前目录为myfile,存在文件夹file,压缩包test.tar.gz1.打包file文件夹:tar -zcvf file.tar.gz file;2.解压test.tar.gz: tar -zxvf test.tar.gz(或者tar -zxvf test.tar.gz -C 指定文件夹,此指定文件夹需要mkdir先创建);3.打包fil原创 2013-03-28 15:21:23 · 667 阅读 · 0 评论 -
电子扫描枪设备识别
调试扫描枪设备,只需要修改kernel/drivers/usb/dwc_otg/dwc_otg_cil.c文件下ptxfifosize.b.depth = 0x0200的值即可原创 2013-03-28 11:31:12 · 1048 阅读 · 0 评论 -
I2C通信 读写数据过程
在通信之初,主从机必须根据自己的要求约定好通信规则:command的定义和位置、address的位数和位置。以读写从机寄存器数据为例:假设从机寄存器地址为8位、从机寄存器也位8位(被读取数据为8位);约定读command为0x01,写command位0x02;约定主机发起通信后,第一个slave address字节收到ack后,紧跟的一个字节为comma转载 2014-11-25 11:44:32 · 32419 阅读 · 4 评论