chrisyang
驱动牛犊
驱动牛犊
  • 注册日期2007-01-09
  • 最后登录2007-12-04
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望9点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1880回复:9

系统唤醒之后lcd不显示图像(wince_lover请进)

楼主#
更多 发布于:2007-04-28 20:12
  平台是arm s3c2440a,wince.net 4.2,配置GPF4为唤醒中断源,挂机没有问题,但是唤醒的时候,lcd
不显示图像。测试系统已经起来,背光、电池、按键驱动已经正常了,但是就是看不到图像,好像lcd驱动没有重新加载一样。请问各位大虾可经验如何让lcd显示。
请教wince_lover:
你的lcd驱动里面函数DrvEscape(...)是怎么实现的,lcd显示方面你是怎么设置的。
期望指点一二。
wenzai
驱动中牛
驱动中牛
  • 注册日期2002-04-16
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望424点
  • 贡献值0点
  • 好评度309点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-28 23:44
需要重新初始化你的LCD控制器
chrisyang
驱动牛犊
驱动牛犊
  • 注册日期2007-01-09
  • 最后登录2007-12-04
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望9点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-04-29 09:10
lcd的控制器在suspend之前保存了,唤醒之后恢复了,难道还要重新初始化吗?
还有就是在什么地方重新初始化这些控制寄存器呢?
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
地板#
发布于:2007-04-29 09:21
你是否在唤醒后将LCD驱动模块重新初始化了
cygarm
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2013-12-29
  • 粉丝0
  • 关注0
  • 积分649分
  • 威望324点
  • 贡献值0点
  • 好评度62点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-04-29 09:22
呵呵,我现在也是可以睡眠,但不能唤醒,同样也是用一个按键来做睡眠唤醒,睡眠是睡了,可是唤醒却一点反映都没有,哪里的问题。
NAND Flash烧录器|烧写器|编程器
chrisyang
驱动牛犊
驱动牛犊
  • 注册日期2007-01-09
  • 最后登录2007-12-04
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望9点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-04-29 09:58
唤醒之后应该是再也没有进到显示驱动的,也就是没有重新初始化。只是恢复挂机前的lcd控制器。看条是信息最后重新加载的驱动是按键驱动和触摸屏驱动。
jyc_1
驱动小牛
驱动小牛
  • 注册日期2003-09-13
  • 最后登录2009-01-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望110点
  • 贡献值0点
  • 好评度110点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-05-08 15:55
chrisyang,能不能贴出你的唤醒代码,供大家参考啊,我的代码只能睡眠,但是不能唤醒啊
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2007-05-08 16:27
检查一下CPUPowerOff里是否正确设置的唤醒的中断源
jyc_1
驱动小牛
驱动小牛
  • 注册日期2003-09-13
  • 最后登录2009-01-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望110点
  • 贡献值0点
  • 好评度110点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-05-08 21:55
to wince_lover
我在CPUPowerOff已经正确设置了唤醒中断源,当我按键时,唤醒代码从ResetHandler开始执行了,但是当他执行到
    ldr     r5, =SLEEPDATA_BASE_PHYSICAL
    ldr     r10, [r5, #SleepState_MMUDOMAIN]    ; load the MMU domain access info
    ldr     r9,  [r5, #SleepState_MMUTTB]        ; load the MMU TTB info    
    ldr     r8,  [r5, #SleepState_MMUCTL]        ; load the MMU control info    
    ldr     r7,  [r5, #SleepState_WakeAddr]        ; load the LR address
    nop            
    nop
    nop
    nop
    nop


; wakeup routine
1
    mcr        p15, 0, r10, c3, c0, 0        ; setup access to domain 0
    mcr        p15, 0, r9,  c2, c0, 0        ; PT address
;                mcr        p15, 0, r0,  c8, c7, 0           ; flush I+D TLBs
    mcr        p15, 0, r8,  c1, c0, 0        ; restore MMU control

;  3. Jump to Kernel Image's fw.s(Awake_address)
    mov     pc, r7                        ;  & jump to new virtual address (back up Power management stack)
执行到mov     pc, r7时并没有跳转,而是继续向下执行,如果我把
mcr        p15, 0, r0,  c8, c7, 0    打开,代码会死掉,感觉好像是读出来的地址不对,请说明一下,谢谢啦!
anchor720
驱动牛犊
驱动牛犊
  • 注册日期2007-07-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分280分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-10-26 10:35
jyc_1 ,上面的问题搞定了吗?
游客

返回顶部