黄渤的幽默的视频:NIOS II 问题集锦

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 22:16:32

QUARTUS II版本:9.0

FPGA型号:EP2C8Q208

配置芯片:EPCS4

SDRAM型号: HY57V28820HCT-H

FLASH型号 :TE28F320J3

前面的一些问题是入门时遇到的,能记得的都列出来了。后面的再遇到什么问题会不断更新……

一.SDRAM设置

在Nios II IDE 中下载时出现

Using cable "ByteBlasterII [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复位电路错误

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  "ext_flas
h.flash"
Empty flash content cannot be programmed or verified

 

的错误。提示说要给flash编程的数据是空的。

原因是RESET VECTOR指向了SDRAM,应该指向FLASH。因为这里要下载的是一个工程,下载的是工程内容,

reset vector指向了SDRAM与flash就没有关系了,也就不会下载到flash中。

四.LED基础实验PIO基地址错误

**** 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 BUG

一个论坛上看到的。问题现象:

在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的相应目录里。

NIOS2_EDS_9_SP2应该没有这个问题。