- 博客(13)
- 收藏
- 关注
原创 Linux cpufreq 简介
一、为什么要 CPU 变频CPU变频即改变CPU运行时的频率,CPU在不同的频率下运行时所需的电压不同,频率越高,所需的电压也随之升高,因此在移动设备领域,为了节省功耗,在系统suspend或者load较小时,让CPU运行在较低的频点,可以减少CPU的功耗,从而延长设备的续航时间。 二、与CPU变频相关的模块1) OPP 用来描述cpu支持的频率和电压组合,cpu变频时,...
2019-01-23 16:05:15
2431
原创 Android 8.0电池功耗统计
Android 功耗统计的核心函数是文件BatteryStatsHelper.java中的refreshStats函数,此函数会调用processAppUsage函数和processMiscUsage函数分别计算APP功耗和系统硬件功耗。下面将详细介绍如何计算APP功耗,系统硬件功耗与APP功耗的计算方法相似,就不再介绍了。在processAppUsage函数中,分别调用了如下函数:Android
2018-01-17 11:00:15
1643
转载 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
11570
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
2557
原创 Linux工作队列
Linux工作队列今天刚好要用到工作队列,在网上搜了一圈,感觉讲的比较简单,很多细节的东西没有描述清楚,因此决定写篇文章记录下,便于以后查找。Linux中的等待队列有两种,一种是普通的work queue,还有一种是可以给定延时多久以后执行的work queue,相比普通的来说,其多了延时时间这个参数,下面将具体介绍下应该如何使用这两种work queue。 1. 普通w
2017-11-15 13:40:56
371
原创 Linux clock driver
Linux clock driver一.Linux 时钟驱动简介Linux 时钟驱动可以分成两部分,第一部分为commonclock framwork(CCF),第二部分为底层的时钟设备驱动。第一部分的功能是向其他模块提供操作时钟的接口如:clk_set_rate(设置时钟)以及底层驱动注册时钟的接口,这一部分Linux已经帮我们写好了,作为Linux driver engineer,我们...
2017-11-08 10:47:55
2326
原创 Linux suspend 流程介绍(2)之 freeze task
Linuxsuspend流程介绍之冻结任务一、什么是任务冻结任务冻结是在系统休眠(hibernation)或者全系统睡眠(system-wide suspend)过程中用户态进程和部分内核线程的控制机制。二、为什么需要进程冻结1. 防止系统休眠或者睡眠后,文件系统损坏;如果没有冻结进程,在系统suspend过程中,还有进程在对文件系统进程写操作,会破坏文件系统。2.
2017-10-24 19:07:54
2176
原创 linux suspend 流程简介(1)
Linux suspend procedure introduction (1)1. 简介在消费类电子产品中,系统功耗是非常重要的指标,其直接影响到设备的续航时间。比如智能手机,当暂时不使用时,需要关闭部分设备(如显示屏)以降低功耗,进入低功耗模式,此时执行的就是suspend流程,当我们使用手机时,就需要将其从低功耗模式唤醒,此时系统进入resume流程,唤醒系统。本文主要介绍linux
2017-10-22 17:55:02
1111
原创 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
1962
转载 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
3532
原创 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
13059
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人