客服你好,我想做一个低功耗的实验,让CPU进入sleep mode,但是当配置SDRAM进入自刷新模式的时候系统就死机,程序是用的开发板光盘上的裸机启动程序(程序附在下面)。当执行问enable sdram self-refresh后就死机,无法执行下面的程序。希望能得到解答,谢谢!!!
ENTER_SLEEP
; 1) rGSTATUS3 should have the return address after wake-up from SLEEP mode.
ldr r0,=REFRESH
ldr r1,[r0] ; r1=rREFRESH
orr r1,r1, #BIT_SELFREFRESH
str r1,[r0] ; Enable SDRAM self-refresh
mov r1,#16 ; Wait until self-refresh is issued,which may not be needed.
0 subs r1,r1,#1
bne %B0
ldr r1,=MISCCR
ldr r0,[r1]
orr r0,r0,#(7<<17) ; Set SCLK0=0, SCLK1=0, SCKE=0.
str r0,[r1]
ldr r0,=GPBDAT ; GPF5-8输出为低表示点亮,GPB5-8
ldr r1,=0xf0 ; GPF8对应的LED灯点亮,GPB8点亮
str r1,[r0]
ldr r0,=CLKCON ; Enter sleep mode
str r2,[r0]
b . ; CPU will die here. |