我的BSP是由4.2升级过来的,启动点击挂起后屏幕慢慢变白,我的目的是让屏幕跟关机一样变黑。点击挂起就是调用OEM层的函数 : OEMPowerOff,因此我在\KERNEL\HAL\power.c的OEMPowerOff函数里面加入串口打印消息,没有任何消息打印出来。后来也像某位高人说的再FW.S中的;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Sometimes it is not working in cache mode. So I modify to jump to ROM area.
ldr r6, =0x92000000 ; make address to 0x9200 0020
add r6, r6, #0x20 ;
mov pc, r6 ; jump to Power off code in ROM
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
注释掉,但是不能正常进入系统,停在“OEMInit Done...”就不动了。
高人指导一下,难道点击挂起后屏幕慢慢变白就是所谓的休眠?
主要还是点击“挂起”不能进入OEMPowerOff函数的问题
一般进入OEMPOWEROFF函数的打印出来是这样的
Explorer(V2.0) taskbar thread started.
Touch Power Off
USB : SerPowerOff
-- in OEMPOWER.
-- CPULCDOff.
RaiseException: Thread=8fc45d70 Proc=8e026280 'device.exe'
AKY=0000001d PC=03fa7490(coredll.dll+0x00037490) RA=8c20fb3c(NK.EXE+0x0000fb3c) BVA=00000001 FSR=00000001
Exception 'RaiseException' Thread=8fc45d70 AKY=0000001d PC=8c20fb3c BVA=00000001
R0=000000d3 R1=b0800024 R2=00ce0459 R3=b1600080
R4=000f3337 R5=b0c0000c R6=0007fff8 R7=92000004
R8=4e00000c R9=ea0003fe R10=000000fb R11=00000064
R12=ffffc886 SP=00000100 Lr=ffffc764 Psr=000000df
Halting system
而我的打印消息是这样的
Explorer(V2.0) taskbar thread started.
Screen Saver Ended.
RaiseException: Thread=8fb79000 Proc=8d3b6160 'device.exe'
AKY=0000001d PC=03fa7494(coredll.dll+0x00037494) RA=8c2293e8(NK.EXE+0x000293e8) BVA=00000001 FSR=00000001
Exception 'RaiseException' Thread=8fb79000 AKY=0000001d PC=00000000 BVA=00000001
R0=00663437 R1=b0c0000c R2=0007fff8 R3=92000020
R4=b0a00000 R5=ffffc808 R6=00000000 R7=00000064
R8=ffffc886 R9=00000100 R10=ffffc764 R11=8c2293e8
R12=8c22af1c SP=00000010 Lr=00000000 Psr=800000df
Halting system
可以找一个流接口驱动试下
看看IOCTL中的Power set跑完了么
再看下Power Down跑完了么?
现在正常了,STOPGPIO函数更改后就可以看见明显效果了
不能关闭电源,网上说的可以用IO口控制电源,点挂起的时候在OEMPOWEROFF关闭