随笔分类 - 驱动
利用init进程监控底层节点的方法架构
摘要:native层利用底层节点变化,再针对变化进行相应的函数调用,实现某些功能。 架构如下: 底层提供节点更新,以及healthd读取节点的实现,都比较简单。而其余部分比较关键。 特别注意init监控prop,并触发接口,调用具体函数的这个路径。 具体关键实现点如下: Running Service:修
阅读全文
Android系统调用卡顿问题分析(cache计数错误,导致走到slow path耗时)
摘要:背景 遇到一个android手机系统卡顿的问题,现象是整体系统都卡顿。 在抓取systrace,log等情况下,并未找到明显root cause。但是发现在抓取syatrace的时候,发现会特别卡顿,之后提示systrace抓取失败,但是卡顿会出现一定缓解。 分析 由于systrace抓取提示失败,
阅读全文
Linux、Android系统调用从上层到底层的调用路径浅析
摘要:参考: https://blog.csdn.net/liuhangtiant/article/details/85149369 http://blog.sina.com.cn/s/blog_7943319e0101a5ds.html 前言 已经对系统调用比较熟悉了,但是没有脚踏实地地跟过系统调用,如
阅读全文
Ftrace的部分使用方法
摘要:ftrace主要是用于调试linux kernel调度相关的一个工具,也可用于分析部分kernel性能问题。 相关ftrace的介绍可以参考:kernel/msm-4.9/Documentation/trace/ftrace.txt 以及同级目录下的其他介绍文件。 kernel.org的ftrace
阅读全文
开机慢issue分析
摘要:工作中遇到一个开机时间慢的issue。 解这类问题的步骤一般都是固定的,主要是从boot各阶段分别分析,同时与正常的进行对比。 具体的关键字以及工具等,可以参考QCOM的相关文档,或者我的另一篇blog也会进行部分总结。对于这部分,本人经验还不是特别足,见谅。 好了,直接看问题吧。 issue1:开
阅读全文
VR玩游戏卡顿issue分析
摘要:issue描述: 使用VR以及手柄,玩切水果游戏。在挥砍时,击中水果时,手柄震动,并同时出现画面卡顿。卡顿较严重,帧率降至个位数,即遇到所谓的 jank。 基础背景知识: 1. 按照FPS60计算,那么每帧的间隔约为16ms,如果间隔超过16ms,就会出现掉帧,甚至卡顿。 而FPS30,则是33ms
阅读全文
Qcom平台RTC驱动分析
摘要:相关文件list: 简述: 所谓RTC(Real Time Clock),用于关机时继续计算系统日期和时间。是基于硬件的功能。也可以RTC做Alarm来设置power on/off。 驱动分析: 首先在dts的Document中看到两个配置项: 一个是是否使能写RTC时间的功能。另一个是是否支持RT
阅读全文
高通平台获取secure boot,串号等状态
摘要:adb shell下 运行./system/bin/r address 其中address对应各个flag参数的地址,具体如下: 无法打开/dev/mem节点(没有该节点),这时只需在内核配置中选上CONFIG_DEVMEM,重新编译内核重烧即可。
阅读全文
msm8909平台JEITA配置和bat-V therm表合入
摘要:8909平台的冷热充电温度点是硬件控制的,不能软件控制,目前硬件设置的是0~55度的充电区间。 软件上应该设置的是BTM comparator threshold, 70%(cold)~35%(hot)。 驱动可以控制充电区间内的充电电压和电流。 qcom,batt-hot-percentage =
阅读全文