Android驱动开发
loongembedded
本人目前在佛山一家上市公司负责智能终端、服务机器人的研发工作,欢迎大家的指教和交流!。
展开
-
linux通过platform_match()匹配platform总线上的device和driver
\kernel\msm-4.9\drivers\base\platform.c定义了platform_match()的实现,先来看定义/** * platform_match - bind platform device to platform driver. * @dev: device. * @drv: driver. * * Platform device IDs are assumed to be encoded like this: * "<name><inst原创 2021-04-15 15:21:32 · 1231 阅读 · 0 评论 -
SDM450+android8.1播放左声道音频文件和右声道音频文件,左右喇叭都有声音问题
正常的现象是播放左声道音频文件,左喇叭播放;播放右声道音频文件,右喇叭播放,但问题是不管播放左还是右音频文件,左右喇叭都有播放原理图设计经过排查,原来是当时产品为了兼容,hardware\qcom\audio\configs\msm8953\mixer_paths_mtp.xml当时注释掉了<!--ctl name="MI2S_RX Channels" value="Two" /-->引起了,重新打开就可以了,因为硬件设计上是用耳机接口,所以xml中的speaker下的内容从原创 2021-01-12 20:03:54 · 640 阅读 · 1 评论 -
android平台TP调试无法正常使用问题
首先RST内部上拉,外部应该取消上拉,INT对地电容会影响到I2C通讯成功,I2C正常不该增加对地电容,I2C可以正常通讯,但是会使上升沿变缓慢,影响到Trise导致TP无法正常工作...原创 2020-04-17 17:04:20 · 986 阅读 · 1 评论 -
Linux/Android多点触摸协议
链接点击打开链接关于Linux多点触摸协议大家可以参考kernel中的文档:https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt,而这里根据实际的例子来理解多点触摸协议。多点触摸协议有两种,A协议和B协议。首先来看A协议,协议上说了报点格式是这样的,以两点为例: ABS_MT_POSITION_转载 2016-04-24 11:55:21 · 1671 阅读 · 0 评论 -
msm8974 camera driver添加新摄像头kernel hal修改
添加一款新摄像头流程1添加sensor kernel driver, 主要实现上电、rst、pwd、mclk等power setting,sensor prob & sensor i2c driver prob 和 v4l2_subdev 注册\kernel\drivers\media\platform\msm\camera_v2\sensor\ov5648.c2 添加编译选项obj-$(CON转载 2016-06-14 14:58:53 · 2638 阅读 · 0 评论 -
qualcomm memory dump 抓取方法
Memory dump是系统出现crash时常用的分析故障原因的方法,qualcomm 各子系统运行时,为方便debug,都会开辟ram log和debug variable用于保存各系统运行信息及健康状态,就像飞机黑盒子用于记录飞行器飞行状态。当出现crash时,可以将ram log 、debug variable所在的memory region dump出来分析导致故障的原因。所以当需要分析c转载 2016-06-14 15:00:10 · 7024 阅读 · 3 评论 -
Android 震动马达系统
Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> Application) 在Android 2.3(Gingerbread) 系统的时候,我写过一篇关于“Android 震动马达系统“的文章,当时的Linux内核还是2.6版本的。写那篇文章的目的,是想彻底的了解从硬件到驱动,再到应用的运转载 2016-07-19 11:42:18 · 3898 阅读 · 1 评论 -
android sensor架构
Android Sensor 架构深入剖析作者:倪键树,华清远见嵌入式学院讲师。1、Android sensor架构Android4.0系统内置对传感器的支持达13种,它们分别是:加速度传感器 (accelerometer)、磁力传感器(magnetic field)、方向传感器(orientation)、陀螺仪(gyroscope)、环境光照传感器(light)、压力传感器(pressure)、转载 2016-05-18 11:00:11 · 9149 阅读 · 0 评论 -
Linux Android 多点触摸协议 原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/os/71/12306571.shtml
为了使用功能强大的多点触控设备,就需要一种方案去上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。 使用说明 单点触摸信息是以ABS承载并按一定顺序发送,如BTN_TOUCH、ABS_X、ABS_Y、SYNC。而多点触摸信息则是以ABS_MT承载并按一定顺序发送,如ABS_MT_POSITION_X、ABS_MT_POSITION转载 2016-04-16 16:07:24 · 3351 阅读 · 0 评论 -
android 电容屏(三):驱动调试之驱动程序分析篇
关键词:android 电容屏 tp 工作队列 中断 坐点计算 电容屏主要参数平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 4210) 作者:xubin341719(欢迎转载,请注明作者)android 电容屏(一):电容屏基本原理篇android 电容屏(二):驱动调试之基本概念篇androi转载 2016-04-13 17:57:20 · 3004 阅读 · 0 评论 -
android 电容屏(二):驱动调试之基本概念篇
关键词:android 电容屏 tp 工作队列 中断 多点触摸协议平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 4210) 作者:xubin341719(欢迎转载,请注明作者)参考网站:http://edsionte.com/techblog/archives/1582这部分参考别人的多一点and转载 2016-04-13 14:55:00 · 2044 阅读 · 0 评论 -
android 电容屏(一):电容屏基本原理篇
关键词:android 电容屏 tp ITO 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 4210) 作者:xubin341719(欢迎转载,请注明作者)android 电容屏(一):电容屏基本原理篇android 电容屏(二):驱动调试之基本概念篇android 电容屏(三):驱动调试之驱动转载 2016-04-13 14:34:49 · 1702 阅读 · 0 评论 -
Android驱动之 Linux Input子系统之TP——A/B(Slot)协议
点击打开链接将A/B协议这部分单独拿出来说一方面是因为这部分内容是比较容易忽视的,周围大多数用到input子系统的开发人员也不甚理解;另一方面是由于这部分知识一旦扩展到TP(触摸屏Touch Panel)的多点触摸就要与Middleware/Framework一起结合起来看才能完全掌握,复杂性所在。这里的Middleware/Framework是针对android来说的,本人从事android这几转载 2016-04-13 14:25:52 · 3852 阅读 · 0 评论 -
Android平台 Psensor传感器调试方法
一、 驱动层调试1、在板级dts文件中增加相应的dts代码,如:调试sensor类,在代码中找到已经有的代码在修改,I2C使用那根(一般为I2C3),I2C地址(找datasheet或者FAE),哪个中断引脚(看原理图)。twsi3: i2c@d4013800 { mc3xxx@4c {compatible = "mc3, mc3xxx转载 2016-04-13 09:02:21 · 5297 阅读 · 0 评论 -
Qualcomm平台camera调试移植入门
1 camera基本代码架构 高通平台对于camera的代码组织,大体上还是遵循Android的框架:即上层应用和HAL层交互,高通平台在HAL层里面实现自己的一套管理策略;在kernel中实现sensor的底层驱动。但是,对于最核心的sensor端的底层设置、ISP效果相关等代码则是单独进行了抽离,放在了一个daemon进程中进行管理:图1 Qualcomm平台camera代码架构简图转载 2016-07-20 13:03:03 · 3761 阅读 · 1 评论 -
linux qcom LCD framwork
点击打开链接0.关键字MDSS : Multimedia Display sub system DSI: Display Serial Interface1.涉及文件(1) drivers\video\fbmem.c (核心层) register_framebuffer(struct fb_info *fb_info) //对外暴露核心函数11(2)drivers\video\msm\mds转载 2016-08-15 19:24:06 · 2432 阅读 · 0 评论 -
linux/android kernel层读写二进制数据我找了些示例代码
#define NODE "/dev/block/mmcblk0p48"int get_partition_info(const char *filename, char *buf, loff_t offset, int length, bool flag){ struct file *filep; mm_segment_t old_fs; ...原创 2019-08-22 09:07:20 · 587 阅读 · 0 评论 -
Android7.1去掉USB权限弹窗
1.权限弹窗2.弹窗流程Android USB通信弹出权限确认框https://blog.csdn.net/zhongshujunqia/article/details/53212548?locationNum=5&fps=13.解决方法3.1 修改源代码android 7.0 禁止系统弹出USB 设备权限提示框https://blog.csdn.net/h...原创 2018-09-04 15:22:51 · 7872 阅读 · 1 评论 -
Android Usb的研究
USB为什么复杂,因为USB标准内容太多了.Android上的USB外围设备.我见过指纹,鼠标,触摸屏,U盘.大部分人用USB充充电.USB的介绍网上已经很多了,我以移植一个USB触摸屏来说明我的理解.Android上USB的API android.hardware.usb.UsbManager,函数也不多,就是不好用,一个涉及到权限,另外一个涉及到协议.权限:先解决表面上的问题,...转载 2018-08-18 14:45:21 · 804 阅读 · 0 评论 -
android系统底层驱动多个物理按键上报同一个键值给app层,app层如何区分
如果设备有多个按键上报同一个键值给app层,app通过getScanCode()可以区分是哪个物理按键,得到的值就是linux驱动层的扫描码原创 2018-07-30 11:30:06 · 869 阅读 · 0 评论 -
Qualcomm DragonBoard 410c Display之DSI浅析
https://blog.csdn.net/tamell5555/article/details/52129984一. DSI简介 DSI全称是 Display Serial Interface,是mipi协议的一个规范。它定义了一个在平台端和panel之间的串行总线和通信协议,总线包括一条 Clock lane和 1~4条 Date lane。每条 lane有两条...转载 2018-07-18 16:31:04 · 1724 阅读 · 0 评论 -
高通MSM8909 CAMERA TUNING 基础
点击打开链接转载自:http://blog.chinaunix.net/uid-7213935-id-5750641.html一. 重要概念:1.色温所谓色温,简而言之,就是定量地以开尔文温度(K)来表示色彩。英国著名物理学家开尔文认为,假定某一黑体物质,能够将落在其上的所有热量吸收,而没有损失,同时又能够将热量生成的能量全部以“光”的形式释放出来的话,它便会因受到热力的高低而变成不同的颜色,如下...转载 2018-05-26 23:18:13 · 2558 阅读 · 0 评论 -
linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析
点击打开链接在上一篇文章中介绍了camera的基础知识和相关概念,我们一起来了解一下驱动相关的代码结构。本文以高通+android平台为示例,首先看一下整体框图:这张图是从整体上来看的1,图中最下面的是kernel层的驱动,其中按照V4L2架构实现了camera sensor等驱动,向用户空间提供/dev/video0节点2,在往上是HAL层,高通代码实现了对/dev/video0的基本操作,对接...转载 2018-05-26 23:10:23 · 2481 阅读 · 0 评论 -
Qualcomm Audio HAL 音频通路设置
点击打开链接1. 音频框图概述| Front End PCMs | SoC DSP | Back End DAIs | Audio devices | *************PCM0 <------------> * * <----DAI0-----> Codec Headset ...转载 2018-05-22 14:00:38 · 7405 阅读 · 0 评论 -
linux驱动由浅入深系列:高通sensor架构实例分析之一
点击打开链接本系列导航:linux驱动由浅入深系列:高通sensor架构实例分析之一(整体概览+AP侧代码分析)linux驱动由浅入深系列:高通sensor架构实例分析之二(adsp驱动代码结构)Linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解、校准流程详解)最初的时候芯片厂家对sensor的处理和对待其它外设一样都是直接挂在processor上,sensor的驱...转载 2018-05-22 13:52:12 · 2088 阅读 · 0 评论 -
高通平台手机开发之Sensor
点击打开链接4.6. Sensor 高通文档 1) 80-N7635-1_E_Snapdragon_Sensors_Core_New_Sensor_Driver_Integration_LA.pdf2) 80-NA157-92_C_MSM8974_Snapdragon_Sensors_Core_Deep_Dive.pdf3) 传感器工作原理.ppt8974支持ADSP处理sensor信号,也可以由...转载 2018-05-22 13:50:20 · 1575 阅读 · 0 评论 -
android7.1+msm8937双MIC改为单MIC(晓龙相机录像声音小)
android7.1+msm8937双MIC改为单MIC(晓龙相机录像声音小) 1. 问题背景晓龙相机录像的时候,回播视频发现外放声音非常小,但如果用耳机来听则正常。2. 产品和参考设计MIC的差别 我们产品 开发板 MIC_IN1_P/M 主MIC 主MIC MIC_IN2_P/M 耳机 耳机 MIC_IN3_P/M NC 副MIC 3. 录音时抓log和分...原创 2018-04-26 00:39:59 · 2519 阅读 · 0 评论 -
高通camera驱动分析
点击打开链接1、Sensor slave配置结构体msm_camera_sensor_slave_info定义在media/msm_cam_sensor.h中:struct msm_camera_sensor_slave_info {char sensor_name[32]; //sensor名称char eeprom_name[32]; //eep...转载 2018-05-03 22:16:57 · 1611 阅读 · 0 评论 -
功耗优化方法
点击打开链接1、底电流调试(Rock Bottom Current Optimization)底电流在手机飞行模式下调试。每个平台的底电流数据可能不一样,具体可以参考release出来的Current Consumption Data文档或者release note。一般情况下的底电流参考数据上限是:512M RAM 1.1校准RF保证RF的PA、Antenna switch、Tuner、APT转载 2017-02-14 16:20:02 · 1710 阅读 · 0 评论 -
Android 系统自动重启Bug(高通平台)
点击打开链接最近客户反馈了一个Bug,我们的系统用着用着会自动重启,尤其是在拨号的时候极容易死机或者进入下载模式。根据老大和高通的支持得到了一个解决方案。 在Android系统中,有这么一个文件夹:sys/bus/msm_subsys/devices,里面分别有三个文件夹:subsys0、subsys1、subsys2,这三个都是android系统中运行的子系统。根据高通的解释,subsys0转载 2016-09-29 19:45:52 · 2566 阅读 · 0 评论 -
android camera(三):camera V4L2 FIMC
关键词:android camera CMM 模组 camera参数 CAMIF V4L2 平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) 作者:xubin341719(欢迎转载,请注明作者)android camera(一):camera模组CMM介绍android转载 2014-11-29 11:27:55 · 1526 阅读 · 0 评论 -
android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF)
关键词:android camera CMM 模组 camera参数 CAMIF平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) 作者:xubin341719(欢迎转载,请注明作者)android camera(一):camera模组CMM介绍android camera(二):转载 2014-11-29 11:27:07 · 1862 阅读 · 0 评论 -
android camera(四):camera 驱动 GT2005
关键词:android camera CMM 模组 camera参数 GT2005 摄像头常见问题平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) 作者:xubin341719(欢迎转载,请注明作者)android camera(一):camera模组CMM介绍android cam转载 2014-11-29 11:29:10 · 1554 阅读 · 0 评论 -
android camera(一):camera模组CMM介绍
http://blog.csdn.net/xubin341719/article/details/7723725关键词:android camera CMM 模组 camera参数平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) 作者:xubin341719(欢迎转载,请注明作者)下载转载 2014-11-29 11:25:18 · 1401 阅读 · 0 评论 -
android驱动例子(LED灯控制)
本例子,讲述在android2.1上完全自已开发一个驱动去控制硬件口并写应用测试该驱动,通过这样一个例子,解析android下的驱动开发流程的应用调用流程,可以说是很好的入门引导要达到的效果:通过android的应用,调用驱动程序,在开发板上控制4个LED的亮灭。一、硬件原理如上图,通过4个IO口控制这LED,低电平LED亮,这4个IO口分别是GPM1, GPM转载 2014-10-01 16:20:41 · 2297 阅读 · 0 评论 -
MTK Android添加驱动模块
1 [编写linux驱动程序]1.1 一、编写驱动核心程序1.2 二、配置Kconfig1.3 三、配置Makefile1.4 四、配置系统的autoconfig1.5 五、编译2 [编写hal模块]2.1 一、新建xxx.h文件2.2 二、新建xxx.c文件2.2.1 1、包含相关头文件和定义相关结构2.2.2 2、定义hello_device_ope转载 2014-11-10 16:37:53 · 2027 阅读 · 0 评论 -
MT6575 充电流程
1,目前充电主要包括Power Off Charging(关机充电) 、IPO Charging(休眠充电)和 OS Charging(开机充电) 三个部分2,Power Off Charging 部分,可以仔细阅读如下部分的code:alps\mediatek\platform\mt6575\uboot\mt6575_bat.c // Power Off Ch转载 2014-09-27 15:26:43 · 2150 阅读 · 0 评论 -
MT6575 3G切换2G
因为了节省成本,需要从现在的3G方案切换置2G方案,做的修改,做个笔记。一: 将MTK给过来的补丁编译出如下文件。 二:在mediatek/custom/common/modem/ 路径下增加一个文件夹: yecon15_tb_ics_gprs.将上面便宜出来的bin文件放到这个文件夹里面。三:修改修改编译工程配置文件ProjectConfig.m转载 2014-09-27 15:24:58 · 2067 阅读 · 0 评论 -
android backlight
背光设置是在:设置->声音和显示->亮度,通过进度条来设置的。文件:packages/apps/Settings/src/com/android/settings/BrightnessPreference.javaprivate static final int MINIMUM_BACKLIGHT = android.os.Power.BRIGHTNESS_DIM + 10;转载 2014-08-13 15:54:24 · 1700 阅读 · 0 评论 -
mtk camera 移植步骤
mtk camera 移植步骤:1, Kernel层驱动代码文件添加/mediatek/custom/doov92_wet_tdd/kernel/imgsensor/下添加imx179_mipi_raw_2lane/ 目录如下:imx179_mipi_raw_2lane - imx179mipiraw_Camera_Sensor_para_转载 2014-12-02 16:12:04 · 6534 阅读 · 0 评论