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

ops/2025/2/11 1:16:03/

一,功能介绍

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/ops/157404.html

相关文章

网络安全警示录:.wex勒索病毒的独特特性与应对之道

在数字化时代&#xff0c;网络安全威胁层出不穷&#xff0c;其中勒索病毒已成为企业和个人用户面临的一大挑战。近年来&#xff0c;.wex勒索病毒以其独特的加密方式和广泛的传播手段&#xff0c;给全球网络安全带来了严重威胁。本文将深入探讨.wex勒索病毒的独特特性&#xff0…

graylog初体验

最近graylog比较火&#xff0c;部署了一个来测试下&#xff0c;看下后续能不能代替目前占用资源比较多的elk&#xff0c;目前未对graylog性能进行深入测试&#xff0c;只是简单体验了下&#xff0c;graylog的UI比较简陋&#xff0c;但是在报警以及权限方面优于ELK&#xff0c;整…

信息安全、网络安全和数据安全的区别和联系

一、区别 1.信息安全 定义 信息安全是指为数据处理系统建立和采用的技术和管理的安全保护&#xff0c;保护计算机硬件、软件和数据不因偶然和恶意的原因而遭到破坏、更改和泄露。它的范围比较广泛&#xff0c;涵盖了信息的保密性、完整性和可用性等多个方面。 侧重点 更强…

瑞芯微 Rockchip 系列 RK3588 主流深度学习框架模型转成 rknn 模型教程

前言 在瑞芯微 Rockchip 芯片上进行 NPU 推理&#xff0c;需要先将模型文件转换成 rknn 模型文件&#xff0c;才能执行各种推理任务。本文将介绍如何安装各种工具&#xff0c;并最终实现将各种深度学习框架的模型文件转换成 rknn 文件。 本教程不仅适合 RK3588 平台&#xff…

windows phpstudy python cgi配置

修改apache配置文件:httpd.conf 搜索’Define SRVROOT’&#xff0c; 查看cgi根目录&#xff0c;python脚本需要放在该 Define SRVROOT "D:/Program/phpstudy_pro/Extensions/Apache2.4.39解决中文乱码 文件最后添加AddDefaultCharset gbk 重启apache python脚本: #!py…

SickOs 1.2靶机(超详细教学)

靶机地址&#xff1a;https://www.vulnhub.com/entry/sickos-12,144/ 一、主机发现 使用 arp-scan -l查找靶机ip地址 靶机ip地址为192.168.55.146 攻击机的ip地址为192.168.55.129 二、进行端口扫描、目录枚举、指纹识别 1.端口扫描 nmap 192.168.55.146发现靶机只有22和…

Git―分支管理

Git ⛅创建&切换&合并分支⛅删除分支⛅合并冲突⛅合并模式⛅Bug 分支⛅强制删除分支 master → 主分支 # 查看本地所有分支 git branch分支前面的*, 代表当前所在的分支 图中当前所在的分支为master ⛅创建&切换&合并分支 # 创建分支 git branch "bra…

STM32 CUBE Can调试

STM32 CUBE Can调试 1、CAN配置2、时钟配置3、手动添加4、回调函数5、启动函数和发送函数6、使用方法(采用消息队列来做缓存)7、数据不多在发送函数中获取空邮箱发送&#xff0c;否则循环等待空邮箱 1、CAN配置 2、时钟配置 3、手动添加 需要注意的是STM32CUBE配置的代码需要再…