此帖出自嵌入式系统论坛
最新回复
你这问题不是还没有解决吗?怎么结贴了
我觉得23楼的做法不是根本解决问题的办法,而且系统已经提供了PM来切换状态,这样做反倒有可能导致系统的不正常。
其实找出这问题的根本原因应该不难,你先platform.cpp中的Message打开
// wait for an event; keep track of elapsed time
dwStartTime = GetTickCount();
dwStatus = WaitForMultipleObjects(dwNumEvents, hEvents, FALSE, dwTimeout);
dwElapsedTime = GetTickCount() - dwStartTime;
PMLOGMSG(ZONE_PLATFORM,
(_T("%s: wait returned %d, elapsed time %d, timeout was %d\r\n"), pszFname,
dwStatus, dwElapsedTime, dwTimeout));
如果你没有自己定制过PM的话,那就写一个小AP实时的调用一下函数GetTickCount();,然后看它跟实际的时间对不对得上,如果可以对上的话应该是不会有问题,如果对不上,请检查OEMInit()中调用的OALTimerInit(1, OEM_TICKS_1MS, OEM_TICK_COUNT_MARGIN);
下面是Intel PXA270的设定:
#define OEM_CLOCK_FREQ 3250000 // 3.25M ticks/sec
#define OEM_TICKS_1MS 3250 // 1ms in ticks
其它的CPU可能要查看其CPU的Spec
详情
回复
发表于 2008-10-16 16:56
| ||
|
||
| |
|
|
| |
|
|
| |
|
|
提示: 作者被禁止或删除 内容自动屏蔽
| |
|
|
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
| |
|
|
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
浏览过的版块 |
EEWorld Datasheet 技术支持