自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Linux cpufreq 简介

一、为什么要 CPU 变频CPU变频即改变CPU运行时的频率,CPU在不同的频率下运行时所需的电压不同,频率越高,所需的电压也随之升高,因此在移动设备领域,为了节省功耗,在系统suspend或者load较小时,让CPU运行在较低的频点,可以减少CPU的功耗,从而延长设备的续航时间。 二、与CPU变频相关的模块1) OPP    用来描述cpu支持的频率和电压组合,cpu变频时,...

2019-01-23 16:05:15 2281

原创 Android 8.0电池功耗统计

Android 功耗统计的核心函数是文件BatteryStatsHelper.java中的refreshStats函数,此函数会调用processAppUsage函数和processMiscUsage函数分别计算APP功耗和系统硬件功耗。下面将详细介绍如何计算APP功耗,系统硬件功耗与APP功耗的计算方法相似,就不再介绍了。在processAppUsage函数中,分别调用了如下函数:Android

2018-01-17 11:00:15 1554

转载 深入浅出Android App耗电量统计

原文地址:http://www.cnblogs.com/hyddd/p/4402621.html

2017-12-29 16:16:49 2548 1

翻译 Linux device tree(设备树)

原文地址:https://elinux.org/Device_Tree_Usage

2017-11-24 16:08:27 1037

转载 linux mkdir函数使用

原文地址:https://www.cnblogs.com/aizaifengyu/archive/2012/12/06/2805232.html今天查一个bug,发现用mkdir(name,0777)函数创建文件夹,文件夹可以正常创建,但是属性却为700,网上查了一下,发现需要在mkdir函数之前先执行umask(0),测试有效,原文内容如下:linux的mkdir 函数原型如下:

2017-11-23 10:02:00 11443 1

原创 Linux clock driver(2) clk_register 详解

clock driver(2) clk_register 详解clk_register是底层clock driver用来向CCF(common clock framework)层注册时钟节点的接口,是CCF中的关键函数之一,下面将结合程序详细介绍其功能。先看一下来看一下 clk_register 函数的实现:struct clk *clk_register(struct device *dev, s

2017-11-16 16:19:41 2268 1

原创 Linux工作队列

Linux工作队列今天刚好要用到工作队列,在网上搜了一圈,感觉讲的比较简单,很多细节的东西没有描述清楚,因此决定写篇文章记录下,便于以后查找。Linux中的等待队列有两种,一种是普通的work queue,还有一种是可以给定延时多久以后执行的work queue,相比普通的来说,其多了延时时间这个参数,下面将具体介绍下应该如何使用这两种work queue。 1.      普通w

2017-11-15 13:40:56 329

原创 Linux clock driver

Linux clock driver一.Linux 时钟驱动简介Linux 时钟驱动可以分成两部分,第一部分为commonclock framwork(CCF),第二部分为底层的时钟设备驱动。第一部分的功能是向其他模块提供操作时钟的接口如:clk_set_rate(设置时钟)以及底层驱动注册时钟的接口,这一部分Linux已经帮我们写好了,作为Linux driver engineer,我们...

2017-11-08 10:47:55 2146

原创 Linux suspend 流程介绍(2)之 freeze task

Linuxsuspend流程介绍之冻结任务一、什么是任务冻结任务冻结是在系统休眠(hibernation)或者全系统睡眠(system-wide suspend)过程中用户态进程和部分内核线程的控制机制。二、为什么需要进程冻结1.      防止系统休眠或者睡眠后,文件系统损坏;如果没有冻结进程,在系统suspend过程中,还有进程在对文件系统进程写操作,会破坏文件系统。2.

2017-10-24 19:07:54 2031

原创 linux suspend 流程简介(1)

Linux suspend procedure introduction (1)1. 简介在消费类电子产品中,系统功耗是非常重要的指标,其直接影响到设备的续航时间。比如智能手机,当暂时不使用时,需要关闭部分设备(如显示屏)以降低功耗,进入低功耗模式,此时执行的就是suspend流程,当我们使用手机时,就需要将其从低功耗模式唤醒,此时系统进入resume流程,唤醒系统。本文主要介绍linux

2017-10-22 17:55:02 1004

原创 Linux hung task detect

hung相关代码所在路径:kernel/linux/kernel/hung_task.c相关内核配置宏在out/target/product/xxx/obj/KERNEL/.config文件中,如下所示:CONFIG_DETECT_HUNG_TASK=yCONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120CONFIG_BOOTPARAM_HUNG_TASK_

2017-10-17 16:23:53 1834

转载 Android VTS test

要进行 VTS 测试,首先需要搭建测试环境,我们需要以下这些组件: + 64-bit Ubuntu Linux + Java 8+ Python 2.7 + ADB 1.0.39具体的搭建步骤是: 安装Java8(JDK8)sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesud

2017-10-17 16:05:28 3399

原创 android logd 原理及实现

一、logd介绍logd 是Android L版本提出来的概念,其作用是保存Android运行期间的log(日志)。在Android L之前,log由kernel的ring buffer 保存,在Android L之后,log保存在用户空间。1)  logd进程启动系统启动到init函数时会解析init.rc文件,启动logd进程和logd-reinit(重新初始化logd) 进程,i

2017-10-17 16:00:07 12680

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除