Nios2常见问题解释转载 matcom安装问题 转载

转载地址:http://www.cnblogs.com/kingst/archive/2010/05/04/1727613.html

为了帮助初学者快速入门NIOS II,在此建立NIOS IIFAQ,希望大家把自己遇到的问题提出来,然后在这里总结起来,以帮助以后遇到同样问题的人。

首先需要声明一点,下面部分问题来自网络,如果版权问题,请及时通知,我将会将其删除

在此提几点要求和规定:

1.此贴是NIOS II FAQ,所以不收录其他相关内容;

2.大家通过回帖方式进行提问,如果有其他人可以解决,也是通过回帖方式进行解决;

3.问题解决以后,我会将其编入这个贴内,然后将问题跟帖删除,避免跟帖过多的影响。

4.禁止在回帖中涉及与NIOS II无关内容,一经发现立即删除。

-------------------------------------------华丽的分割线----------------------------------------------------------------------

1.NIOS能做浮点运算么?

答:NIOS可以进行浮点运算,完全可以替代MCU,时钟可以跑到100Mhz,比ARM7还要快,ARM7时钟一般为72Mhz左右。

2.NIOS是否可以不使用SDRAM和并行FLASH?

答:首先说明一下,SDRAM是用来运行程序的,FLASH是用来存储程序代码的(SDRAM掉电丢失,FLASH则不会),每次上电的时候,都需要将FLASH中的程序代码放到SDRAM中,然后再运行。FPGA内部的memory(onchipmemory)比较小,跑比较大的程序就很难了,所以我们外扩了SDRAM,以便比较大的程序运行。当然,我们也可以将并行的FLASH换成串行的FLASH,而且这样可以节省很多引脚。其实EPCS1(4,16...)就是串行FLASH,所以我们可以利用它来存储代码,至于如何设置,我后面通过博客形式来给大家讲解。

3.我的QuartusII编译硬件时没有错误,但是在下载程序的时候去出现以下错误的信息?
  Info: Started Programmer operation at Thu May 06 01:39:462010
  Error: Application Nios2 on 127.0.0.1 is using the targetdevice
  Error: Operation failed

  Info: Ended Programmeroperation at Thu May 06 01:39:46 2010
  不明白这是什么意思,时好时坏?

答:这种情况出现在JTAG模式下,你在使用NIOS下的JTAG功能(比如利用BLASTER进行在线仿真),同时你又想下载*.sof文件(就是在JTAG模式下下载程序)。简单说就是你的JTAG已经被占用了。解决办法就是关闭你正在使用的JTAG功能,然后再下载*.sof文件。初学者经常会犯这样的错误,一定要注意。

4.

答:1.安装最好装在默认目录下,即:X:altera目录下,如果自行指定目录的目录中含有空格或者汉字,在新建工程时,会出现如下错误提示:

No project template folders found in$sopc_kit_nios/examples/software.

  2.工程的存放地址不要有中文,也不要有空格,不然建立工程时可能出现如下错误提示:

Thesoftware setting(STF)file associated with this project isdamaged.This may be fixed by copying your source files into a newc/c++ application project.For more details see the error log.

   这个问题还是NiosIIIDE对中文字符支持不好引起的,把目录名都改成英文而且不要有空格就没有问题了。

5.Using cable "USB-Blaster[USB-0]", device 1, instance 0x00
 Pausing target processor: not responding.
 Resetting and trying again: FAILED
 Leaving target processor paused

答:我遇到这种问题是因为忘记将NIOS软核的复位(RESET)添加引脚了,或者是因为你所添加的引脚不是对应按键也能导致这种问题的发生。

6.请问一下使用EPCS4来保存程序,如何通过fpga加载到sdram里?

答:如何使用EPCSX保存程序请看我最新发表的博文,地址:http://www.cnblogs.com/kingst/archive/2010/05/09/1730835.html

