本文档以 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开发板【全能版】-动态调频技术简介的更多相关文章

  1. 迅为-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路百兆以太网, ...

  2. 如何修改开发板主频--迅为iMX6UL开发板

    平台:iMX6UL开发板           iMX6UL开发板 可以在文件系统中通过命令修改 CPU 运行的主频.如下图所示,使用命令“cat /sys/devices/system/cpu/cpu ...

  3. 迅为IMX6UL开发板

    迅为iMX6UL开发板采用核心板加底板形式,核心板使用邮票孔方式连接,牢固耐用.处理器ARM®Cortex®-A7内核,运行速度高达528 MHz.512MDDR内存,8G EMMC存储,板截双网口, ...

  4. 迅为iMX6UL开发板低功耗高能效开发平台

    迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3,存储:8G EMMC,支持2路CAN,2路百兆以太网,4路USB HOST,8路串口,以及 ...

  5. iTOP-iMX6UL开发板-动态调频技术文档分享

    本文档以 iMX6UL 为例,简单介绍 cpufreq 的 5 种模式. 在 imx6ul 的 menuconfig 中,进入 CPU Power Management ---> CPU Fre ...

  6. CortexA7工业级迅为-iMX6UL开发板硬件和资料介绍

    商业级核心板 ARM Cortex-A7架构 主频高达528 MHz 核心板512M DDR内存 8G EMMC 存储 运行温度:-20℃ ~ +80℃ CPU集成电源管理 核心板尺寸仅:42mm*3 ...

  7. ARM开发板上查看动态库或者可执行程序的依赖关系

    以ARM32开发板为例,在/lib下有一个名为ld-linux-armhf.so.3的可执行程序(在ARM64开发板上是/lib/ld-linux-aarch64.so.1),这个程序负责加载可执行程 ...

  8. imx6ul开发板

    Feescale飞思卡尔于发布全新的基于ARM Cortex-A7核心的低功耗处理器i.MX6UL,主要面向车载信息处理.家庭能源管理系统.工控领域.物联网网关等应用.具有可扩展性.高性能和低功耗特性 ...

  9. iMX6UL配置MCP2515模块(SPI转CAN)——基于迅为iTOP-iMX6UL开发板

    写在前面   在文章"嵌入式Linux的CAN总线配置--基于迅为iTOP-4412开发板"中我给4412开发板配置了SPI转CAN模块,使用的是不带设备树的内核.在本篇文章中,要 ...

随机推荐

  1. Linux/Ubuntu 16.04 好用的视频播放器 SMPlayer

    在ubuntu上播放视频是少不了的事情,那么就安装SMPlayer吧, 终端输入 :sudo apt-add-repository ppa:rvm/smplayer                   ...

  2. ASP.NET MVC 下自定义 JsonResult,使用 Json.NET 序列化 JSON

    直接贴代码了: using System; using System.Web.Mvc; using Newtonsoft.Json; namespace MvcSample.Extensions { ...

  3. FineUICore(基础版)v5.4.0已发布!

    FineUICore(基础版)已发布,请先加入知识星球,下载后可以永久免费商用:

  4. 《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想

    前言 借书正式出版之际,完整回顾下从写博客到写书整个历程,也算是对自己近三年在技术上的一个总结,整个历程可通过三个万万没想到来概括,请耐心阅读. 写博.写书完整历程回顾 从2013年12月注册博客园账 ...

  5. Python--day08(文件操作)

    昨天内容回顾 1.  数据类型转换 1.  数字类型:数字类型之间可以直接  类型()进行直接转换 2.  str与int类型:int() 与str() 之间在某些条件下可以直接转换 int('10' ...

  6. Unity TimeLine

    最近一直再看这方面的内容,看的比较多知识点比较分散,所以目的就是把这些知识点内容梳理一边,并作记录. PlayableDirector与TrackAsset,TrackAsset与PlayableAs ...

  7. 软工+C(4): Alpha/Beta换人

    // 上一篇:超链接 // 下一篇:工具和结构化 注:在一次软件工程讨论课程进度设计的过程中,出现了这个关于 Alpha/Beta换人机制的讨论,这个机制在不同学校有不同的实施,本篇积累各方观点,持续 ...

  8. Mysql中的explain和desc

    查询分析器 desc 和 explain 作用基本一样,explain速度快一点 explain 一条SQL语句出出现以下参数, 其中id,select_type,table 用于定位查询,表示本行参 ...

  9. Django(七)缓存、信号、Form

    大纲 一.缓存 1.1.五种缓存配置 1.2配置 2.1.三种应用(全局.视图函数.模板) 2.2 应用多个缓存时生效的优先级 二.信号 1.Django内置信号 2.自定义信号 三.Form 1.初 ...

  10. jsonp原理,封装,应用(vue项目)

    jsonp原理 JSON是一种轻量级的数据传输格式. JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 ...