被Cyclone III搞得死去活来,特来求教。epcs@ciii复位无法boot ------------问题解决
请问 tear086 .COM 缺氧 的问题解决了没有啊,我现在遇到了同样的问题,ep3c55+epcs16+sdram,程序和逻辑都固化进epcs16,复位地址指向epcs16,程序运行空间指定为sdram,调试工具用的是quartus ii /nios ii 8.0+sp1版本的。程序和逻辑固化好,掉电后重新上电,程序运行不起来,但是在线运行一遍nios ii,整个板子能正常工作,说明编写的程序和sdram都是没问题的。
看时间好像问题间隔得挺久了,但还是希望楼主能回复一下,到底结果怎么弄的,谢谢了。问题解决不了,真的也快崩溃了。 我原来用CII时也碰到过这个问题, 搞了很久才发现原因。 跟使用哪一个版本的软件应该没有关系,我当时在线下载也可以跑!但烧到epcs就不行, 后来查来查去发现sdram的 字节使能NBS0,NBS1的那两个IO口(高低位)对调了! 交换回正确的就可以工作了!
我就不明白,为什么用JTAG下载调试就可以跑!
建议: 用Nios II IDE中创建一个memory test 模板工程来测试一下系统连接的各个flash 或 sdram是否都正确读写了! 回复【1楼】cicnx
-----------------------------------------------------------------------
非常谢谢。我用的SDRAM是mt48lc8m32系列的,对于DQMH和DQML两个管脚都是直接拉低,让它一直使能有效的。不知道这样行不行。 回复【1楼】cicnx
-----------------------------------------------------------------------
不是mt48lc8m32,是mt48lc8m16。
原理图设计是别的同事弄的,运行程序的SDRAM挂了两片mt48lc8m16,组成32bit。同事设计原理图的时候将两片SDRAM的DQMH和DQML管脚分别连接了起来,因此是需要两个信号控制。而FPGA的SOPC系统自带的SDRAM Controller生成的顶层模块是DQM,一共4个信号,分别对应两片的DQMH、DQML。因为我有看到别人写的对于SDRAM的操作,就是直接将DQMH和DQML两个输出赋值为0的。我就想当然的没把SDRAM Controller生成的DQM输出赋值给外面的两个信号,直接在顶层模块里拉低输出了DQMH、DQML。 回复【1楼】cicnx
-----------------------------------------------------------------------
sdram的 字节使能的字节使能能不能直接拉低,一直使它有效啊? http://blog.ednchina.com/ilove314/1895479/message.aspx
请看特权的博文。 回复【5楼】yuphone .COM 缺氧®
-----------------------------------------------------------------------
谢谢啊。但是我的情况跟帖子里说的还有些不一样。我的epcs16固化ep3c55的逻辑和程序应该是成功的,因为我将程序的运行空间在nios ii里设置成指向FPGA内部存储资源定制的on_chip_ram时,逻辑和程序都是运行成功的,用示波器测试到了输出的信号。而将运行程序的空间指向外挂的sdram时,程序就跑不起来了,而逻辑是配置好了,因为此时用signal tap ii就能运行起来,不需要重新配置。 而且将程序运行空间指向sdram,通过usb下载线在jtag口在线运行一次程序,是可以运行起来的。 问题解决。主要是运行nios ii程序的SDRAM Controller生成的DQM4个信号应该依次赋给高、低16bitSDRAM的DQMH、DQML,而不能高低颠倒,也不能简化成两个信号输出。固化好逻辑和程序后,在上电瞬间或者复位瞬间,才能看到DQM4个信号输出有高有低,等系统稳定后,DQM一直输出低电平。因此这个问题与软件版本无关。 多谢1楼cicnx 的提示。通过JTAG口,利用USB下载线在nios ii在线调试时,之所以能够运行成功,是因为这种情况下并不需要将程序从epcs里复制到SDRAM,从而对SDRAM进行写操作,DQM主要是在写操作时起作用。我还用示波器看了一下DQM,在线调试依次时,其上并没有高低电平间隔输出,一直都是低电平的。 赶紧mark 手上有一片25 回复【8楼】jane0324
-----------------------------------------------------------------------
我也遇到了同样的问题,也是直接把SDRAM的DQMH ,DQML拉低了,从你的情况来看,NIOS2是不是在每次复位时首先对SDRAM作了一些测试才开始运行的哦?
这个问题我也搞了好多天了,现在差不多发现问题了,明天去试试。 收藏,好帖。 嗯,不错!类似的问题还会在DDR2/DDR3中出现。。。。。大家注意一下 MARK了最近正在搞DDR2!!! jane0324 发表于 2011-3-14 18:12
问题解决。主要是运行nios ii程序的SDRAM Controller生成的DQM4个信号应该依次赋给高、低16bitSDRAM的 ...
想问一下,我现在的情况SDRAM的DQM直接接地时,EPCS里的程序只有SOF文件部份正常运行,ELF文件部份不能运行。这个情况是不是因为SDRAM的DQM直接接地引起的?
页:
[1]