pxa270+wince6.0 休眠后 无法唤醒问题。。

wolong98 2009-03-31 08:25:47
CPU是 PXA270 + WINCE 6.0
电源按钮接在 CPU GPIO0 管脚上。 通过驱动休眠后,无法唤醒

串口输出信息是
FS: Got Power notif 0x00000002
FSREG: Flushing registry
FSRAM: Flushing cached file data
Powering Off system:
Calling OEMPowerOff...

休眠后 再按下 电源按钮无法唤醒。。 请问要做如何处理,谢谢

唤醒源 pwer 设置为 0x80000001,
GPIO0 设置为 下降沿 触发。
...全文
284 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragoniye 2011-09-26
  • 打赏
  • 举报
回复
楼主 请问XllpPmEnterSleep 在那个文件里面实现的呢?
我在BSP中没有找到呢
wolong98 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hzdysymbol 的回复:]
ldr    r3, #7
mcr    p14, 0, r3, c7, c0, 0                  ; Enter sleep
可以进入休眠, PWR_EN, SYS_EN输出也是低电平, 在休眠前设置唤醒源也可以唤醒。

这是让系统进Deep sleep不是Sleep,所以要唤醒的话只能通过GPIO0,1,3,4,等几个有限的GPIO,而且Deep Sleep时SDRAM掉电,必须全部重新初始化
所以不懂你到底是要进Sleep还是Deep Sleep?
唤醒的时候也需要在Bootloader中进行判断,不然也是唤不醒的
[/Quote]

目前 XllpPmEnterSleep 里面某个地方挂了,所以单独在 eboot菜单添加 一个函数进行简单Deep Sleep测试,函数内容是设置休眠源和GPIO触发方式,休眠源为接在GPIO0的一个下降沿触发按键。调用这个函数可以进入休眠,休眠后按下按钮唤醒后,PWR_EN, SYS_EN都恢复正常了,因为是自己随便简单的测试用, 唤醒后基本什么不干。

我是询问有什么好方法调试 XllpPmEnterSleep 里面的代码? 你们一般调试休眠功能,有没有修改 XllpPmEnterSleep 里面的代码? 谢谢~
chenjnh 2009-04-03
  • 打赏
  • 举报
回复
学习
beyondma 2009-04-03
  • 打赏
  • 举报
回复
这个要关注一下了,唤醒要在BOOTLOAD当中进行判断吗?麻烦楼上和GOOGLEMAN详细解释下:)
hzdysymbol 2009-04-02
  • 打赏
  • 举报
回复
ldr r3, #7
mcr p14, 0, r3, c7, c0, 0 ; Enter sleep
可以进入休眠, PWR_EN, SYS_EN输出也是低电平, 在休眠前设置唤醒源也可以唤醒。

这是让系统进Deep sleep不是Sleep,所以要唤醒的话只能通过GPIO0,1,3,4,等几个有限的GPIO,而且Deep Sleep时SDRAM掉电,必须全部重新初始化
所以不懂你到底是要进Sleep还是Deep Sleep?
唤醒的时候也需要在Bootloader中进行判断,不然也是唤不醒的
gooogleman 2009-04-02
  • 打赏
  • 举报
回复
汇编比较郁闷,通常电灯。不过也可以自己用汇编打印信息啊。

在汇编调用C函数也是可以的。
wolong98 2009-04-02
  • 打赏
  • 举报
回复
目前进入WINCE后进行休眠,会调用 XllpPmEnterSleep 进行休眠设置,
目前情况在XllpPmEnterSleep里面发生异常死机。
目前我只有串口和KITL调试方式,可KITL在进入 XllpPmEnterSleep前已经关闭。
不是很清楚怎么从汇编语句进行调试输出,照理 XllpPmEnterSleep 基本禁止外设操作了。只能通过GPIO亮灯方式来跟踪? 请问如何跟踪调试这种情况?
XllpPmEnterSleep 的代码没有修改过,基本是WINCE6.0 安装自带的代码。
谢谢~

单独在 eboot 使用 下面2句汇编语句。
ldr r3, #7
mcr p14, 0, r3, c7, c0, 0 ; Enter sleep
可以进入休眠, PWR_EN, SYS_EN输出也是低电平, 在休眠前设置唤醒源也可以唤醒。
hzdysymbol 2009-03-31
  • 打赏
  • 举报
回复
确定CPU进休眠了吗?可以通过PWR_EN和SYS_EN来确认系统有没有进Sleep,还可以查看一下电流的情况
再一个看CPU有没有被唤醒,是否醒来后挂了,还是根本没有唤醒?

RTC唤醒很简单的,只要把RTC唤醒使能,然后设Alarm相关的寄存器就OK了
gooogleman 2009-03-31
  • 打赏
  • 举报
回复
我正在做2440的休眠唤醒,现在已经跳到bootloader阶段了。明天也许会有结果。
xqhrs232 2009-03-31
  • 打赏
  • 举报
回复
mark
wolong98 2009-03-31
  • 打赏
  • 举报
回复
再问 如何 设置 rtc alarm 来唤醒系统?

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