iTOP-iMX6UL开发板【全能版】-动态调频技术简介
本文档以 iMX6UL 为例,简单介绍 cpufreq 的 5 种模式。
在 imx6ul 的 menuconfig 中,进入
CPU Power Management --->
CPU Frequency scaling --->
Default CPUFreq governor (ondemand) --->
中,如下图所示,可以看到有 5 个选项。 这 5 个选项,可以将 cpu 的频率设置为不同的
管理模式,默认设置的是 ondemand 模式。

cpufreq 是一个动态调整 cpu 频率的模块,系统启动时会生成
“/sys/devices/system/cpu/cpu0/cpufreq/ ”,如下图所示,是 imx6ul 文件上的
cpufreq 文件夹。

以上参数可以通过 cat 命令,例如:
“cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”可以获取当前
CPU 频率的模式。作者机器当前模式是“ondemand”,也就是动态调频模式。

其它参数:
cpuinfo_cur_freq 为当前频率;
cpuinfo_max_freq 为最大频率;
scaling_min_freq 为最小频率;
scalin_governor 为当前模式。
在动态调频模式下,state 下的 time_in_state 可以查询 cpu 整个运行周期中,在不同频
率下运行时间的比例。
以下简单介绍各种模式,用户可以根据需求,在不同模式下运行。
performance 模式:将 CPU 频率固定工作在其支持的最高运行频率上,而不动态调节。
powersave 模式:将 CPU 频率固定在“省电”模式,也就是最低频率。
以上两种,一种是极端效率,一种是极端低功耗。
Userspace 模式:用户可以在用户态调整频率,用户在应用或者在系统启动阶段,可以进
入这种模式,来设置频率。
ondemand 模式:这种模式会依据需求来调整频率,例如 ul 有三种频率:198000、
396000 和 528000,在有大量计算量的情况下,会立即达到最高频率,在运算完成就会立即
回到最低频率。
conservative 模式:和 ondemand 对比,这种模式下,系统会平滑地调整 CPU 频率,
频率的升降是渐变式的,而不是在大量计算到来就立即进入最高频率。
接着可以尝试配置这几种模式,验证一下。
测试 Userspace 模式,使用“echo userspace >
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”命令可以进入 Userspace 模
式,这样就可以在用户态调整频率,使用命令“echo 528000 >
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed”可以配置为 528000,如下图
所示。

测试 powersave 模式,使用命令“echo powersave >
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”配置为最低功耗模式。然后
就能发现频率降低到最低。

测试 performance 模式,使用命令“echo performance >
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”,如下图所示。配置为最高
频率模式,理所当然频率九尾最高 528000 了。

测试下 ondemand 动态调频模式,如下图所示,可以使用命令“cat
/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state”查看各种频率运行占用的时
间长度。作者因为调整过多次频率,528000 看起来比例较高,实际上默认这种系统,不运行
程序,大部分时间都是 198000 频率。


