阅读:1491回复:5
TCPMP是怎样测试出平台处理器主频的
想动态改变处理器的FCLK。改变后在驱动里把跟FCLK相关的REG打印出来计算得结果是改变了,但实际运行的效果好象没改变,且用TCPMP中的一个功能查看到的FCLK也还是没变,想知道TCPMP是怎样计算主频的?还请问各位:为什么改了跟FCLK相关的REG后,实际的主频跟用REG算出来的不一样?(不播放时TCPMP测出的FCLK还是很准的。)
|
|
沙发#
发布于:2007-11-15 16:35
不好意思,忘了告诉大家那是2440芯片。
|
|
板凳#
发布于:2007-11-15 18:54
主频调整后,你的系统定时器重新设定没有?是否还是1MS的分辨率,因为TCPMP是基于系统定时器GetTickCount()来作为时间基准,如果这个时间基准不对了,那么算出来主频自然也就不对了。计算主频的算法,把自己优先级提高,获取当前时间值,运行已知个指令,获取时间值,用运行的指令数除以时间间隔得出主频。所以你的主频调整了,GetTickCount()定的时间不准,算出来的主频也就不准了。
|
|
地板#
发布于:2007-11-16 10:18
顺便问一下,系统定时器重新设有什么样的规则?要是我现在399MHZ是1MS的分辨率,那266MHZ我该怎么确定他的新分辨率?
|
|
地下室#
发布于:2007-11-16 13:18
看你的OALTimerInit(..)是怎么实现的,它在OEMInit()中是怎么调用的,根据新的主频调整OALTimerInit(...)的输入参数,看一下CPU有关定时器的配置就知道了。
|
|
5楼#
发布于:2007-11-16 23:14
谢谢zhengshijie,我基本看明白了,另外我发现了我的PWM驱动会让TCPMP在我的CLKDIVN和MPLLCON设置为399MHZ时会检查为296MHZ,不加载PWM驱动时就测出是399MHZ.还得看看先.
|
|