4049|6

90

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

S3C2440板子SDRAM不转,为什么? [复制链接]

     最近做了一块S3C2440的板子,程序从FLASH搬4K到2440内部的SRAM中初始化CPU,SDRAM后,(前4K代码运行正常,有指示灯显示),搬代码到SDRAM中,在SDRAM运行,就运行不了,程序跑飞,不知道为什么?
     之前感觉是SDRAM电路有问题,但是用ADS调试,初始化CPU时钟和SDRAM后,用setmem指令向SDRAM的0X30000000以后的地址写数据,是可以写进去。但就是程序不能运行,为什么?   
     请各位大侠出手相助。

最新回复

是不是mmu配的有问题?  详情 回复 发表于 2010-6-18 17:50
点赞 关注

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你看一下寄存器是不是有错误。
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
  感谢fpcc回复,应该不是寄存器的原因。因为代码我放到购买的开发板上是没有问题的。
  最近我又做了进一步的测试,发现程序在NBOOT中,从汇编跳到C语言的时候,程序才跑飞了。初步认定是SDRAM电路有问题。我对SDRAM做了如下测试。向0X30000000到0X30000400地址分别写入32位0XAAAAAAAA与0x55555555,再读出,并通过串口打印出。发现写入的数据0xaaaaaaaa和0x55555555都是正确的。由此证明32位的数据线是没有问题的。
  于是我又做了如下测试,向0X30000000到0X300003ff地址中写入32位垒加数。每加一个地址数字加1,例如:  
    地址 0X30000000 写入 数值0X00000000
   地址 0X30000001 写入 数值0X00000001
   地址 0X30000002 写入 数值0X00000002
             ----------------------
   地址 0X300003ff 写入 数值0X000003ff
   0X400个数据都写完之后,再统一读出这个0X400个数据。发现我的做的板子打印的数据如下所示:
80 00 00 00 81 00 00 00 82 00 00 00 83 00 00 00 84 00 00 00 85 00 00 00 86 00 ~~~~~
90 00 00 00 91 00 00 00 92 00 00 00 93 00 00 00 94 00 00 00 95 00 00 00 96 00 ~~~~~
A0 00 00 00 A1 00 00 00 A2 00 00 00 A3 00 00 00 A4 00 00 00 A5 00 00 00 A6 00 ~~~~~
B0 00 00 00 B1 00 00 00 B2 00 00 00 B3 00 00 00 B4 00 00 00 B5 00 00 00 B6 00 ~~~~~
80 00 00 00 81 00 00 00 82 00 00 00 83 00 00 00 84 00 00 00 85 00 00 00 86 00 ~~~~~
90 00 00 00 91 00 00 00 92 00 00 00 93 00 00 00 94 00 00 00 95 00 00 00 96 00 ~~~~~
A0 00 00 00 A1 00 00 00 A2 00 00 00 A3 00 00 00 A4 00 00 00 A5 00 00 00 A6 00 ~~~~~
B0 00 00 00 B1 00 00 00 B2 00 00 00 B3 00 00 00 B4 00 00 00 B5 00 00 00 B6 00 ~~~~~
80 00 00 00 81 00 00 00 82 00 00 00 83 00 00 00 84 00 00 00 85 00 00 00 86 00 ~~~~~
90 00 00 00 91 00 00 00 92 00 00 00 93 00 00 00 94 00 00 00 95 00 00 00 96 00 ~~~~~
A0 00 00 00 A1 00 00 00 A2 00 00 00 A3 00 00 00 A4 00 00 00 A5 00 00 00 A6 00 ~~~~~
B0 00 00 00 B1 00 00 00 B2 00 00 00 B3 00 00 00 B4 00 00 00 B5 00 00 00 B6 00 ~~~~~
C0 00 00 00 C1 00 00 00 C2 00 00 00 C3 00 00 00 C4 00 00 00 C5 00 00 00 C6 00 ~~~~~
D0 00 00 00 D1 00 00 00 D2 00 00 00 D3 00 00 00 D4 00 00 00 D5 00 00 00 D6 00 ~~~~~
E0 00 00 00 E1 00 00 00 E2 00 00 00 E3 00 00 00 E4 00 00 00 E5 00 00 00 E6 00 ~~~~~
F0 00 00 00 F1 00 00 00 F2 00 00 00 F3 00 00 00 F4 00 00 00 F5 00 00 00 F6 00 ~~~~~
80 01 00 00 81 01 00 00 82 01 00 00 83 01 00 00 84 01 00 00 85 01 00 00 86 01 ~~~~~
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     而购买的开发板,打印数据如下:
00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 ~~~~~
10 00 00 00 11 00 00 00 12 00 00 00 13 00 00 00 14 00 00 00 15 00 00 00 16 00 ~~~~~
20 00 00 00 21 00 00 00 22 00 00 00 23 00 00 00 24 00 00 00 25 00 00 00 26 00 ~~~~~
30 00 00 00 31 00 00 00 32 00 00 00 33 00 00 00 34 00 00 00 35 00 00 00 36 00 ~~~~~
40 00 00 00 41 00 00 00 42 00 00 00 43 00 00 00 44 00 00 00 45 00 00 00 46 00 ~~~~~
50 00 00 00 51 00 00 00 52 00 00 00 53 00 00 00 54 00 00 00 55 00 00 00 56 00 ~~~~~
60 00 00 00 61 00 00 00 62 00 00 00 63 00 00 00 64 00 00 00 65 00 00 00 66 00 ~~~~~
70 00 00 00 71 00 00 00 72 00 00 00 73 00 00 00 74 00 00 00 75 00 00 00 76 00 ~~~~~
80 00 00 00 81 00 00 00 82 00 00 00 83 00 00 00 84 00 00 00 85 00 00 00 86 00 ~~~~~
90 00 00 00 91 00 00 00 92 00 00 00 93 00 00 00 94 00 00 00 95 00 00 00 96 00 ~~~~~
A0 00 00 00 A1 00 00 00 A2 00 00 00 A3 00 00 00 A4 00 00 00 A5 00 00 00 A6 00 ~~~~~
B0 00 00 00 B1 00 00 00 B2 00 00 00 B3 00 00 00 B4 00 00 00 B5 00 00 00 B6 00 ~~~~~
C0 00 00 00 C1 00 00 00 C2 00 00 00 C3 00 00 00 C4 00 00 00 C5 00 00 00 C6 00 ~~~~~
D0 00 00 00 D1 00 00 00 D2 00 00 00 D3 00 00 00 D4 00 00 00 D5 00 00 00 D6 00 ~~~~~
E0 00 00 00 E1 00 00 00 E2 00 00 00 E3 00 00 00 E4 00 00 00 E5 00 00 00 E6 00 ~~~~~
F0 00 00 00 F1 00 00 00 F2 00 00 00 F3 00 00 00 F4 00 00 00 F5 00 00 00 F6 00 ~~~~~
00 01 00 00 01 01 00 00 02 01 00 00 03 01 00 00 04 01 00 00 05 01 00 00 06 01 ~~~~~
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    因为数据线前面的试验表明是没有问题,所以从数据的显示现象,感觉上是我做板子的第7位地址线一直是高电平,应该是第7位地址线与VCC短接。但后来发现SDRAM地址线是行和列复用的,不太像是地址线有问题。
    出现以上现象,希望有了解SDRAM或ARM的高手跳出来指点一下,小弟在此先感谢了。
    备注: 我的SDRAM是两片HY57V561620FTP-H的SDRAM .CPU为S3C2440.

   

   
   
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
SDRAM没有配置好吧?在AXD里面直接用脚本试试
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
同样的程序,开发板上跑着没问题,但是我做的板子就会出现以上问题,故SDRAM配置应该没有问题。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

