Wince 5.0唤醒后系统运行变慢(s3c2440)

时间:2022-09-05 17:50:41
唤醒后出现了以下一些不正常的现象:
    1.LCD屏出现闪烁(也可以叫做抖动),幅度不是很大,但看起来却有些不舒服。
    2.程序运行变慢,运行时间大概是休眠之前的两倍,简直无法忍受。
    3.USB设备不能使用,用于与PC机传输数据的数据线插上显示正在连接,然后死机
网上看到一个和我这个很相似的问题,我初步判断是唤醒后主频变慢的问题,但是又浏览了一遍休眠唤醒过程,发现主频是在Reset后马上执行的,就是说正常启动和唤醒主频设置是一样的;另外为了验证是否是主频的问题,我在OEMPowerOff里的唤醒入口点又重新配置了MPLLCON和CLKDIVN,唤醒后依然很慢,大家帮忙分析下

7 个解决方案

#1


用示波器量下ddr 和 lcd的时钟吧,如果都成倍降低了,那一定是你主频降了

#2


学习了……

#3


引用 1 楼 rushonin 的回复:
用示波器量下ddr 和 lcd的时钟吧,如果都成倍降低了,那一定是你主频降了
多谢提醒,测了下,频率减半,原来大约100M,唤醒后变为50左右,只是我在唤醒后马上设置MPLL为什么也不行呢?

#4


我测的是SDRAM的时钟

#5


;ldr r1, =((M_MDIV<<12)+(M_PDIV<<4)+M_SDIV)  ; Fin=12MHz, Fout=400MHz.
    ldr r1, =((0x76<<12)+(2<<4)+2) ; Fout = 266.72MHz
这是我stdldr里start.s函数里的,在Resethandler入口处,为什么要先设置成266M呢?正常启动的时候,在eboot的start.s里又改回到400M了,照这样的话唤醒后是266M就不奇怪了,但是为什么我在stdldr的start.s改成400M唤醒后也还是266M呢?奇怪中……

唤醒的流程不是reset后在此处ldr r1, =GSTATUS2
    ldr r0, [r1]
    tst r0, #0x2
    ; Yes?  Then go to the resume handler code...
    bne WAKEUP_POWER_OFF跳转了吗?直接跳到休眠的地址了,难道中间有什么地方又修改了主频不成?

#6


我现在也遇到这个问题

#7


引用 6 楼 jeffrey_ou 的回复:
我现在也遇到这个问题
中间修改主频了,查查看

#1


用示波器量下ddr 和 lcd的时钟吧,如果都成倍降低了,那一定是你主频降了

#2


学习了……

#3


引用 1 楼 rushonin 的回复:
用示波器量下ddr 和 lcd的时钟吧,如果都成倍降低了,那一定是你主频降了
多谢提醒,测了下,频率减半,原来大约100M,唤醒后变为50左右,只是我在唤醒后马上设置MPLL为什么也不行呢?

#4


我测的是SDRAM的时钟

#5


;ldr r1, =((M_MDIV<<12)+(M_PDIV<<4)+M_SDIV)  ; Fin=12MHz, Fout=400MHz.
    ldr r1, =((0x76<<12)+(2<<4)+2) ; Fout = 266.72MHz
这是我stdldr里start.s函数里的,在Resethandler入口处,为什么要先设置成266M呢?正常启动的时候,在eboot的start.s里又改回到400M了,照这样的话唤醒后是266M就不奇怪了,但是为什么我在stdldr的start.s改成400M唤醒后也还是266M呢?奇怪中……

唤醒的流程不是reset后在此处ldr r1, =GSTATUS2
    ldr r0, [r1]
    tst r0, #0x2
    ; Yes?  Then go to the resume handler code...
    bne WAKEUP_POWER_OFF跳转了吗?直接跳到休眠的地址了,难道中间有什么地方又修改了主频不成?

#6


我现在也遇到这个问题

#7


引用 6 楼 jeffrey_ou 的回复:
我现在也遇到这个问题
中间修改主频了,查查看