全志A133 android10 thermal温控策略配置调试

embedded/2025/2/8 18:41:23/

一,功能介绍

Thermal简称热控制系统,其功能是通过temperature sensor(温度传感器)测量当前CPU、GPU等设备的温度值,然后根据此温度值,影响CPU、GPU等设备的调频策略,对CPU、GPU等设备的最大频率进行限制,最终实现对CPU、GPU等设备温度的闭环控制,避免SOC温度过高。


二,DTS配置

源码位置:longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw10p1.dtsi

thermal-zones {cpu_thermal_zone {polling-delay-passive = <500>; //温度超过阈值,轮询温度周期(ms)polling-delay = <1000>; //温度未超过阈值,轮询温度周期(ms)thermal-sensors = <&ths 0>;sustainable-power = <1200>; //温度达到预设温度最大值,系统可分配的最大powerk_po = <66>;k_pu = <132>;k_i = <0>;cpu_trips: trips {cpu_threshold: trip-point@0 {temperature = <70000>; //代表系统温控在70度左右开启type = "passive";hysteresis = <0>;};cpu_target: trip-point@1 {temperature = <90000>; //代表系统最高温度是90度左右type = "passive";hysteresis = <0>;};cpu_crit: cpu_crit@0 {temperature = <110000>; //代表系统到达110度就会过温关机type = "critical";hysteresis = <0>;};};cooling-maps {map0 {trip = <&cpu_target>;cooling-device = <&cpu0THERMAL_NO_LIMITTHERMAL_NO_LIMIT>;contribution = <1024>; //cpu分配功率权重,通过调整cooling device对应的contribution,可以调整降频顺序和降频尺度};/*      map1{trip = <&cpu_target>;cooling-device = <&gpuTHERMAL_NO_LIMITTHERMAL_NO_LIMIT>;contribution = <1024>;};      */};};gpu_thermal_zone{polling-delay-passive = <500>;polling-delay = <1000>;thermal-sensors = <&ths 1>;sustainable-power = <1100>;};ddr_thermal_zone{polling-delay-passive = <0>;polling-delay = <0>;thermal-sensors = <&ths 2>;};};

temperature: 可根据产品温控规格,适当调整。

  1. 提高该参数,会允许系统在高温情况下运行更快,性能更好。当然,也会让产品的温度更高,所以需要注意,修改该参数后能否满足产品温度要求和高温测试等。
  2. 降低该参数就会在一定程度上降低高温情况下的性能,可以让产品运行在较低的温度。

三,调试方法

1. 查看sensor温度

查看thermal_zone的类型

#cat sys/class/thermal/thermal_zone0/type
cpu_thermal_zon

查看thermal_zone温度

#cat sys/class/thermal/thermal_zone0/temp
36000

温度单位为mC,也就是36摄氏度。

2. 模拟温度

thermal有温度模拟功能,可以通过模拟温度校验温度策略是否符合预期。

设置thermal_zone0的模拟温度
#echo 80000 > /sys/class/thermal/thermal_zone0/emul_temp
关闭thermal_zone0的模拟温度功能
#echo 0 > /sys/class/thermal/thermal_zone0/emul_temp

3. 关闭温控

a. 通过调试节点关闭温控

确认cpu温控thermal_zone0

#cat /sys/class/thermal/thermal_zone0/type
cpu_thermal_zone

关闭温控策略

#echo disabled > /sys/class/thermal/thermal_zone0/mode

接触所有cooling device的限制

#echo 0 > /sys/class/thermal/thermal_zone0/cdev*/cur_state
b. 通过修改dts节点关闭温控

以关闭cpu温控为例,删除cpu_thermal_zone下的其他节点和属性

cpu_thermal_zone{polling‑delay‑passive = <0>;polling‑delay = <0>;thermal‑sensors = <&ths 0>;
};

http://www.ppmy.cn/embedded/160599.html

相关文章

反向代理模块你那会

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;将从服务器上得到的结果返回给客户端&#xff0c;此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说&#xff0c;反向代理就相当于…

图文并茂-jvm内存模型

堆内存划分的空间&#xff0c;如何回收这些内存对象&#xff0c;有哪些回收算法&#xff1f; 推荐阅读 设计模式与技术组件图解Java类文件到虚拟机-CSDN博客

Java 的 CopyOnWriteArrayList 和 Collections.synchronizedList 有什么区别?分别有什么优缺点?

参考答案拆解 1. 核心概念对比 特性CopyOnWriteArrayListCollections.synchronizedList实现机制写时复制&#xff08;Copy-On-Write&#xff09;方法级同步&#xff08;synchronized块&#xff09;锁粒度写操作使用ReentrantLock&#xff0c;读操作无锁所有操作使用对象级锁&…

mysql8安装时提示-缺少Microsoft Visual C++ 2019 x64 redistributable

MySQL8.0安装包mysql-8.0.1-winx64进行安装&#xff0c;提示&#xff1a;This application requires Visual Studio 2019 x64Redistributable, Please install the Redistributable then runthis installer again。出现这个错误是因为我们电脑缺少Microsoft Visual C 这个程序&…

Racecar Gym 总结

1.Racecar Gym 简介 Racecar Gym 是一个基于 PyBullet 物理引擎 的自动驾驶仿真平台&#xff0c;提供 Gymnasium&#xff08;OpenAI Gym&#xff09; 接口&#xff0c;主要用于强化学习&#xff08;Reinforcement Learning, RL&#xff09;、多智能体竞速&#xff08;Multi-Ag…

docker swarm里搭建Selenium Grid分布式测试集群,测试节点随时在线,无需反复启停,效率增倍

分布式测试集群搭建 Selenium Grid 是 Selenium 生态系统中的关键组件&#xff0c;专为分布式测试设计&#xff0c;支持在多环境、多设备上并行执行测试用例&#xff0c;显著提升测试效率 核心组成&#xff1a; Hub&#xff08;中心节点&#xff09;&#xff1a;作为控制中枢…

Redis存储⑤Redis五大数据类型之 List 和 Set。

目录 1. List 列表 1.1 List 列表常见命令 1.2 阻塞版本命令 1.3 List命令总结和内部编码 1.4 List典型使用场景 1.4.1 消息队列 1.4.2 分频道的消息队列 1.4.3 微博 Timeline 2. Set 集合 2.1 Set 集合常见命令 2.2 Set 集合间命令 2.3 Set命令小结和内部编码 2.…

支持向量机(一)

支持向量机是典型的二分类模型&#xff0c;以其模型简单、实现简单、效果卓越而著称。 一元支持向量机 我们通过一条中间线根据特征对样本实现分类&#xff0c;很明显&#xff1a;两个支持样本的差别越大&#xff0c;两个支持样本的分类效果就越好。 二元支持向量机 在实际生…