NIOS II 问题集锦(不断更新??)
(2009-11-03 21:42:18) 转载 标签: 分类: NIOS_II
nios ii 问题 错误
QUARTUS II版本:9.0 FPGA型号:EP2C8Q208 配置芯片:EPCS4
SDRAM型号: HY57V28820HCT-H
FLASH型号 :TE28F320J3
前面的一些问题是入门时遇到的,能记得的都列出来了。后面的再遇到什么问题会不断更新??
一.SDRAM设置http://blog.sina.com.cn/spflying 在Nios II IDE 中下载时出现
Using cable \ [LPT1]\ device 1, instance 0x00 Pausing target processor: OK
Reading System ID at address 0x01001058: verified Initializing CPU cache (if present) OK
Downloading 00800000 ( 0%) Downloaded 1KB in 0.0s
Verifying 00800000 ( 0%)
Verify failed between address 0x800000 and 0x8001FF Leaving target processor paused
找不到SDRAM、地址不存在的错误。
原因是搞错了SDRAM的型号并查错了PDF,导致SDRAM控制IO错乱。错误的设
置是
我的SDRAM型号是HY57V28820HCT-H:128Mbit SDRAM内存芯片,刷新为4K Ref,数据带宽为8位,Bank为4,接口为LVTTL,芯片修正版本为第4版,速度是7.5ns(PC133 CL=3)。50M时PLL偏移是-40.低速条件下不偏移也可以。 应该设置成:
二.CPU复位电路错误http://blog.sina.com.cn/spflying Nios II IDE 下载时出现如下错误提示:
Using cable \Pausing target processor: not responding. Resetting and trying again: FAILED Leaving target processor paused
在网上找了很多资料,出现这种通信错误的情况基本上是由于PIN定义错误或者是复位错误。仔细检查后发现PIN定义没有问题,在检查delay_reset_block后发现一个连线没有连接上,导致不能正常复位。基本上属于上述情况。以后要注意细心了!
三.FLASH下载内容为空http://blog.sina.com.cn/spflying 在有SDRAM和FLASH的SOPC中,如果最后要下载程序到FLASH中,在NIOS II 中用FLASH PROGRAMER下载时有
# Programming flash with the project
\--cable='ByteBlas
terII [LPT1]' --sidp=0x04001038 --id=417604522 --timestamp=1257256685 \h.flash\
Empty flash content cannot be programmed or verified
的错误。提示说要给flash编程的数据是空的。
原因是RESET VECTOR指向了SDRAM,应该指向FLASH。因为这里要下载的是一个工程,下载的是工程内容,reset vector指向了SDRAM与flash就没有关系了,也就不会下载到flash中。
四.LED基础实验PIO基地址错误http://blog.sina.com.cn/spflying **** Build of configuration Debug for project hello_led_0 **** make -s all includes Compiling hello_led.c...
../hello_led.c: In function `alt_main':
../hello_led.c:141: error: `LED_BASE' undeclared (first use in this
function)
../hello_led.c:141: error: (Each undeclared identifier is reported only once
../hello_led.c:141: error: for each function it appears in.) ../hello_led.c:190:80: warning: no newline at end of file make: *** [obj/hello_led.o] Error 1 Build completed in 3.625 seconds
原因是在定制SOPC系统时PIO的定义与这里程序的名称不相同。有两种方法,一种是在这里直接改成SOPC里面PIO的名称,第二种方法是改SOPC里面的PIO名称。clean project后重新build就可以了~
五.NIOS II 9.0 BUGhttp://blog.sina.com.cn/spflying 一个论坛上看到的。问题现象:
在ep2c下试验过没有任何问题的NIOS II在ep3c中无法自举(启动),但是看上去附加的verilog IP core在工作,只是nios2的C主程序无法运行。nios2eds也没有什么明显的报错。 原因:
NIOS2_EDS_9.0 的Flash Programmer有bug!
解决方法是把/opt/altera8.1/nios2eds/bin/sof2flash.jar 复制到9.0的相应目录里。(需要此文件可以发邮件到spfei@Hotmail.com索取) NIOS2_EDS_9_SP2应该没有这个问题。
[FPGA][NiosII]SDRAM使用心得
今天测试了刚拿到的带SDRAM和FlASH的EP2C8版子,终于在熄灯前把SDRAM给用起来了,很好,说两句心得
SDRAM程序基本上是按照SOPC联盟的教程来做的,不过里面也有些不详细的地方
1)莫名奇妙的错误,所有Nios程序都跑不了,出现以下提示: Using cable \Resetting and pausing target processor: FAILED Leaving target processor paused 解决办法:
网上搜了下,这个问题要先排查硬件,再考虑软件问题,Altera公司的解决办法是装7.2版本,服了他。
首先检查了SDRAM的接线,没发现“特别”的问题(见后) 之后用以前的板子EP2C5跑相同的程序,无问题 应该不是证书问题。。。。。
最后发现新板子晶振接引脚23,老板子接引脚132,郁闷,原来晶振根本没起振。 2)貌似是常见问题
结果运行时,显示代码下载成功 Downloaded XXKB in XXs(XXKB/S)
verifying 00000000(0%)
verify failed between address ox00000000 and 0xXXXXXXXX
leaving target paused
原因:SDRAM没有正常工作,address正是我内存分配的地址
解决:仔细又检查了一遍接线,SDRAM的CLK竟然没有接入任何信号。这儿书上没有提到,分配引脚也忘了这个脚,再次晕倒。
拉来50MHzPLL,SDRAM总算可以正常工作了,虽然用了好几十根引脚,但再也不用烦恼NIOS内存不够了,很开心,see you!