Thermal Engine
Thermal 相关的东西主要在Vendor/qcom/proprietary/thermal-engine 目录下:
thermal-engine.conf 文件可以用来配置高低温时CPU的工作模式、充电电流等相关操作。
 
 
也可通过修改ss-data.c thermal_config thermal_monitor-data-8916.c两个文件中的结构体成员来配置。
当然,程序会优先选择conf文件进行解析,但是conf文件中涉及到的各项内容,在 c文件中的结构体要存在。
(也就是说,你在conf文件中配置了CPU1,但是ss-data.c中对应的平台结构体没有CPU1这一项,那么相关的配置文件参数是不会生效的)
 
此文件由 therml_config.c 来解析,使用
int load_config(struct thermal_setting_t *settings, const char *pFName)
在 therml_config_v2.c 中使用
int load_config(struct thermal_setting_t *settings, const char *pFName, int flag)
 
主要看传入的第二个参数
const char *cf = (pFName) ? pFName : CONFIG_FILE_DEFAULT;
如果pFname不存在,就用默认文件
 
thermal.h文件中定义
#ifndef CONFIG_FILE_DEFAULT
#define CONFIG_FILE_DEFAULT "/system/etc/thermal-engine.conf"
#endif
 
在安卓O版本中,thermal-engine.conf 放在了 /system/vendor/etc/ 目录下,这个目录实际上是链接的vendor/etc/的目录,这个要特别注意。不止thermal这一块变了,camera的目录也发生了比较大的改变。
另外在安卓O版本中,调试的时候,输入adb shell thermal-engine -o 关于CPU的配置总是不能输出。但是adb root 的一下就可以了,这个应该是权限问题。具体会不会影响thermal机制的运行,还要实际测一下试试。

 
Thermal engine 调试
 
1.找到当前的thermal engine配置
  1. adb shell thermal-engine –o > thermal-engine.conf
 
2.修改该文件后推送到设备上
 
3.将”debug“放到thermal-engine.conf的首行,然后重新启动thermal-engine服务
  1. adb shell stop thermal-engine
  2. adb root
  3. adb remount
  4. adb push thermal-engine.conf /system/etc/thermal-engine.conf
  5. adb shell sync .
  6. adb shell strat thermal-engine --debug &
4.logcat查看系统温度log
  1. adb logcat –v time –s ThermalEngine

Android Thermal-engine的更多相关文章

  1. Android Thermal HAL 降龙十八掌

    基本概念 参阅下面两篇文章,就可以大概了解一些概念的内容了 https://source.android.com/devices/architecture/hidl/thermal-mitigatio ...

  2. Android游戏引擎总汇 原文出处:http://software.intel.com/en-us/blogs/2012/03/13/game-engines-for-android?page=1

    随着Android系统的使用越来越广泛,了解一下Android平台下的游戏引擎就非常有必要.而同时因为基于Intel x86的移动设备越来越多,我也非常关注支持x86的移动游戏引擎.然而就目前为止游戏 ...

  3. JustWeEngine - 轻量级游戏框架

    JustWeEngine - 轻量级游戏框架 An easy open source Android game engine. Github地址 引擎核心类流程图 使用方法 引入Engine作为Lib ...

  4. React Native纯干货总结

    随着项目也渐渐到了尾声,之前的项目是mobile开发,采用的是React Native.为即将要开始做RN项目或者已经做过的小伙伴可以参考借鉴,也顺便自己做一下之前项目的总结. 文章比较长,可以选择自 ...

  5. QLGame 2d Engine Android端环境搭建(通过jni读取assets目录的文件)

    QLGame 2d Engine win端已经实现了一个动物的动画了,初步的东西已经完成,考虑在Android端也实现这些基本的东西,这样跨平台的引擎也就实现了! 要在Android下编程,首先要实现 ...

  6. Android简易实战教程--第十一话《获取手机所有应用信息Engine类详解》

    如果想要获取系统手机应用的详细信息,那么下边代码可以直接作为模板使用.笔者对每一行代码都做了注解,供您参考.直接上代码: package com.example.itydl.engines; impo ...

  7. Android/Linux Thermal框架分析及其Governor对比

    图表 1 Thermal框架 随着SoC性能的快速提升,功耗也极大提高,带来的负面影响是SoC的温度提高很快,甚至有可能造成物理损坏.同时功耗浪费也降低了电池寿命. 从上图可知,Thermal框架可以 ...

  8. Android/Linux Thermal Governor之IPA分析与使用

    IPA(Intelligent Power Allocator)模型的核心是利用PID控制器,Thermal Zone的温度作为输入,可分配功耗值作为输出,调节Allocator的频率和电压值. 由P ...

  9. Genymotion 插件在 Eclipse 和 Android Studio 中点击后无法初始化 Initialize Engine: failed 解决方法

    Genymotion 插件已更新至 1.0.6,目前无法初始化的问题已经解决. ------------------------------------------------------------ ...

随机推荐

  1. hdu 1811拓扑排序+并查集(容器实现)

    http://www.cnblogs.com/newpanderking/archive/2012/10/18/2729566.html #include<stdio.h> #includ ...

  2. 20180906关于mysql启动

    转自 https://blog.csdn.net/sqlserverdiscovery/article/details/52808541

  3. Spring-data-jpa 笔记(一)

    Spring Data JPA简介: 可以理解为 JPA 规范的再次封装抽象,底层还是使用了 Hibernate 的 JPA 技术实现,引用 JPQL(Java Persistence Query L ...

  4. 怎样在Linux下使用Markdown进行文档工作

    怎样在Linux下使用Markdown进行文档工作 在Linux系统中,编辑markdown能够用retext工具: sudo apt-get install retext retext Releas ...

  5. SecureCRT 8.0公布

    百度搜索到的7.3 注冊码生成器还是能够用于8.0的破解. 破解时,选择手动输入(Enter Licence Manually)产生的代码. 添加了一些特性,我最看重的是: 1.  能够在以下命令窗体 ...

  6. Android 属性动画(Property Animation) 全然解析 (上)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38067475 1.概述 Android提供了几种动画类型:View Animat ...

  7. Spring MVC : Java模板引擎 Thymeleaf (二)

    本文原计划直接介绍Thymeleaf的视图解析,但考虑到学习的方便,决定先构建一个spring-mvc. 以下的全部过程仅仅要一个记事本和JDK就够了. 第一步,使用maven构建一个web app. ...

  8. 【翻译自mos文章】注意: ASMB process exiting due to lack of ASM file activity

    注意: ASMB process exiting due to lack of ASM file activity 參考原文: NOTE: ASMB process exiting due to la ...

  9. 百练1088:滑雪 【DP】+【DFS】

    总Time Limit: 1000ms Memory Limit: 65536kB Description Michael喜欢滑雪百这并不奇怪, 由于滑雪的确非常刺激.但是为了获得速度,滑的区域必须向 ...

  10. JMeter—丰富报表功能PerfMon插件

    可能有童鞋不知道PerfMon插件是干啥的.这里简要说一下: 在做负载測试时,我们要时刻关注server的CPU.MEM--的使用情况,可是JMeter本身对这些信息是不做收集的,这个时候PerfMo ...