当前位置: 代码迷 >> WinCE >> WINCE下是否有可以查看CPU频率和内存频率的工具?解决思路
  详细解决方案

WINCE下是否有可以查看CPU频率和内存频率的工具?解决思路

热度:108   发布时间:2016-04-28 13:35:27.0
WINCE下是否有可以查看CPU频率和内存频率的工具?
想看下板子实际跑起来的内存频率和CPU频率, 谢谢!

------解决方案--------------------
查看CPU的频率有相应的API,但是是不准的。最好通过示波器查看,这样才准
------解决方案--------------------
关注关注关注关注关注
------解决方案--------------------
使用remote tools
------解决方案--------------------
1. WinCE 好像没有栏位可以知道频率值.
2. 内存频率, 用示波器量最准.
3. CPU 频率, 用示波器量不到.
4. 自已针对不同的 cpu, 去读取其 PLL 设定, 计算出频率.

Paul, Chao @ Techware

------解决方案--------------------
没有通用软件可以查看CPU和内存的频率。
TCPMP中能检测MCU的频率,但是不太准确。

如Paul所说,如果真的需要,必须自己针对特定的MCU做处理。
------解决方案--------------------
也就是说需要驱动人员/OEM人员在完成驱动时,写相应的信息,否则是查不到的

remote tools一样,只能看到定制的信息,不是实际硬件的信息
------解决方案--------------------
CPU的频率只有定制系统的人才知道
  
...........
------解决方案--------------------
MARK,学习啦。

实在不行 用示波器测试下吧。

好像也可以人为定制时,在 “我的设备”属性 里面显示出来。
------解决方案--------------------
如下代码可以去获取CPU的主频
int CpuFreq;
CString strCpuFreq;
SYSTEM_INFO sys_info;
GetSystemInfo(&sys_info);

PROCESSOR_INFO pro; 
DWORD count;
KernelIoControl(IOCTL_PROCESSOR_INFORMATION, NULL, 0, &pro, sizeof(PROCESSOR_INFO), &count);
lstrcpy(szTemp, pro.szVendor);
if(pro.szVendor[0] != NULL && (pro.szProcessCore[0] != NULL || pro.szProcessorName[0] != NULL))
{
lstrcat(szTemp, TEXT(", "));
}

lstrcat(szTemp, pro.szProcessCore);
if(pro.szProcessCore[0] != NULL && pro.szProcessorName[0] != NULL)
{
lstrcat(szTemp, TEXT("-"));
}
lstrcat(szTemp, pro.szProcessorName);

CpuFreq=pro.dwClockSpeed/1000000;
strCpuFreq.Format(_T("%d"),CpuFreq);
lstrcat(szTemp, TEXT("("));
lstrcat(szTemp, strCpuFreq);
lstrcat(szTemp, TEXT("MHZ"));
lstrcat(szTemp, TEXT(")"));

SetDlgItemText(IDC_STATIC_CPUTYPE, szTemp);
------解决方案--------------------
nk程序初始化时打印出来
  相关解决方案