6
 
今天又做一个实验,即用ADS进行调试,

先初始化CPU,代码如下:
setmem 0x4c000014,0x7,32
setmem 0x4c000004,0x6e031,32
setmem 0x4c000008,0x3c042,32
setmem 0x48000028,0x82,32

然后,配置SDRAM,代码如下:
setmem 0x53000000,0x00000000,32
setmem 0x4a000008,0xffffffff,32
setmem 0x4a00001c,0x00007fff,32
setmem 0x48000000,0x2212d110,32
setmem 0x48000004,0x00000f40,32
setmem 0x48000008,0x00002e50,32
setmem 0x4800000c,0x00002e50,32
setmem 0x48000010,0x00002e50,32
setmem 0x48000014,0x00002e50,32
setmem 0x48000018,0x00002e50,32
setmem 0x4800001c,0x00018005,32
setmem 0x48000020,0x00018005,32
setmem 0x48000024,0x00960542,32
setmem 0x4800002c,0x00000030,32
setmem 0x48000030,0x00000030,32

然后选择”Load Memory from File…”,下载我的测试程序“test.bin”到0X30000000后,
在菜单中选择”Process Views”,然后选择”Memory”,输入DRAM的地址0x30000000.查看
内存发现:
    0x30000000~0x300000ff内存的数据没问题与“test.bin”前0xff(256)个字节一致。
    但0x30000100~0x300001ff和0x30000200~0x300002ff内存的数据跟内存地址0x30000300~
0x300003ff数据一样。跟“test.bin”的0x300~0x3ff一样。
    即,0x30000100~0x300001ff和0x30000200~0x300002ff内存的数据被0x30000300~
0x300003ff数据代替。

    同样发现0x30000500~0x300005ff和0x30000600~0x300006ff内存的数据被0x30000700~
0x300007ff数据代替。
   0x30000800~0x300008ff、0x30000900~0x300009ff和0x30000a00~0x30000bff内存的数据被0x30000b00~0x30000bff数据代替。
   这0xff,即256数据为一组,在SDRAM中表示含义?为什么会出现这个现象,请路过高人指点。

   
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

7
 
是不是mmu配的有问题?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表