SDRAM读写问题
SDRAM读写,感觉内容很多啊,数据手册上有一百多页,这几天看了一些,对SDRAM的整个工作原理有了一些认识,但就实验而言,感觉整个的思路还没理清楚,我是按照以实验代码为基础,哪里不明白研究哪里的,希望大家帮我捋一捋这几个问题:(用的是C5509A)1、对SDRAM 的读写需要做哪些设置?或者说必要的设置有哪些?除了代码中出现的CE空间,还有SDRAM的几个寄存器外。
2我对CE空间的理解是这样的:
CE空间是存放的不同的外部存储器的地址的在内存中的映射空间,应该说不同CE0—CE3空间对应不同的外部存储器(异步存储器,同步突发静态、同步动态存储器),在程序中哪里可以体现出来,EMIF配置结构体里面所有的CE空间都进行了初始化,为什么不是用什么初始化什么?
3、数据手册中提到了刷新请求,自刷新,自动刷新 需不需要深入理解,SDRAM刷新时,会用到SDRAM周期寄存器和计数寄存器,而计数寄存器在程序中并没 有进行相应设置,不影响吗?
4、在SDRAM初始化和发送刷新命令时都有相应的时序图,对于这两个时序图,有一些疑点:
(1)SRAM的初始化的为什么是CE空间,有什么作用?而不是初始化存储单元
(2) 时序图中的tRP+ 、tRC+、tMRD+ 这几个时间间隔是不是就是SDRAM控制寄存器中出现的TRPTRCTMRD ? 为什么不同的命令之间会有时间间隔?
(3)行列地址选通信号和写使能 应该是寻址L-bank和存储单元才用到,SDRAM初始化过程中怎么去理解?
(4) 在SDRAM的读时序图中,地址总线上出现的COL1和COL2是什么意思?
5、什么是SDRAM的未激活状态?看数据手册没看明白。
(添加不了图片)
SDRAM可以和5509A无缝连接 至于配置我也没细细研究
参考基于CSL的配置 然后只是基于基地址进行的读写 zhangmangui 发表于 2014-1-1 11:37 static/image/common/back.gif
SDRAM可以和5509A无缝连接 至于配置我也没细细研究
参考基于CSL的配置 然后只是基于基地址进行的读 ...
谢啦,我已经把思路理清楚了,其实上面的问题并不影响对整个实验的理解,知道最好,不知道没必要刨坑问底。 ttxs_2013 发表于 2014-1-3 19:27 static/image/common/back.gif
谢啦,我已经把思路理清楚了,其实上面的问题并不影响对整个实验的理解,知道最好,不知道没必要刨坑问底 ...
但是在下载程序的时候为什么迟迟没有测试结果?好像暂定运行也不行资料上说如果SDRAM的配置不对,就会造成仿真死机现象,最好先用GEL文件进行初始化测试环境,方法是file—》load GEL ,但下载报错
GEL: Error loading file 'E:\ccs3.3\Code-Easy5509\EX14_SDRAM\c5509.gel': function 'StartUp()' already defined
你遇到过这种情况没?了解不? ttxs_2013 发表于 2014-1-3 19:32 static/image/common/back.gif
但是在下载程序的时候为什么迟迟没有测试结果?好像暂定运行也不行资料上说如果SDRAM的配置不对,就会 ...
编译没有错误吗 还是只是下载的时候出的问题
如果只是下载出的问题 不知道程序跑起来结果是否正确
你双击打开c5509.gel看看StartUp这个函数
zhangmangui 发表于 2014-1-3 19:45 static/image/common/back.gif
编译没有错误吗 还是只是下载的时候出的问题
如果只是下载出的问题 不知道程序跑起来结果是否正确
你 ...
下载gel 文件报错,错误就是StartUp这个函数已经定义了,打开gel文件,
/* The Startup() function is executed when the GEL file is loaded. */
StartUp()
{
C5509_Init();
GEL_TextOut("Gel StartUp Complete.\n");
}
这个能说明什么问题?在gel文件中能够看出什么?搞不懂 ttxs_2013 发表于 2014-2-27 20:51 static/image/common/back.gif
下载gel 文件报错,错误就是StartUp这个函数已经定义了,打开gel文件,
/* The Startup() function is ex ...
我这边的也是这样 不知道什么原因 你的报错 zhangmangui 发表于 2014-2-27 22:01 static/image/common/back.gif
我这边的也是这样 不知道什么原因 你的报错
观察databuffer的值的话,其值还是有的,是因为程序运行需要一定时间?这个也没道理呀
另外还发现,在程序还在运行时,进行其他操作,总会会出现报错信息,接着就死机,遇到很多次了,不知道版主有没有用过v4的?v4的支不支持现在的代码? ttxs_2013 发表于 2014-2-27 22:10 static/image/common/back.gif
观察databuffer的值的话,其值还是有的,是因为程序运行需要一定时间?这个也没道理呀
另外还发现,在程 ...
在程序运行的时候 比如进行右击add to buffer 或者view下观察时域波形等
出现突然断开或者死机 我个人觉得还是与仿真器稳定性有关系
用3.3也经常遇到这种问题 与v4关系不大吧 zhangmangui 发表于 2014-2-27 22:18 static/image/common/back.gif
在程序运行的时候 比如进行右击add to buffer 或者view下观察时域波形等
出现突然断开或者死机 我个 ...
现在用的就是3.3的,嗯,可能是和仿真器有关系,我感觉我的仿真器就不太稳定,有时候发现显示和板子连接上的指示灯亮暗不一样,而且大部分情况连接不上,都要动动仿真器的USB线才好。 zhangmangui 发表于 2014-2-27 22:18 static/image/common/back.gif
在程序运行的时候 比如进行右击add to buffer 或者view下观察时域波形等
出现突然断开或者死机 我个 ...
这两天又是频繁的死机或连不上,跟买家联系了,说让寄回去看看,有问题给修,我不知道是自己操作不规范还是说仿真器真的有问题,版主觉得是不是该拿去给看看啊? ttxs_2013 发表于 2014-3-1 10:17 static/image/common/back.gif
这两天又是频繁的死机或连不上,跟买家联系了,说让寄回去看看,有问题给修,我不知道是自己操作不规范还 ...
这个不好说仿真器一般不会出什么问题
还是要确保你的板子这边 实在连不上考虑换个CCS版本
再试试 不行了就返厂家吧 顶 zhangmangui 发表于 2014-3-1 10:23 static/image/common/back.gif
这个不好说仿真器一般不会出什么问题
还是要确保你的板子这边 实在连不上考虑换个CCS版本
再试试 不 ...
板子应该是没有问题的,可不可以同时安装v4.1,在一台机子上? 关于程序空间的内存分配:你为什么这样分配?
MEMORY
{
PAGE 0:
MMR : origin = 0000000h, length = 00000c0h
SPRAM : origin = 00000c0h, length = 0000040h
VECS : origin = 0000100h, length = 0000100h
DARAM0: origin = 0000200h, length = 0003E00h
DARAM1: origin = 0004000h, length = 0004000h
DARAM2: origin = 0008000h, length = 0004000h
DARAM3: origin = 000c000h, length = 0004000h
SARAM0: origin = 0010000h, length = 0004000h
SARAM1: origin = 0014000h, length = 0005000h
SARAM2: origin = 0019000h, length = 0003000h
SARAM3: origin = 001c000h, length = 0004000h
SARAM4: origin = 0020000h, length = 0004000h
SARAM5: origin = 0024000h, length = 0004000h
SARAM6: origin = 0028000h, length = 0004000h
SARAM7: origin = 002c000h, length = 0004000h
SARAM8: origin = 0030000h, length = 0004000h
SARAM9: origin = 0034000h, length = 0004000h
SARAM10 : origin = 0038000h, length = 0004000h
SARAM11 : origin = 003c000h, length = 0004000h
SARAM12 : origin = 0040000h, length = 0004000h
SARAM13 : origin = 0044000h, length = 0004000h
SARAM14 : origin = 0048000h, length = 0004000h
SARAM15 : origin = 004c000h, length = 0004000h
CE0 : origin = 0050000h, length = 03b0000h
CE1 : origin = 0400000h, length = 0400000h
CE2 : origin = 0800000h, length = 0400000h
CE3 : origin = 0c00000h, length = 03f8000h
PDROM : origin = 0ff8000h, length = 07f00h
/* VECS : origin = 0ffff00h, length = 00100h */ /* reset vector */
}
而例程是这样的
MEMORY
{
PAGE 0:
PROG0(RWX) : origin = 04000h length = 08000h资料显示CE0是从040000开始的,写入的SDRAM数据的地址也是从040000开始的,这里怎么是04000h?
P_VECT(RIX) : origin = 0FF80h length = 00080h
PAGE 1:
DATA0(RW) : origin = 0C000h length = 04000h
}
有没有区别? ttxs_2013 发表于 2014-3-1 11:02 static/image/common/back.gif
板子应该是没有问题的,可不可以同时安装v4.1,在一台机子上?
可以我就安装了就是看看你的仿真器支持不? ttxs_2013 发表于 2014-3-1 14:20 static/image/common/back.gif
关于程序空间的内存分配:你为什么这样分配?
MEMORY
{
一个只是分的细而已0x4000H这是DSP内部的RAM区 0x40000开始才是CE0 zhangmangui 发表于 2014-3-1 22:58 static/image/common/back.gif
一个只是分的细而已0x4000H这是DSP内部的RAM区 0x40000开始才是CE0
是啊,DRAM是从04000H开始的,按照例程的长度是08000H,结束地址是04000+08000H=0c000H,而0c000H
还在DRAM区,那怎么会分配到CE空间呢? zhangmangui 发表于 2014-3-1 22:55 static/image/common/back.gif
可以我就安装了就是看看你的仿真器支持不?
安装弹出了系统错误,没按成。 zhangmangui 发表于 2014-3-1 22:58 static/image/common/back.gif
一个只是分的细而已0x4000H这是DSP内部的RAM区 0x40000开始才是CE0
0x4000H是内部的RAM区,为什么例程中.cmd可以这样分呢?
MEMORY
{
PAGE 0:
PROG0(RWX) : origin = 04000h length = 08000h资料显示CE0是从040000开始的,写入的SDRAM数据的地址也是从040000开始的,这里怎么是04000h?
P_VECT(RIX) : origin = 0FF80h length = 00080h
PAGE 1:
DATA0(RW) : origin = 0C000h length = 04000h
}
这样分之后写入SDRAM中的数据地址是存在了DSP内部的RAM区吗?
页:
[1]
2