Cpufreq应用程序在arm开发板端的交叉编译及实现
Written by leeming
leeming.cublog.cn 转载请说明出处
1.内核选项:
Linux 动态变频管理 cpufreq 提供了操作系统级别的变频功能,同时需要用户层来制定和执行策略。cpufreq后台进程cpufreqd 就是用来监测系统的运行状况,并根据不同的状况设定 CPU 的工作频率的。
要想在用户层使用后台进程cpufreqd,首先需要在配置linux内核编译选项时选择CPU Frequency scaling功能选项, 其内有一些子选项,包含governor的选择和是否Enable CPUfreq debugging。 cpufreq有五种governor(将在10.1.3中介绍),要使cpufreqd正常运行,至少需要选择performance governor;在测试阶段往往希望看到系统变频信息,那么需要Enable CPUfreq debugging。在Enable CPUfreq debugging的前提下,在u-boot的linux启动参数bootargs加上loglevel=8 cpufreq.debug=<value>,就可以看到cpufreq的相应级别的运行信息。 <value>的值可以是 1、2、4,也可以是它们的或(3、5、6、7),具体意义如下:
1 to activate CPUfreq core debugging,
2 to activate CPUfreq drivers debugging(这是和SEP4020相关的调试), and
4 to activate CPUfreq governor debugging
后台进程 cpufreqd 需要用到三个库,分别是cpufreqd-2.2.1、cpufrequtils-002和 sysfsutils-2.1.0,这三个库都是 GNU 免费开源软件,我们对 cpufreqd-2.2.1、cpufrequtils-002 进行了一些修改,由于编译这三个库还是蛮麻烦的,因此我在君正发布的cpufreqd的开发包上对arm平台进行二次编译,这样减少了不少工作(做事要站在巨人的肩膀上,呵呵)首先你可以君正的官方ftp上下载这个包。
下面将介绍cpufreqd 在arm上的交叉编译和安装过程以及在目标板上安装和运行方法。
2.交叉编译:
●编译 sysfsutils-2.1.0
进入sysfsutils-2.1.0目录:
执行:./configure –prefix=<你希望安装的目录> --host=arm-linux
Make