文章目录
- 一、概述
- 二、为什么需要频率调节
- 2.1 功耗与频率的关系
- 2.2 DVFS 调频链路
- 三、基本概念
- 3.1 Governor 策略
- 3.2 OPP 表
- 四、源码解析
- 4.1 cpufreq-dt 驱动初始化
- 4.2 schedutil governor
- 五、RK3506 OPP 表
- 5.1 设备树 OPP 定义
- 六、关键特性与约束
- 七、调试命令与实战案例
- 7.1 调试命令
- 7.2 案例:温度过高导致 CPU 降频性能下降
- 📝 本节总结
- 🏠 课后练习
各位好,本章我们从"性能"转向"功耗",是 CPU 篇里和硬件约束最紧密的一章。RK3506 是嵌入式设备,功耗敏感,DVFS(动态电压频率调节)是它的看家本领。开讲前建议大家先在板子上cat .../scaling_cur_freq看当前频率,再echo performance > scaling_governor切到最高频,直观感受一下"频率可调"。全章约 35 分钟,重点是第二节功耗公式、第三节的 governor 选择和第五节的 OPP 表。OPP 表那段信息量大,我们会对着设备树逐行讲。本章也是后面 CPU:16(温度降频)、CPU:17(DVFS 深度)、系统:02(低功耗)的基础。
一、概述
前面几章我们都在讲"怎么让 CPU 跑得快、看得准"。这一章换个角度–讲怎么让 CPU"省着跑"。嵌入式设备对功耗特别敏感,RK3506 这种 128MB 内存的网关设备,往往靠电池或受限电源供电,CPU 一直顶在最高频电池撑不住。所以 CPU 频率调节,本质是在"性能"和"功耗"之间找平衡。
RK3506 用的是 cpufreq-dt 驱动,通过设备树里的 OPP 表定义"频点-电压对",配合 regulator(调压)和 clock(切频)实现 DVFS–动态电压频率调节。负载高时升频升压追性能,负载低时降频降压省功耗。本章我们就把 cpufreq 框架的工作原理、四种 governor 策略怎么选、OPP 表怎么配置、以及调频链路里的关键约束讲透。
学完本章你将能回答:
- CPU 功耗与频率、电压的关系是什么?为什么