如何通过FPGA加载到SDRAM,这个过程是NIOS内部完成的,不需要我们来控制。

7. 怎样在TCL脚本分配管脚 source .tcl有点问题:
# source stratix_pin_assign.tcl
couldn't read file "stratix_pin_assign.tcl": no such file ordirectory
答: From the Tools menu select Tcl Scripts, and then from theproject folder choose the setup script for your particulardevelopment board, and click Run.

8.D:TESTnios_sst60下载时出现错误:
Error: Can't configure device. Expected JTAG ID code 0x020010DD fordevice 1, but found JTAG ID code0x020B40DD.
答:SOPC所选器件和开发板上的不一致。

9.在NOISII中Bulid例程hello_world都出现了错误,错误提示为:
gdrive/c/altera/kits/nios2/components/altera_nios2/HAL/src/alt_busy_sleep.c:68:error: parse error before '/'token等错误全部由alt_busy_sleep.c引起,都是关于括号不匹配的问题,而alt_busy_sleep.c是IDE中的一个默认程序。这个错误同样出现在D:TESTDE2Projectsoftwarenios2.

答:找到system.h文件,里面有个关于系统时钟频率的设置项,应该是没有赋值,你手动赋值。比如你用50MHZ的时钟,就设成50000000
如果总是出现上述问题,可能和软件有关系,建议重新安装软件。注意quartus和NIOS安装版本一定要相同,不能混装。

10.这个错误是什么原因引起,把那个sdk_arm删除后,又提示另一个地方出错。
答:运行NIOS IIIDE,点Project->Clear,重新Builde,应该可以解决问题。

11.在SOPC中Generate出现如下错误是怎么回事?Error: Generator program for module 'epcs_controller' did NOT runsuccessfully.只要在SOPC中加入epcs_controller就会出现此错误,无法生成一个元件。
答:可能和软件有关系,建议重新安装软件(这个问题是我刚学NIOS遇到的最头痛的一个问题,问题的原因是Quartus和Nios安装的版本不一致)。

12.在Nios IIIDE中,怎样打开一个已经存在的工程?每次新建工程比较麻烦。
答:指定一个Nios II IDE的工作目录,就打开了那个目录下存在的工程。另外,在Nios II中是可以建立多个工程的。

13.在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, butthe Fitter cannot place all the pins in thatlocation.删除这个管脚即可。有一种比较简便的方法,就是在工程目录中找到一个后缀为QSF的管脚配置文件,查找Pin_AE24删除那行语句就行了。

14.如何在NIOS II IDE下跟踪查看变量的定义或者函数的定义?
答:按住CTRL键,鼠标移动到变量或者函数名的地方,就可以发现这些地方高亮显示,单击就可以进入到变量或者函数定义的地方。

15.在count_binary.c有这样一段程序,它是如何操作的? unsigned int data = segments[hex& 15] | (segments[(hex >> 4) & 15] <<8)
答:segments[hex & 15]显示个位0~F;(segments[(hex >> 4) &15] << 8)显示十位数0~F,个位0~F,然后十位加一。

16.这个错误是由什么引起?
答:提示LED_PIO_BASE没有声明,这是因为名字不一致引起的比如,在生成SOPC系统时,双击PIO(ParallelI/O)(在Avalon Modules -> Other下),为系统添加输出接口,你没有把该组件改名成LED_PIO,而是保留了原始的名字:PIO_0;但你又通过IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,led);来向该组件写入数据,就会导致上述错误。解决办法:1.可以修改sopc系统,为该PIO改名为LED_PIO;2.在hello_led.c的前面给LED_PIO_BASE赋值,如#define LED_PIO_BASE0x00001800,后面的这个地址要与SOPC中的地址对应。

