1. 怎样在TCL脚本分配管脚 source .tcl 有点问题:
# source stratix_pin_assign.tcl
couldn't read file "stratix_pin_assign.tcl": no such file or directory
答: From the Tools menu select Tcl s, and then from the project folder choose the setup for your particular development board, and click Run.
2.D:\TEST\nios_sst60下载时出现错误:
Error: Can't configure device. Expected JTAG ID code 0x020010DD for device 1, but found JTAG ID code 0x020B40DD.
答:SOPC所选器件和开发板上的不一致。
4.这个错误是什么原因引起,把那个sdk_arm删除后,又提示另一个地方出错。
答:运行NIOS II IDE,点Project->Clear,重新Builde,应该可以解决问题。
5.在SOPC中Generate出现如下错误是怎么回事? Error: Generator program for module 'epcs_controller' did NOT run successfully. 只要在SOPC中加入epcs_controller就会出现此错误,无法生成一个元件。
答:可能和软件有关系,建议重新安装软件(这个问题是我刚学NIOS遇到的最头痛的一个问题,问题的原因是Quartus和Nios安装的版本不一致)。
6.在Nios II IDE中,怎样打开一个已经存在的工程?每次新建工程比较麻烦。
答:指定一个Nios II IDE的工作目录,就打开了那个目录下存在的工程。另外,在Nios II中是可以建立多个工程的。
7.在Quartus II 中编译出现如下错误怎么办?
Error: Can't place pins assigned to pin location Pin_AE24 (IOC_X65_Y2_N2)
答:按F1可以查看帮助,出现这样的错误的原因是:
CAUSE: You assigned two or more pins to the specified location, but the Fitter cannot place all the pins in that location.删除这个管脚即可。有一种比较简便的方法,就是在工程目录中找到一个后缀为QSF的管脚配置文件,查找Pin_AE24删除那行语句就行了。
8.如何在NIOS II IDE 下跟踪查看变量的定义或者函数的定义?
答:按住CTRL键,鼠标移动到变量或者函数名的地方,就可以发现这些地方高亮显示,单击就可以进入到变量或者函数定义的地方。
12.在SOPC添加Avalon Trisatate Bridge时,提示有如下错误,该如何解决?
Tri state bridge/tristate master requires a slave of type Avalon tristate.Please add a slave of type Avalon tristate.
Generate按钮为灰色,无法Generate
答:需要一个专门接三台桥的设备, 把flash添加到sopc中就可以了。
13. 在做count_binary这个例子时,出现一个错误: error: `BUTTON_PIO_IRQ' undeclared (first use in this ) BUTTON_PIO_IRQ的值如何给他定义?答:这个错误可能是在sopc builder中定制的pio端口名称是否与程序中用的不一致,要和程序里的一致,把pio组件的名称就改为button_pio,如下图:
如果已经这样设置,还有可能是没有设置中断号,具体应该这样设置:
16.在NIOS II中编译时出现如下错误怎么解决?错误是不是由SOPC中的RAM引起?
region ram is full (count_binary.elf section .text). Region needs to be 24672 bytes larger.
address 0x80c1f8 of count_binary.elf section .rwdata is not within region ram
Unable to reach edge_capture (at 0x00800024) from the global pointer (at 0x0081419c) because the offset (-82296) is out of the allowed range, -32678 to 32767.
答:可能时RAM的大小不够,也有可能是中断地址(exception address) 的偏余量不够,设置大些就可以了。如果还是出现这个问题,加一个SDRAM试试。
17.在Quartus II中,为什么编译一些样板工程都会出错?
Error: DDR timing cannot be verified until project has been successfully compiled.
Error: Evaluation of Tcl auto_verify_ddr_timing.tcl unsuccessful
Error: Quartus II Shell was unsuccessful. 2 errors, 1 warning
答:在做样板工程时要注意一个问题:Due to the library paths that are coded into the Quartus settings for this project, if a user wishes to modify the hardware design they must first strip out any old paths from within the project settings file (qsf)
在qsf文件中找到类似语句
set_global_assignment-nameVHDL_FILE C:/MegaCore/ddr_ddr2_sdram-v3.2.0/lib/auk_ddr_tb_s.vhd"这里的目录是初始的目录,把它改为正确的目录。
18.在NIOS II IDE编译时出现如下错误是怎么回事?
system_deion/alt_sys_init.c:75: error: `ONCHIP_MEMORY_BASE' undeclared here (not in a )
system_deion/alt_sys_init.c:75: error: initializer element is not constant
system_deion/alt_sys_init.c:75: error: (near initialization for `ext_flash.dev.write')
system_deion/alt_sys_init.c:75: error: initializer element is not constant
system_deion/alt_sys_init.c:75: error: (near initialization for `ext_flash.dev.read')
答:ONCHIP_MEMORY_BASE没有赋值,在alt_sys_init.c 程序的开头加上#define ONCHIP_MEMORY_BASE 0x00000000后面的这个地址要与SOPC中的对应。
19. 在NIOS II IDE编译时出现如下错误是怎么回事?
Pausing target processor: not responding.
Resetting and trying again: FAILED
Leaving target processor paused
答:以下是一位FAE的回答:
1. 关于USB-Blaster在Nios II IDE下载时会发生偶发性错误,这种现象主要是IDE software与Nios II CPU透过USB-Blaster在做通讯时发生错误,若是确认FPG上配置没有错误,连续发生错误的机率应该是相当的低,您只需要重新下载即可。
2. 若您使用Nios II IDE 6.0,请尽量配合SOPC Builder 6.0重新build您的system,并且使用Quartus II 6.0重新compile您的project,以减少CPU与IDE software不兼容的情形。
20.在NIOS II IDE中工程的System Library选项中的这几个选项代表什么意思?.text .rodata .rwdata 与reset .exception这几个地址之间的关系是什么?
答:.text : 代码区 .rodata:只读数据区,一般存放静态全局变量 .rwdata:可读写变量数据区另外还有.bss:存放未被初始化的变量。
■ .text — the actual executable code
■ .rodata — any read only data used in the execution of the code
■ .rwdata — where read/write variables and pointers are stored
■ heap — where dynamically allocated memory is located
■ stack — where call parameters and other temporary data is stored
26.在SOPC中加了一个200KB的onchip_memory ,为什么在Quartus II 编译时出现这个错误?
Error: Selected device has 105 RAM location(s) of type M4K RAM. However, the current design needs more than 105 to successfully fit
答:SOPC中的onchip_memory和M4K RAM根本就不是一个概念。Quartus II中编译出现这个错误,是由于设计中用到了太多的M4K。
29.如何优化NIOSII里的应用工程?
答:Optimize your Nios II application design!
1.Creat an Blank Project:Select Altera Nios II " C/C++ Application"
2. In main.c[your main fuctional c/c++ file]:
#i nclude "system.h"
#i nclude "alt_types.h"
#......
int main (void) __attribute__ ((weak, alias ("alt_main")));
int alt_main (void)
{
......
return 0;
}
3."System Library Properties" Options
Select "Clean EXIT"
Select "Small C Library"
Select "Reduced Device Drivers"
Spicify linker position, to ext_flash, ext_ram or on-chip-ram
34. 安装了nios2linux-1.4之后,为什么在New->Project时并没有出现Microtronx NIOS II选项呢?
答:这个问题好像难倒过很多人,其实在运行nios2linux-1.4安装的第一步,里面有个提示:
Information Regarding the Installation Procedure
IMPORTANT: Please ensure that you specify the correct path for the Altera Nios II Kit installation directory and the Cygwin root directory. The typical Altera Nios II Kit directory is:c:\altera\kits\nios2
The typical Cygwin root directory is:
c:\altera\quartus50\bin\cygwin
问题的关键就是上面的路径不正确。对于Nios 5.1和6.0的路径分别为nios_51和nios_60,都不是nios2,所以安装后找不到模板工程很正常。但它的一些必要文件又确实是安装在了 nios_51或nios_60中。我也遇到了过同样的问题,想到了一个简单的方法可以解决:
1.把文件夹nios_51或nios_60改为nios2,启动Nios II,就可以看到所需模板工程。
2.退出Nios II,把文件夹名还原。
3.再次启动Nios II,你会发现模板工程依然还在。
35.Nios II汉化解决方案
答:NIOS II IDE实际上是在eclipse平台上的一个应用插件,而Eclipse 是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。可访问如下网站:
1.Eclipse官方网站http://www.eclipse.org/
2.中国Eclipse社区 http://www.eclipseworld.org/bbs/index.php
下面介绍如何汉化NIOS II(实际上只是汉化了eclipse)
1.打开NIOS II,点help->about NIOS II IDE,会看到有关NIOS的版权信息。可以看到NIOS II 5.1的版本上的Eclipse版本是Eclipse 3.0.1
2.在Eclipse官方网站上找到Eclipse 3.0.1多国语言包NLpack-eclipse-SDK-3.0.x-win32.zip
下载地址: http://sunsite.informatik.rwth-a/ ... SDK-3.0.x-win32.zip
3.在NIOS II的安装目录中,你可以找到一个eclipse目录,如:C:\altera\kits\nios2\bin\eclipse,在这个目录下新建2个文件夹language和links
4.将NLpack1-eclipse-SDK-3.1.1a-win32.zip解压到language目录下
5.在links文件夹下用记事本新建一个文件,取名为link.link(必须是此扩展名)
6.在language.link 里输入代码如下: path=c:/altera/kits/nios2/bin/eclipse/language 保存此文件。
7.汉化完成。
说明,这种方法只是汉化了eclipse,对NIOS II没有汉化,但这个软件已经大部分为中文了,因为NIOS II 只是eclipse一个插件。对于我们新手来说这还是必要的。