天嵌 ARM开发社区

 找回密码
 注册
查看: 2676|回复: 3

关于SDRAM的自刷新问题

[复制链接]
carit 发表于 2010-9-19 18:22:05 | 显示全部楼层 |阅读模式
客服你好,我想做一个低功耗的实验,让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.
天嵌_support1 发表于 2010-9-20 10:45:06 | 显示全部楼层
1# carit

看了一下芯片手册,在进入sleep mod 时,mask 所有的中断,这里我没有看到你这个。
 楼主| carit 发表于 2010-9-20 14:51:16 | 显示全部楼层
您好,谢谢你的回答。我肯定看过芯片手册,也是按照他上面的一步步来的。前面的几部,包括I/O口配置,屏蔽中断等,都已经在C代码里完成了,这里是跳到汇编里执行的代码。进汇编后首先就是使得SDRAM进入自刷新模式,但是我相应位设置后,CPU就死机了。
maylag 发表于 2010-12-27 14:24:35 | 显示全部楼层
请问,这个问题是如何解决的呢?我也遇到了同样的问题,能否告知?谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-28 08:30 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表