QUARTUS II版本:9.0
FPGA型号:EP2C8Q208
配置芯片:EPCS4
SDRAM型号: HY57V28820HCT-H
FLASH型号 :TE28F320J3
前面的一些问题是入门时遇到的,能记得的都列出来了。后面的再遇到什么问题会不断更新……
一.SDRAM设置
在Nios II IDE 中下载时出现
Using
Pausing
Reading
Initializing
OK
Downloading
Downloaded
Verifying
Verify
Leaving
找不到SDRAM、地址不存在的错误。
原因是搞错了SDRAM的型号并查错了PDF,导致SDRAM控制IO错乱。错误的设置是
我的SDRAM型号是HY57V28820HCT-H:128Mbit
Bank为4,接口为LVTTL,芯片修正版本为第4版,速度是7.5ns(PC133
低速条件下不偏移也可以。
Nios II IDE 下载时出现如下错误提示:
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: not responding.
Resetting and trying again: FAILED
Leaving target processor paused
在网上找了很多资料,出现这种通信错误的情况基本上是由于PIN定义错误或者是复位错误。仔细检查后
发现PIN定义没有问题,在检查delay_reset_block后发现一个连线没有连接上,导致不能正常复位。基本上属于
上述情况。以后要注意细心了!
三.FLASH下载内容为空
在有SDRAM和FLASH的SOPC中,如果最后要下载程序到FLASH中,在NIOS II 中用FLASH PROGRAMER下载时有
# Programming flash with the project
"$SOPC_KIT_NIOS2/bin/nios2-flash-programmer" --base=0x03000000 --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中。
**** 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就可以了~
一个论坛上看到的。问题现象:
在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的相应目录里。
(需要此文件可以发邮件到[email protected]索取)
NIOS2_EDS_9_SP2应该没有这个问题。