阅读:1880回复:9
系统唤醒之后lcd不显示图像(wince_lover请进)
平台是arm s3c2440a,wince.net 4.2,配置GPF4为唤醒中断源,挂机没有问题,但是唤醒的时候,lcd
不显示图像。测试系统已经起来,背光、电池、按键驱动已经正常了,但是就是看不到图像,好像lcd驱动没有重新加载一样。请问各位大虾可经验如何让lcd显示。 请教wince_lover: 你的lcd驱动里面函数DrvEscape(...)是怎么实现的,lcd显示方面你是怎么设置的。 期望指点一二。 |
|
沙发#
发布于:2007-04-28 23:44
需要重新初始化你的LCD控制器
|
|
板凳#
发布于:2007-04-29 09:10
lcd的控制器在suspend之前保存了,唤醒之后恢复了,难道还要重新初始化吗?
还有就是在什么地方重新初始化这些控制寄存器呢? |
|
地板#
发布于:2007-04-29 09:21
你是否在唤醒后将LCD驱动模块重新初始化了
|
|
地下室#
发布于:2007-04-29 09:22
呵呵,我现在也是可以睡眠,但不能唤醒,同样也是用一个按键来做睡眠唤醒,睡眠是睡了,可是唤醒却一点反映都没有,哪里的问题。
|
|
|
5楼#
发布于:2007-04-29 09:58
唤醒之后应该是再也没有进到显示驱动的,也就是没有重新初始化。只是恢复挂机前的lcd控制器。看条是信息最后重新加载的驱动是按键驱动和触摸屏驱动。
|
|
6楼#
发布于:2007-05-08 15:55
chrisyang,能不能贴出你的唤醒代码,供大家参考啊,我的代码只能睡眠,但是不能唤醒啊
|
|
7楼#
发布于:2007-05-08 16:27
检查一下CPUPowerOff里是否正确设置的唤醒的中断源
|
|
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 打开,代码会死掉,感觉好像是读出来的地址不对,请说明一下,谢谢啦! |
|
9楼#
发布于:2007-10-26 10:35
jyc_1 ,上面的问题搞定了吗?
|
|