- 博客(30)
- 问答 (1)
- 收藏
- 关注
原创 基于msm8916移植lcd流程
本篇先不讲解lcd代码在kernel和lk中的流程,讲解基于msm8916,移植ILI9881C型号的lcd首先要准备一下东西:屏IC 规格书,初始化代码,硬件原理图 屏IC 规格书—>获得时序等数据 初始化代码 —>获得初始化屏幕ic的命令,用于编写屏的.h文件(lk)和.dtsi文件(kernel) 硬件原理图 —>获得打开背光、reset等有关电源的引脚,在代码中拉高拉低首先从
2020-05-20 13:01:59
390
原创 待机电流过高bug解决
前言: 待机电流达到30ma 用cat d/rpm_stats查看,结果如下:root@msm8916_64:/ # cat d/rpm_statscat d/rpm_statsRPM Mode:xosd count:0time in last mode(msec):0time since last mode(sec):481actual las
2020-05-20 12:52:04
462
原创 camera解析设备树
1.先解析一下以下三路电://说明此摄像头是需要三路电的,分别代表dvdd、dovdd和avdd三种电,他们几个的对应关系如下qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";qcom,cam-vreg-min-voltage = 1800000 0 2850000 >;qcom,cam
2020-05-20 12:49:30
1091
原创 抓ram dump
抓取工具:QPST 解析工具:CrasScope抓取QPST的原理: 系统需要触发crash, 同时机器需要进行warm reset 当进入warm reset的时候,QPST可以开始抓取ram dump了,此时正常的电流为 这里有三种方法可以触发crash,然后进入warm reset: 1.命令方法 输入以下命令cd /d/regmap/spmi0-00 ------...
2018-06-26 21:58:25
2650
2
原创 OCP问题debug
问题重现: 在设备中设置alarm闹铃,然后选择震动和闹铃和屏幕最低亮度。确保进入vddmin后,当闹铃响的时候,会crash OCP: 过电流保护OCP(英文名称:over current protection) 预定当被测电流增大超过允许值时执行相应保护动作(如使断路器跳闸)的一种措施保护。 log等级: cat /proc/sys/kerne...
2018-06-25 20:45:30
5155
原创 T32使用-----抓取rpm dump
抓取rpm dump: 1.去相应的meta目录下,例如:\checkers\nsid-sha-spsp-01\MSM8909W.LAW.3.0.0.1-00058-512M.PM660.SLE.1XGWLT.INT-1\common\t32\msm8909,打开t32start 2.首先要挂起apss端,然后才能挂rpm,点start, 在命令栏中输入sys.m.a,即为attached这两...
2018-06-23 21:40:56
2342
原创 LE代码制作OTA的过程
以下是制作一个ota包的代码过程分析: 1.在./meta-qti-bsp/recipes-products/images/machine-robot-image.bb中有(或者是machine-image.bb) require include/mdm-ota-target-image-ext4.inc 2.在rocto没有zip包的原因是,在上面的bb文件中把require in...
2018-06-14 19:23:33
874
原创 底电流
测试步骤 1.为了与QTI参考数据进行适当的比较,硬件配置也必须可以进行比较。 因此必须量化所有传感器或外部器件的电流消耗量。 量化以下终端的电流消耗量,必须计入已知增量: 传感器和其他第三方元器件 在终端中使用的不同于QTI参考数据的DDR大小 2.根据QTI标准功耗测量程序获得最终功耗测量数据。 将获得的数据与QTI参考功耗数据相比较,...
2018-06-13 09:55:21
4300
原创 下载代码的一些命令-小记
repo init -u git://git.quicinc.com/platform/manifest -b refs/tags/AU_LINUX_ANDROID_LNX.LA.3.7.1.1_RB1.04.04.04.229.102 -m versioned.xml –repo-url=git://git.quicinc.com/tools/repo –repo-branch=aosp/sta...
2018-06-11 21:08:36
724
转载 Linux内核--通知链事件notifier chain
参考:https://blog.youkuaiyun.com/wuhzossibility/article/details/8079021.1概述 Linux内核中各个子系统相互依赖,当其中某个子系统状态发生改变时,就必须使用一定的机制,告知使用其服务的其他子系统,以便其他子系统采取相应的措施。为了满足这样的需求,内核实现了事件通知链机制(notification chain) 通知链...
2018-06-09 17:18:42
601
原创 Linux Thermal3
这篇主要跟踪thermal probe的过程 首先是probe函数: 在msm_thermal_dev_probe(struct platform_device *pdev)函数中static int msm_thermal_dev_probe(struct platform_device *pdev){ struct device_node *node = pdev-&gt...
2018-06-04 09:30:22
684
原创 Linux Thermal2
基本知识 1.Temperature sensor 是一个内嵌在芯片集中热敏电阻 2.sensor 被放在接近硅芯片的一些热点点上 下面列举一些有这些t sensor的芯片: 第一次有T sensor的芯片是msm8660,只有一个 msm8960 芯片集有5个 msm8930 芯片集有10个 apq8084 msm8974 apq8064 芯...
2018-06-01 16:17:31
1245
原创 Linux Thermal
参考:http://kernel.meizu.com/linux-thermal-framework-intro.htmlLinux Thermal 是Linux 系统下温度控制相关的模块,主要用来控制系统运行过程中芯片产生的热量,使得芯片温度和设备外壳维持在一个安全的范围。Thermal 的主要框架 要实现一个温度控制的需求,就需要:获取温度的设备和控制温度的设备,以及一些使用温度控制...
2018-05-31 14:43:07
3152
原创 一些基本的内核函数
snprintf(),函数原型为int snprintf(char *str, size_t size, const char *format, …) 将可变个参数(…)按照format格式化成字符串,然后将其复制到str中 (1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符(‘\0’); (2) 如果格式化后的字符串长度 &g...
2018-05-28 10:44:49
2698
原创 Power-- 1.charge & Fuel gauge
1.电池曲线数据 高通平台: FG电量计来计算电池电量 电池数据是电量计不可或缺的一部分 一个型号的电池数据是一份dts文件2.电池数据分析 文件命名一般包含项目、厂商、电压、电容,如:xxx_xxx_xxmAh_xxx.dtsi 得到dtsi后可以根据情况做一些调整:电池电压,显示容量,电池ID电阻,热温度系数 Beta值,电池型号名称等内容需要修...
2018-05-21 14:25:21
3887
原创 rtc驱动的bug
在sys/class/rtc/rtc0下面没有wakealarm文件节点echo +100 > /sys/class/rtc/rtc0/wakealarm 可以手动设置rtc的响应时间wakealarm文件节点出现的条件:rtc_device_register--->rtc_sysfs_add_device(rtc);--->rtc_does_wakealarm(rtc)的结果为...
2018-03-01 17:22:53
2344
原创 制作ota差分包
1.make otapackage 2. 将编译生成的 out/target/product/msm8660_surf/obj/PACKAGING/target_files_intermediates/msm8916_surf-target_files-eng.xxxx.zip 拷贝并且更名放到目录~/ota/001.zip 3.更改代码 再make otapackage 4.第
2017-04-21 09:50:24
858
转载 VCC、VDD、VEE、VSS的区别
转:http://www.elecfans.com/dianzichangshi/20110905213926.html 电路设计以及PCB制作中,经常碰见电源符号:VCC、 VDD、VEE、VSS,他们具有什么样的关系那? 一、解释 VCC:C=circuit 表示电路的意思, 即接入电路的电压 VDD:D=device 表示器件的意思, 即器件内部的工作电压; VSS:
2017-03-24 09:01:17
1883
原创 camera上电时序
今天有空去研究camera的上电时序1.高通平台对于camera的代码组织,大体上还是遵循Android的框架: 即上层应用和HAL层交互,高通平台在HAL层里面实现自己的一套管理策略; 在kernel中实现sensor的底层驱动; 对于最核心的sensor端的底层设置、ISP效果相关等代码则是单独进行了抽离,放在vendor中。2.vendor中:
2017-03-22 16:15:23
10335
原创 待机电流过高bug解决
前言: 待机电流达到30ma 用cat d/rpm_stats查看,结果如下:root@msm8916_64:/ # cat d/rpm_stats cat d/rpm_stats RPM Mode:xosd count:0 time in last mode(msec):0 time since last mode(sec):481 actual last s
2017-03-22 10:42:09
4711
原创 基于msm8916移植lcd流程--kernel
二、在Kernel中移植lcd 流程大致和在lk中移植lcd差不多 1.首先要写好.dts文件 创建arch/arm/boot/dts/qcom/dsi-panel-xxx-video.dtsi文件 文件就一个节点,&mdss_mdp,这其中有显示屏的节点dsi_xxx,其中很多节点的数值都在上一节有提及&mdss_mdp { dsi_xxx: qcom,mdss_dsi_xxx_v
2017-02-17 20:30:38
4181
原创 基于msm8916移植lcd流程--LK
本篇先不讲解lcd代码在kernel和lk中的流程,讲解基于msm8916,移植ILI9881C型号的lcd首先要准备一下东西:屏IC 规格书,初始化代码,硬件原理图 屏IC 规格书—>获得时序等数据 初始化代码 —>获得初始化屏幕ic的命令,用于编写屏的.h文件(lk)和.dtsi文件(kernel) 硬件原理图 —>获得打开背光、reset等有关电源的引脚,在代码中拉高拉低首先从规格书中可
2017-02-17 15:03:13
4379
转载 GIT使用
1.git revert 写法:git revert 提交代码哈希值 作用:git revert 是撤消该commit,作为一个新的commit用于回退某个提交的代码,前后的commit没有改变。执行命令后会登陆另一个界面,ctrl+o enter ctrl+x
2017-02-14 11:45:08
331
原创 多路下载步骤
工具:qmsct 第一步:短接看端口,17号端口 第二步:打开软件,先登录后配置 端口号:17 端口设置选项选:单端口、手动设置 保存第三步:选择下载工具xtt,选择固件包 xtt: 工厂和短接选 MSM8916_SoftwareDownloadWithCDT_eMMC_Firehose 正常选 MSM8916_SoftwareUpgradeWithCDT_eMMC_Fi
2017-02-13 19:55:46
690
转载 Linux中的工作队列
转自http://www.cnblogs.com/wwang 工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。 工作队列是2.6内核开始引入的机制,在2.6.20之后,工作队列的数据结构发生了一些变化,因此本文分成两个部
2017-02-10 11:37:34
252
空空如也
实现双击唤醒触摸屏,可是linux进入深度睡眠的时候,触摸屏无效,怎么办??
2017-01-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人