Board logo

标题: 用了片外ssram,系统出问题了,请帮帮忙!! [打印本页]

作者: wilde.1    时间: 2007-6-1 23:04     标题: 用了片外ssram,系统出问题了,请帮帮忙!!

我想用一个片外的ssram代替片内的ram/rom作运行程序用

我先用了一个以前运行成功的程序在片内ram中试验(控制16×16led显字)

能成功运行,即点阵led能显字。。

ide中显示:

nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "Nios II Evaluation Board [USB-0]", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)

然后我把片内ram去掉再加上片外的ssram(只有这一个存储器。。)

同时reset address和exception address都指向ssram,

ide中的program memory,read only memory,r/w menory,heap memory,stack memory都指向了ssram

ide中同样显示:

nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "Nios II Evaluation Board [USB-0]", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)

但是实际上点阵led毫无反应。。。

请问各位高手,这是什么原因??怎么解决?

谢谢!!


作者: caopengly    时间: 2007-6-4 21:24

你光使用sram是不行的,他不能代替rom 的功能,即掉电就没有了。

你应该有flash这类 的掉电保存的芯片 ,然后reset address指向它 。

你可以先调试 一下 sram和nios的连接,在ide中调试点debug。

如果可以调试,说明硬件连接没有问题。


作者: kzw    时间: 2007-6-4 23:31

现在片内ram中运行一段代码,对ssram操作一下,看是否正确,如果正确,证明你的ssram组件构建的没有问题。
作者: wilde.1    时间: 2007-6-5 09:55

谢谢两位好心的版主!

我的问题找到了,是时钟接错了,我一开始没加片外ssram时片内一直用的50mhz,

后来加了sram我只把pll的输出时钟生成了85mhz,内部的没改(ssram contorl)

我还想请问一下:如果我只是用jtag在线调试(比如在实验箱上)那么即使reset address指向flash,

也并没有使用它是吧?这时它形同虚设?因为我只用jtag下载了.sof文件。。。他只是下载到了ram或sram

里面是不是?

初学,有不对的地方请帮忙详细解释一下啊

谢谢了!


作者: kzw    时间: 2007-6-5 23:52

恩,如果只是调试的话,reset地址设置在什么地方没有什么实际的意义。
作者: caopengly    时间: 2007-6-6 17:29

关于sopc-builder 中reset address 的设置

SOPC中的reset address 指定的是最终全部软件程序代码下载到的地方,并且程序从reset address 启动。
SOPC中的exception address 指定的是系统异常处理代码存放的地方。如果exception address 和reset address 不一样,那么程序从reset address 启动后将把放在reset address 处的系统异常处理代码拷贝到exception address 。
NIOS II软件中的text address指定的是程序运行的地方。如果text address和reset address 不一样,那么程序从reset address 启动后将把放在reset address 处的普通只读程序代码拷贝到text address 。NIOS II软件中的rodata address指定的是只读数据的存放地方。如果rodata address和reset address 不一样,那么程序从reset address 启动后将把放在reset address 处的只读数据拷贝到rodata address 。
NIOS II软件中的rwdata address指定的是可读写数据的存放地方。如果rwdata address和reset address 不一样,那么程序从reset address 启动后将初始化rwdata address 处的可读写数据。






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0