17. 如何在NIOSII中驱动外部芯片或设备?
答:在开发过程中,我们经常会使用外接一些芯片,或外接一些实用电路,比如AD芯片、串并转换芯片等等,那么如何在NIOSII中去使用这些芯片呢? 我们在开发中会有多个选择:
1.如果这个芯片是使用数据和地址总线的,并且补线时没有足够的单独引脚,那么这个芯片必须挂接在tri_stat总线上,这种用法和我们以往单片机或MCU类似,在SOPCBuilder中直接定义用户逻辑,如果有额外的控制引脚,就需要用PIO来驱动,虽然公用数据地址线节省了引脚,但做控制时序费劲了。
2.如果这个芯片单独使用数据和地址,那么我们会直接做成Avalone总线的Slave设备,在SopcBuilder中自己定义component。需要写HDL模块,自己定控制、状态、数据寄存器和控制位定义,这种方式控制灵活,易于实现复杂的控制时序。
3.在Quartus II工程中画电路模块(或用HDL写电路模块),这种方式是独立于SOPC定义的模块之外的,做一个纯电路的处理模块,有时候会比较容易实现某些灵活的处理。

18.在SOPC添加Avalon TrisatateBridge时,提示有如下错误,该如何解决?
Tri state bridge/tristate master requires a slave of type Avalontristate.Please add a slave of type Avalon tristate.
Generate按钮为灰色,无法Generate

答:需要一个专门接三台桥的设备, 把flash添加到sopc中就可以了。


