3463|5

59

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WinCE5.0不能挂起? [复制链接]

我在点击开始菜单中的SUSPEND后,系统不能挂起。DEBUG时不能进入函数 KCall ((FARPROC) CallOEMPowerOff)(文件Kwin32.c中);系统直接往下运行。
因为CallOEMPowerOff函数调用的是OEMPowerOff(),而这个函数是系统挂起的关键函数,所以SUSPEND失败。

请问各位达人,有哪些原因导致挂起失败?另外Kcall()的函数功能是什么?
谢谢各位!

最新回复

我现在的问题是本来挂起过程应该跳到函数KCall   ((FARPROC)   CallOEMPowerOff)中执行关键的挂起操作,然后系统停止,可是现在系统却继续向下运行唤醒的操作了,所以挂起失败。 ??那你的CallOEMPowerOff()中执行了关键的挂起操作了吗?? suspend和resume是OEM厂商实现的,也即是提供BSP的厂商实现的,一般在OEMPowerOff函数中会有一个BSPPoweroff()函数,或者类似的操作,来保存context,关时钟以及将cpu设置到相应的sleep模式等操作。如果你的代码里面没有实现这些,那你就得自己动手实现了。最后睡眠的时候会走一段汇编代码,然后真正的睡下去。  详情 回复 发表于 2008-12-23 12:31
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
1. Kcall() 功能只有你研究代码才知道那是干吗的,我没有看过  不知到
2.OEMPowerOFF 一般在一个 .s 文件中 做最后的挂起/关闭/系统资源保护/开相关中断/自刷新内存/设置相关IO....  最后执行挂起/关机操作.
3.挂起功能不行 可以先查看是否真的挂起(电流比较小/可以唤醒(用唤醒中断发生))....
4.如果可以发生唤醒中断,看看 唤醒函数是否有问题..  (.s) 文件中.
5.看看唤醒后进入了那些操作,那里有问题.

6.常见的唤醒有问题的地方在  调试串口初始化/LCD屏初始化 .  调试串口初始化部队,系统就会挂机, 你可以将那个屏蔽掉或者直接返回.


7.注意音频唤醒.

8 挂起过程注意所有的DMA操作是否完成,相关驱动是否完善

 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢slyzhang的回答。
在Wince5.0里,挂起和唤醒的代码是在同一个函数里面的,函数前面一部分是挂起,后面是唤醒。挂起成功后,系统会把当前地址保存下来,等唤醒中断发生时,再跳到保存的地址处继续向下执行唤醒的代码。
我现在的问题是本来挂起过程应该跳到函数KCall ((FARPROC) CallOEMPowerOff)中执行关键的挂起操作,然后系统停止,可是现在系统却继续向下运行唤醒的操作了,所以挂起失败。

而且,使用相同的驱动设置,Wince4.2里就可以挂起,所以不知道4.2和5.0有什么区别。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

4
 
关注下
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

5
 
挂起是驱动的问题,我记得是在电源管理那个叫POWERXXX的驱动吧,具体名字不记得了,不管是CE还是WM的电源都不是微软实现的,而是厂商根据自己的电源情况自行实现的,微软只提供了接口,这样的问题比较常见。你还是看一眼驱动吧。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

6
 
我现在的问题是本来挂起过程应该跳到函数KCall   ((FARPROC)   CallOEMPowerOff)中执行关键的挂起操作,然后系统停止,可是现在系统却继续向下运行唤醒的操作了,所以挂起失败。

??那你的CallOEMPowerOff()中执行了关键的挂起操作了吗??
suspend和resume是OEM厂商实现的,也即是提供BSP的厂商实现的,一般在OEMPowerOff函数中会有一个BSPPoweroff()函数,或者类似的操作,来保存context,关时钟以及将cpu设置到相应的sleep模式等操作。如果你的代码里面没有实现这些,那你就得自己动手实现了。最后睡眠的时候会走一段汇编代码,然后真正的睡下去。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表