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

news/2025/2/11 3:42: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/news/1571044.html

相关文章

基于HarmonyOS 3.0的智能理财APP开发方案

以下是基于HarmonyOS 3.0的智能理财APP开发方案&#xff0c;充分利用鸿蒙系统特性实现差异化功能&#xff1a; 一、架构设计 技术栈&#xff1a; - 开发框架&#xff1a;ArkUI 3.0 (声明式UI) - 数据管理&#xff1a;分布式数据服务 - 安全架构&#xff1a;TEE微内核 硬件级加…

MyBatis-Plus快速使用

1.介绍 MyBatis-Plus 是一个基于 MyBatis 的增强工具&#xff0c;旨在简化开发&#xff0c;提高效率。它在 MyBatis 的基础上进行扩展&#xff0c;只做增强不做改变&#xff0c;不会对现有的 MyBatis 构架产生任何影响。 特性和优势 无侵入性&#xff1a;MyBatis-Plus 在 MyB…

洛谷 P2095 营养膳食 C语言

P2095 营养膳食 - 洛谷 | 计算机科学教育新生态 题目描述 Mr.L 正在完成自己的增肥计划。 为了增肥&#xff0c;Mr.L 希望吃到更多的脂肪&#xff0c;然而也不能只吃高脂肪食品&#xff0c;那样的话就会导致缺少其他营养。 Mr.L 通过研究发现&#xff1a;真正的营养膳食规定…

C# ASP.NET程序与 Web services 编程介绍

.NET学习资料 .NET学习资料 .NET学习资料 在当今的软件开发领域&#xff0c;C# 和ASP.NET是构建强大而灵活的 Web 应用程序的重要工具&#xff0c;而 Web services 则为不同应用程序之间的通信和交互提供了便利。下面将详细介绍 C# ASP.NET程序与 Web services 编程。 一、C…

基于 Ollama+Docker+OpenWebUI 的本地化部署deepseek流程

搭建deepseek 安装Ollama Ollama官方下载地址 下载完成后双击打开Ollama进行安装,点击install 安装完成后系统会弹出下图提示代表安装成功并且已启动 验证安装 ollama -v安装完成后&#xff0c;cmd 打开命令行窗口&#xff0c;输入 “ollama -v” 测试&#xff0c;显示 olla…

网络爬虫js逆向之异步栈跟栈案例

【注意&#xff01;&#xff01;&#xff01;】 前言&#xff1a; 1. 本章主要讲解js逆向之异步栈跟栈的知识&#xff08;通过单步执行调试&#xff09; 2. 使用关键字搜定位加密入口 3. 本专栏通过多篇文章【文字案例】的形式系统化进行描述 4. 本文章全文进行了脱敏处理 5. 详…

动手写ORM框架 - GeeORM第一天 database/sql 基础

文章目录 1 初识 SQLite2 database/sql 标准库3 实现一个简单的 log 库4 核心结构 Session本文是7天用Go从零实现ORM框架GeeORM的第一篇。介绍了 SQLite 的基础操作(连接数据库,创建表、增删记录等)。使用 Go 语言标准库 database/sql 连接并操作 SQLite 数据库,并简单封装…

deepseek接入pycharm 进行AI编程

要将DeepSeek接入PyCharm进行AI编程,可以按照以下步骤操作: ### 1. 获取DeepSeek API访问权限 DeepSeek通常以API的形式对外提供服务,你需要在其官方网站注册账号,申请API访问权限。在申请通过后,会获得API密钥(API Key),这是后续调用API的关键凭证。 ### 2. 安装必要…