iTOP-iMX6UL开发板【全能版】-动态调频技术简介的更多相关文章
- 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号
迅为iMX6UL开发板多路串口开发平台迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3存储:8G EMMC,支持2路CAN,2路百兆以太网, ...
- 如何修改开发板主频--迅为iMX6UL开发板
平台:iMX6UL开发板 iMX6UL开发板 可以在文件系统中通过命令修改 CPU 运行的主频.如下图所示,使用命令“cat /sys/devices/system/cpu/cpu ...
- 迅为IMX6UL开发板
迅为iMX6UL开发板采用核心板加底板形式,核心板使用邮票孔方式连接,牢固耐用.处理器ARM®Cortex®-A7内核,运行速度高达528 MHz.512MDDR内存,8G EMMC存储,板截双网口, ...
- 迅为iMX6UL开发板低功耗高能效开发平台
迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3,存储:8G EMMC,支持2路CAN,2路百兆以太网,4路USB HOST,8路串口,以及 ...
- iTOP-iMX6UL开发板-动态调频技术文档分享
本文档以 iMX6UL 为例,简单介绍 cpufreq 的 5 种模式. 在 imx6ul 的 menuconfig 中,进入 CPU Power Management ---> CPU Fre ...
- CortexA7工业级迅为-iMX6UL开发板硬件和资料介绍
商业级核心板 ARM Cortex-A7架构 主频高达528 MHz 核心板512M DDR内存 8G EMMC 存储 运行温度:-20℃ ~ +80℃ CPU集成电源管理 核心板尺寸仅:42mm*3 ...
- ARM开发板上查看动态库或者可执行程序的依赖关系
以ARM32开发板为例,在/lib下有一个名为ld-linux-armhf.so.3的可执行程序(在ARM64开发板上是/lib/ld-linux-aarch64.so.1),这个程序负责加载可执行程 ...
- imx6ul开发板
Feescale飞思卡尔于发布全新的基于ARM Cortex-A7核心的低功耗处理器i.MX6UL,主要面向车载信息处理.家庭能源管理系统.工控领域.物联网网关等应用.具有可扩展性.高性能和低功耗特性 ...
- iMX6UL配置MCP2515模块(SPI转CAN)——基于迅为iTOP-iMX6UL开发板
写在前面 在文章"嵌入式Linux的CAN总线配置--基于迅为iTOP-4412开发板"中我给4412开发板配置了SPI转CAN模块,使用的是不带设备树的内核.在本篇文章中,要 ...
随机推荐
- python3 haproxy配置文件操作练习
哈哈 老规矩 先来一个NLP第六条:咳咳! 六,重复旧的做法,只会得到旧的结果 做法有不同,结果才会有不同. 如果,你的事没有结果,改变你的做法.任何新的做法,都比旧的多一份成功的机会. 想明天比 ...
- java 浅复制 代码
1 类实现Cloneable接口 2 重写clone()方法 3 类变量引用类型无法复制 class Dog extends Pet implements Cloneable{ int c; i ...
- 我的Qt历程1:第一个Qt程序
1.启动Qt,按照红圈内所标注顺序执行操作. 2.按下Choose键后,在“名称”栏目里给程序起名字(不要是汉字名字). 3.在“创建路径”栏目里指定程序将要使用的路径(不能用汉字路径). 4.在“类 ...
- JAVA如何利用Swiger获取Linux系统电脑配置相关信息
最近开发java应用程序,涉及到获取Linux服务器相关配置的问题,特地网上搜寻了下,采用Swiger包可以直接获取,再次小结一下,以便于以后能方便使用,也便于其他童鞋们学习. 推荐大家参考链接:ht ...
- WebApi(五)-Swagger接口文档①简单集成
1,通过NuGet引用Swashbuckle 2,打开项目属性-->生成,勾选XML文档文件,保存 3,找到项目App_Start文件夹下WebApiConfig查找GetXmlComments ...
- dataTables 插件学习整理
在项目中使用了dataTables 插件,学习整理一下. dataTables 的官方中文网站 http://www.datatables.club 引入文件: 所有的都要引入 jq文件 1. dat ...
- Python基础:数据类型-字符串(7)
1.字符串基本操作 字符串是由字符组成的一串字符序列,字符串是有顺序的,从左到右,索引从0开始,依次递增. Python中字符串类型:str. Python中字符串的三种表示方式: (1)普通字符串: ...
- flask 利用flask_wtf扩展 创建web表单
在Flask中,为了处理web表单,我们一般使用Flask-WTF扩展,它封装了WTForms,并且它有验证表单数据的功能 创建语句格式: startTime = DateTimeField('计划开 ...
- 本部jdk切换的坑!!!
https://www.cnblogs.com/ll409546297/p/6593173.html 如果你参考其他博主没有解决,可以来参考下这个. 1.我们打开注册表,然后找到这个路径: HKEY_ ...
- Android P添加一个可以让system_server进程访问的hal service需要改动的sepolicy文件
在device/sepolicy/common目录中: 修改文件attributes: attribute hal_newXX;attribute hal_newXX_client;attribute ...