S3C2440, 休眠时直接跑飞

upig 2009-04-16 01:35:39
代码如下,我通过亮灯显示执行情况,发现我执行休眠时,在设置内存自刷新后,就直接跑飞了。不知道为何?

; 7. Go to Power-Off Mode
ldr r0, =vMISCCR ; hit the TLB
ldr r0, [r0]
ldr r0, =vCLKCON
ldr r0, [r0]

ldr r0, =vREFRESH
ldr r1, [r0] ; r1=rREFRESH
可以正确执行到这里
orr r1, r1, #(1 < < 22)
无法执行到这里


ldr r2, =vMISCCR
ldr r3, [r2]
orr r3, r3, #(3 < <17) ; Make sure that SCLK0:SCLK->0, SCLK1:SCLK->0, SCKE=L during boot-up
bic r3, r3, #(7 < <20)
orr r3, r3, #(6 < <20)

ldr r4, =vCLKCON
ldr r5, =0x1ffff8 ; Power Off Mode


我检查了内存设置的参数,与SDRAM的手册一一对照。应该是没问题的。
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yashi 2009-04-16
  • 打赏
  • 举报
回复
很好奇,你是怎么确定哪句执行,哪句没执行的?
upig 2009-04-16
  • 打赏
  • 举报
回复
我是64MB的SDRAM,使用BANK6,设置如下,平时运行程序,跑CE都很正常:

;Bank 6 parameter
B6_MT EQU 0x3 ;SDRAM
B6_Trcd EQU 0x1 ;3clk
B6_SCAN EQU 0x1 ;9bit

;Bank 7 parameter
B7_MT EQU 0x1 ;Reserved, not use
B7_Trcd EQU 0x1 ;3clk
B7_SCAN EQU 0x1 ;9bit

;REFRESH parameter
REFEN EQU 0x1 ;Refresh enable
TREFMD EQU 0x0 ;CBR(CAS before RAS)/Auto refresh
Trp EQU 0x1 ;3clk
Tsrc EQU 0x1 ;5clk Trc= Trp(3)+Tsrc(5) = 8clock
Tchr EQU 0x2 ;3clk
REFCNT EQU 1269 ;HCLK=100Mhz, (2048+1-7.8*100)
DCD((1<<5)+(1<<4)+1) ;SCLK power saving mode, BANKSIZE 64M/64M
DCD 0x30 ;MRSR6 CL=3clk
DCD 0x30 ;MRSR7 CL=3clk

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