Chinaunix首页 | 论坛 | 博客
  • 博客访问: 133520
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 337
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-12 17:41
个人简介

活到老,学到老

文章分类
我的朋友

分类: Android平台

2014-03-14 10:01:09

最近在调试展讯android平台一个手机项目,发现手机不能进入待机状态,功耗偏高,

1. 在待机的时候抓取系统的待机状态下的kernel log  也就是/proc/kmsg文件
   最好使用T卡抓log或者将kmsg文件重定向到手机内置U盘空间中,等待机时间够了之后将该log从手机中取出进行分析

2. 系统没有进入低功耗的睡眠状态,大部分都是因为存在wakeup irq 频繁起来导致

     在kernel中pm_debug.c中 void inc_irq(int irq)会打印出唤醒系统的irq, log 关键字为 “wakeup irq =”

3. 通过对kernel log 即kmsg中进行有关键字“wakeup irq =”搜索
   
   发现irq=142频繁出现,如何能够知道该irq对应的应用属于,可以通过手机中/proc/interrupts文件找到对应的irq对应的处理函数

“142: 1528 irq-d-gpio  taos_irq“ 

后来发现taos的驱动有问题,更改之后待机功耗正常
   


  
阅读(3056) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~