wince6.0 S3C2440的休眠和唤醒

从网上很容易搜到这方面的文章,并且流程上讲的也很详细,现在就让我再重复一下,并且把我遇到的问题也复述一下,供网友和自己的查阅,作为备忘录吧

组件上我是添加了Core OS ---> CEBASE--->Core OS Services--->Power Management(Choose 1)--->Power Management(Full),但是我觉得这一步跟电源管理有关系,只是单纯的休眠和唤醒功能的实现,没有多大关系。网友有兴趣的可以把这项去掉,看会什么结果


           先介绍下整体的步骤:

          1、进入休眠状态:两种方法(1)开始菜单中的“挂起”;(2)SetSystemPowerState。为了简单起见我一律用的开始菜单中的挂起。

        2、一旦你点击了挂起,系统最终会调用\Src\common\power下的OEMPowerOff(),开始做一些关闭和保存,然后执行OALCPUPowerOff()(startup.s中实现),主要是配置中断唤醒源,并进入休眠,循环等待,中断源唤醒

          3、一旦唤醒,就进入bootloadr中的stepldr中的startup.s中,通过GSTATUS2来判断是冷启动,看门狗重启还是唤醒,如果是唤醒就跳转到内核地址(原先bsp是跳转到跳转地址,经调试没有成功,于是修改了汇编)。

         4、在内核startup.s中,再跳转到唤醒地址,然后跳出OALCPUPowerOff,进入OEMPowerOff下半段,继续执行恢复的操作,然后NANDInit,BSPPowerOn。


        遇到的问题:(1)唤醒后死机。解决方法:没有NandInit

                           (2)不死机,但是有几个现象:1)触摸笔点长按右键菜单大约10秒才能出现;2)校准界面的十字架移动很卡;3)应用程序(包括控制面板中的程序)关闭按钮,需要点击5秒后才能关闭;4)挂载很快的SD卡需要很长时间挂载;5)唤醒后需要等待20秒左右,鼠标才能正常,进入我的设备才能很快进入。

解决方法:BSPPowerOn中的InitTimer(),没有跟系统Timer.c中的保持一致,导致系统时钟太慢,引起了以上的现象。

                              

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值