19.在做count_binary这个例子时,出现一个错误: error: `BUTTON_PIO_IRQ' undeclared(first use in this function) BUTTON_PIO_IRQ的值如何给他定义? 答:这个错误可能是在sopcbuilder中定制的pio端口名称是否与程序中用的不一致,要和程序里的一致,把pio组件的名称就改为button_pio,如下图:
如果已经这样设置,还有可能是没有设置中断号,具体应该这样设置:


20.在QuartusII中编译时出现如下错误:
Error: Node instance "cpu_bht" instantiates undefined entity"cpu_bht_module"
点击错误的地方弹出一个对话框

这个错误是怎么回事?怎样解决?
答:可能是在SOPC中所选的CPU型号不正确,换一个试试。

21.怎样自动分配管脚?
答:在QuartusII自动分配管脚有一个方法,点击Assignments->ImportAssginments,导入一个管脚分配文件,后缀为.csv.txt等,前提是在顶层原理图中各个输入输出的名称要和这个文件中的名称一致。

22.在NIOSII中编译时出现如下错误怎么解决?错误是不是由SOPC中的RAM引起?
region ram is full (count_binary.elf section .text). Region needsto be 24672 bytes larger.
address 0x80c1f8 of count_binary.elf section .rwdata is not withinregion ram
Unable to reach edge_capture (at 0x00800024) from the globalpointer (at 0x0081419c) because the offset (-82296) is out of theallowed range, -32678 to 32767.

答:可能时RAM的大小不够,也有可能是中断地址(exception address)的偏余量不够,设置大些就可以了。如果还是出现这个问题,加一个SDRAM试试。

23.在QuartusII中,为什么编译一些样板工程都会出错?
Error: DDR timing cannot beverified until project has been successfully compiled.
Error: Evaluation of Tcl script auto_verify_ddr_timing.tclunsuccessful
Error: Quartus II Shell was unsuccessful. 2 errors, 1warning
答:在做样板工程时要注意一个问题:Due to the librarypaths that are coded into the Quartus settings for this project, ifa user wishes to modify the hardware design they must first stripout any old paths from within the project settings file (qsf)
在qsf文件中找到类似语句
set_global_assignment-nameVHDL_FILEC:/MegaCore/ddr_ddr2_sdram-v3.2.0/lib/auk_ddr_tb_functions.vhd"这里的目录是初始的目录,把它改为正确的目录。

24.在NIOS IIIDE编译时出现如下错误是怎么回事?
system_description/alt_sys_init.c:75:error: `ONCHIP_MEMORY_BASE' undeclared here (not in afunction)
system_description/alt_sys_init.c:75: error: initializer element isnot constant
system_description/alt_sys_init.c:75: error: (near initializationfor `ext_flash.dev.write')
system_description/alt_sys_init.c:75: error: initializer element isnot constant
system_description/alt_sys_init.c:75: error: (near initializationfor `ext_flash.dev.read')

答:ONCHIP_MEMORY_BASE没有赋值,在alt_sys_init.c 程序的开头加上#defineONCHIP_MEMORY_BASE 0x00000000后面的这个地址要与SOPC中的对应。
Nios2常见问题解释(转载) matcom安装问题 转载

25. 在NIOS IIIDE编译时出现如下错误是怎么回事?
Pausing target processor: not responding.
Resetting and trying again: FAILED
Leaving target processor paused

答:以下是一位FAE的回答:
1. 关于USB-Blaster在Nios II IDE下载时会发生偶发性错误,这种现象主要是IDE software与Nios IICPU透过USB-Blaster在做通讯时发生错误,若是确认FPG上配置没有错误,连续发生错误的机率应该是相当的低,您只需要重新下载即可。
2. 若您使用Nios II IDE 6.0,请尽量配合SOPC Builder6.0重新build您的system,并且使用Quartus II 6.0重新compile您的project,以减少CPU与IDEsoftware不兼容的情形。

26.在NIOS II IDE中工程的SystemLibrary选项中的这几个选项代表什么意思?.text .rodata .rwdata 与reset.exception这几个地址之间的关系是什么?
答:.text : 代码区.rodata:只读数据区,一般存放静态全局变量 .rwdata:可读写变量数据区另外还有.bss:存放未被初始化的变量。
.text — the actual executable code
.rodata — any read only data used in the execution of thecode
.rwdata — where read/write variables and pointers are stored
heap — where dynamically allocated memory is located
stack — where function call parameters and other temporary data isstored

27.怎样让SDRAM和FLASH,SRAM的地址公用?
答:sdram可以和sram,flash共用数据总线和地址总线.在sopc builder中添加SDRAM控制器时,在其sharepins via tristate选择项上勾上Controller shares dq/dqm/addr IOpins选项,这样sdram可以和sram,flash共用数据总线和地址总线.但是ATERA不推荐这样做,因为这样会降低SDRAM控制器的性能,在FPGA芯片管脚资源比较紧张的时候迫不得已才这样做。

28.怎样使用DE2板上的数码管,绑定管脚时需要注意什么?请举一个例子说明。
答:DE2板上的数码管只用了7位,小数点位默认为高电平。例如,在做例程count_binary时,需要用到两个数码管,以实现00到FF的计数,在SOPC添加一个16位的PIOSEVEN_SEG[15..0],绑定管脚时注意:使SEVEN_SEG[0..6]帮定到数码管HEX0[6..0]位,SEVEN_SEG[8..14]绑定到数码管HEX1[6..0]位,SEVEN_SEG[7]和SEVEN_SEG[15]直接接VCC,这样才能让两个数码管正常显示并计数。

29. 在NIOS II IDE中调试,编译通过的软件时,出现了下面的提示,是什么原因?
Usingcable "ByteBlasterII [LPT1]", device 1, instance 0x00
Processor is already paused
Downloading 00000000 ( 0%)
Downloaded 57KB in 1.2s (47.5KB/s)
Verifying 00000000 ( 0%)
Verify failed
Leaving target processor paused

答: Verify failed这个问题说明板子的复位电路可能有问题,或装载程序的外部SRAM或SDRAM和CPU的连接或时序有问题,也有可能是软件偶尔的错误。若是软件偶尔的错误,可以先复位一下CPU,然后再下载程序;或者断电后重新下载.sof和NIOSII 程序

30.在练习C:alterakitsnios2_51examplesverilogniosII_cycloneII_2c35的工程时,里面有很多元件DE2板上都没有对应的管脚,比如网络元件lan91c111,使用的IP核,还有24位的ext_flash,而DE2板上的FLASH只有22位。是不是SOPC中只能让DE2板上有对应管脚的元件存在,其它的只能删除?
答:这个目录下的example是针对altera自己的板子的,和DE2硬件不能对应,只能作为参考,或者做一些修改后用。

31.在SOPC中加了一个200KB的onchip_memory,为什么在Quartus II 编译时出现这个错误?
Error: Selected device has 105RAM location(s) of type M4K RAM. However, the current design needsmore than 105 to successfully fit
答:SOPC中的onchip_memory和M4K RAM根本就不是一个概念。QuartusII中编译出现这个错误,是由于设计中用到了太多的M4K。

32. 关于sopc-builder 中resetaddress 的设置,一直搞得不是很明白。
答:SOPC中的reset address 指定的是最终全部软件程序代码下载到的地方,并且程序从reset address启动。
SOPC 中的exception address 指定的是系统异常处理代码存放的地方。如果exception address和reset address 不一样,那么程序从reset address 启动后将把放在reset address处的系统异常处理代码拷贝到exception address 。
NIOS II软件中的text address指定的是程序运行的地方。如果text address和reset address不一样,那么程序从reset address 启动后将把放在reset address 处的普通只读程序代码拷贝到textaddress 。NIOS II软件中的rodata address指定的是只读数据的存放地方。如果rodataaddress和reset address 不一样,那么程序从reset address 启动后将把放在reset address处的只读数据拷贝到rodata address 。
NIOS II软件中的rwdata address指定的是可读写数据的存放地方。如果rwdata address和resetaddress 不一样,那么程序从reset address 启动后将初始化rwdata address 处的可读写数据。

33. 如何提高NIOSII系统的性能?
答:主要可以从这几个方面入手:
1、使用fast CPU类型。
2、提高系统主频。
3、优先在SRAM中运行程序,SDRAM次之,最后选择FLASH中运行。
4、使用片内RAM作为数据缓冲,片外SRAM次之,最后选SDRAM。
5、IO数据传输尽可能采用DMA。
6、对能并行处理的数据考虑使用多CPU协同处理。
7、典型算法做成用户指令,有256条可以做,足够你用的。
8、能用HDL模块来完成工作吗?能,就用HDL模块做成外设来完成吧
9、采用C2H。

34.如何优化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 script position, to ext_flash, ext_ram oron-chip-ram

35. 关于verifyfailed的总结
1. SDRAM的时序不对
有时候不正确的pll clock phase shift forsdram_clk_out就会导致SDRAM不能正常工作:
2. SDRAM的连线不对,物理板子的连线问题
3. 在调试的时候,程序下载的空间不是非易丢失存储器(non-volatilememory)或者存储器的空间不够也会导致这个错误
4. QuartusII的默认设置导致的错误
QuartusII默认将所有没有使用的IO口接地,这种时候可能导致某些元器件工作不正常;最好将不用的IO口设置为三态
5. USB-blaster坏了,或者JTAG通信的信号噪声太大
JTAG的端口需要一个弱上拉电阻来抗干扰
6. 确保你的sdram既连接到CPU的指令总线也连接到CPU的数据总线

36.关于DMA传输的几点说明:
1.memory 到外设的传输,调用alt_dma_txchan_ioctl()时,有一个参数为alt_dma_tx_only_on等
2.调用alt_dma_txchan_send函数时,在传输结束前就返回一个值,如果此值为负的话,说明发送请求失败。正确传输结束后,调用done函数。
3. 接收函数alt_dma_rxthan_prepare类似上面的1和2
4.传输结束,有两种可能:数据传完或者end of packet(要预先使能)
5.Sopc builder中例化时要制定哪些可以访问DMA的主端口,DMA的avalonslave端口要接cpu。实际传输的最大数可以帮助确定设置的位数
6.alt_dma_txchan_ioctl用于控制dma的一些工作性质,使用多的话可以用信号量等来“抢占”
7.dma传输最小应该传4字或者其倍数。

37. 1. 建立CPU时,下面的那个HardWareMultiply里面可以选①Embedded Multipliers,②LogicElements,③None,这三个选项有什么区别呀?
答: ①Embedded Multipliers,使用专门的内嵌硬件乘法单元(不可编程,仅能做乘法,且乘法速度最快),不是RAM。②LogicElements,使用逻辑单元也就是FPGA中的查找表(速度较慢)。③None,那就是不要声长硬件乘法器了,这是只能通过软件模拟乘法,速度最慢。

38.下载是出现“notresponding”错误的又一点发现:
答:在设计的过程中,经常使用板子上内部的两个晶振作为CPU或者有些信号的时钟,而且习惯用osc_27和osc_50命名。在绑定管脚时又经常导入一个CSV文件,没有手动一一绑定,而在那个CSV文件中晶振管脚名分别为CLOCK_27,CLOCK_50,这样系统的CPU根本就没有绑定管脚,不出错才怪。把名称改为CLOCK_27,CLOCK_50,重新编译下载就可以了。

39.安装了nios2linux-1.4之后,为什么在New->Project时并没有出现Microtronx NIOSII选项呢?
答:这个问题好像难倒过很多人,其实在运行nios2linux-1.4安装的第一步,里面有个提示:
Information Regarding the Installation Procedure
IMPORTANT: Please ensure that you specify the correct path for theAltera Nios II Kit installation directory and the Cygwin rootdirectory. The typical Altera Nios II Kit directoryis:c:alterakitsnios2
The typical Cygwin root directory is:
c:alteraquartus50bincygwin
问题的关键就是上面的路径不正确。对于Nios5.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,你会发现模板工程依然还在。

40.NiosII汉化解决方案
答: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 II5.1的版本上的Eclipse版本是Eclipse 3.0.1
2.在Eclipse官方网站上找到Eclipse3.0.1多国语言包NLpack-eclipse-SDK-3.0.x-win32.zip
下载地址:
http://sunsite.informatik.rwth-a ...SDK-3.0.x-win32.zip
3.在NIOSII的安装目录中,你可以找到一个eclipse目录,如:C:alterakitsnios2bineclipse,在这个目录下新建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一个插件。对于我们新手来说这还是必要的

41.FLASH下载内容为空
在有SDRAM和FLASH的SOPC中,如果最后要下载程序到FLASH中,在NIOSII 中用FLASHPROGRAMER下载时有

# Programming flash withthe 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 orverified的错误。提示说要给flash编程的数据是空的。

答:原因是RESET VECTOR指向了SDRAM,应该指向FLASH。因为这里要下载的是一个工程,下载的是工程内容,resetvector指向了SDRAM与flash就没有关系了,也就不会下载到flash中。

42.Verifying 000xxxxx (0%)
Verify failed between address 0xxxxxx and 0xxxxxx
Leaving target processor
paused
论坛和网络上关于这个问题问的特别多,也是新手常见的一个问题,下面我就这个问题稍微总结一下:

1. 首先要根据address后面的两个地址判断出错的到底是什么器件。一般情况出现错误的大多是存储器。
判断的方法是根据sopc中的地址,或者是system.h中的地址,查找相应出错的器件。
2. 检查硬件焊接是否正常。
很多时候有些问题是硬件焊接造成的,这个主要针对的是自己焊接的板子,一旦地址数据总线有任何焊接问题,都会出现verifyfailed错误。
3. 检查sopc中的componet是否正常。
如果是自己加入的接口逻辑,这个部分要确认其正常与否。
4. 检查Quartus中的设计:
检查引脚锁定是否正确,必须一一对应,不能有一个错误;
地址对齐问题:针对8、16、32位的外部存储器,对应地址最低位的应该是0、1、2。也就是说如果用16位的外部存储器,那么它的最低位是ADD[1],而ADD[0]是不用的,其他同理。
数据总线必须是双向IO口,这点很容易忽略。
如果是SDRAM,需要计算并设定PLL的相移。
5. Nios IDE中检查项目设计是否正确。

43. Using cable"USB-Blaster [USB-0]", device 1, instance 0x00
  Resetting and pausing target processor: OK
  Reading System ID at address 0x00201040: verified
  No CFI table found at address 0x00000000
  Leaving target processor paused

  下载FLASH时出现这个问题?
答:这个是FLASH设置问题,需要几点需要注意:
  1. 数据线双向;
  2. 16位和8位模式要分清楚;
  3. 在SOPC builder中要根据自己的FLASH类型正确设置参数,并行FLASH要加三态桥。

44.make -s allincludes
  Compiling int01.c...
  Linking int01.elf...
  /cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/http://www.cnblogs.com/http://www.cnblogs.com/nios2-elf/bin/ld:region ram is full (int01.elf section .rwdata). Region needs to be32 bytes     larger.
  /cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/http://www.cnblogs.com/http://www.cnblogs.com/nios2-elf/bin/ld:section .bss [00000020 -> 00000233] overlaps section .exceptions[00000020 -> 00000147]
  /cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/http://www.cnblogs.com/http://www.cnblogs.com/nios2-elf/lib/mno-hw-mul/libsmallc.a(writer.o)(.text+0x1c):In function `_write_r':
  /build/nios2eds-gnutools-win32-9.0/bin/nios2-gnutools/src/newlib/newlib/libc/reent/writer.c:57:Unable to reach errno (at 0x00000020) from the global pointer (at0x0000b7c4) because the offset   (-47012) is out of the allowedrange, -32678 to 32767.

  collect2: ld returned 1exit status
  make: *** [int01.elf] Error 1
  Build completed in 55.703 seconds
  这个问题是什么原因啊?

答:出现这种情况是没有使用SDRAM,用FPGA内部的onchipmemory。因为FPGA内部的资源有限,onchipmemory比较小,如果运行比较大的程序就会出现上述错误。


  

爱华网本文地址 » http://www.aihuau.com/a/25101014/215350.html

更多阅读

毕业论文答辩的一般程序及常见问题 研究生毕业论文答辩

毕业论文答辩不会太严,如果差得不是太出格都可以毕业。毕业论文不是自己写的也不用太紧张,一般都不会有什么事,不需要全部背下来,主要的观点记住就可以了,只要你把自己论文的重点内容熟悉了就可以了。 毕业论文答辩的一般程序及常见问题

申请韩国签证时的常见问题 美国签证常见问题

韩国旅游发展局广州办事处将于1月30日下午邀请大韩民国驻广州总领事馆签证科相关负责人,在3-5点将与大家共同探讨韩国旅游签证问题,实现一对一咨询解答。现先发布一些申请签证时的常见问题,方便各位亲们参考。1. 本人直接到领事馆申请

天思软件常见问题汇总 戚风蛋糕常见问题汇总

常见问题:1、客户端报错: error loading midas.dll 安装client 82 四种协议。2、安装T6和ERP在同一台电脑上,T6报管道关闭,无法连接。 到TBRSYSTEM 库中updateinfo表中插入计算机名称。3、在打印套版中,当单据表头的扣税类别不同时,

UV灯常见问题及解决方法 win10常见问题解决

UV灯常见问题及解决方法随着科技的发展UV灯更加广泛用于工业,然而设备操作者应该知晓一些产品的常见问题及解决方法。现在就UV灯的一些故障介绍如下:1、灯管用一些时间灯管两端就发黑或者发白的原因?(1)电极的纯度不够使用中挥发的

声明:《Nios2常见问题解释转载 matcom安装问题 转载》为网友随梦而飞分享!如侵犯到您的合法权益请联系我们删除