想看下板子实际跑起来的内存频率和CPU频率, 谢谢!
查看CPU的频率有相应的API,但是是不准的。最好通过示波器查看,这样才准
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);