文档库 最新最全的文档下载
当前位置:文档库 › Nios II ‘Launching New_configuration’ has ecountered a problem.Dowenloading Elf Process failed

Nios II ‘Launching New_configuration’ has ecountered a problem.Dowenloading Elf Process failed

Nios II ‘Launching New_configuration ’ has ecountered a problem.Dowenloading Elf Process

failed.

我的问题是:

编译完程序,run configuration ,下载程序,出现如下报错框:

同时Console 信息为:

Verify failed between address 0xxxxxx and 0xxxxxx Leaving target

processor paused

上述报错中标红的部分是NIOS 系统中EPCS 的地址。

这个问题原因有很多,网上也很多这个问题的帖子,这里说下我这个问题的解决过程。

系统平台:quartus9.1 sp2 + niosII sp2 + XP .

解决方法:

网上找了很多,都不行,今天过来后重新建了个NIOS 应用工程,下载正常了。

原因分析:NIOS 系统与FPGA 部分没有动,新建应用工程就好了,说明是应用工程中的设置问题。

有问题工程的console 信息:

没问题工程的console 信息:

对比如上两图,发现有问题的提示信息中比后者多了下载EPCS部分,我对比两个工程的BPS editor设置,发现前者过选了如下两个选项,去掉勾选,重新编译,问题解决了,能正常下载了。

进一步分析这两个选项,在Nios II Software Developer's Handbook(2011).pdf中有如下描述:

我的系统开始只有onchipmemory(RAM),应该是这两个选项勾选了;后来我有加了EPCS contoller,这样在勾选的情况下,下载完程序会从reset地址(这时设置的是EPCS)初始化,而这可能会有问题(我还不明白),按照文档描述,我加了EPCS(flash),得取消勾选(即应该为false),事实证明是这样的。

以下是网上的一篇,问题相似,问题原因不一样。

Nios II 的Run as hardware 中报错:Downloading ELF Process failed

今天继续调试,又出现了新问题。在执行NIOS程序代码时,不能下载了:

Pausing target

processor: not responding.

Resetting and trying again: FAILED downloading ELF

process failed

nios工程在编译通过后RUN的过程中出现Error Running Nios II Project: ‘Downloading ELF Process failed’问题原因:

1、nios2 cpu datamaster 没有和on chinp ram 连接导致程序在系统ram上无法下载。

2、在加载SDRAM模块时应注意其参数的准确性,否则同样影响data总线数据传输导致该问题。

3、还有,在建立工程选择软核.sopcinfo文件时要注意路径,一般nios ii 新建工程时默认上一次工程的.sopcinfo文件,很容易就选择了该文件,导致运行失败。

4、可能是sdram时钟与cpu时钟之间的问题。

5、PLL的问题, 重新配置PLL。关掉Nios II IDE重新编译。

Altea官网解释如下:

Title:Error Running Nios II Project: ‘Downloading ELF Process failed’

Description:

If the Nios II processor’s cpu.data_master port is not connected to all program memories (memories to which the .elf file is downloaded) the software project fails to run on Nios II hardware.

Failure to connect cpu.data_master to all program memories is a design error that the Nios II SBT does not detect.

Workaround / Fix :Connect cpu.data_master to all program memories.

2、还有一个疑问,systemID 为默认的0时能导致以上问题吗?

答:没有影响。

3、关于Nios II中Verify failed between address 0xxxx and 0xxxx错误的解决:

Verifying 000xxxxx ( 0%) Verify failed between address 0xxxxxx and 0xxxxxx Leaving target processor paused, ?% s+ L8 p5 I" K4 \& U) L; {论坛和网络上关于这个问题问的特别多,也是新手常见的一个问题,下面我就这个问题稍微总结一下:) E; e7 o$ P& Z4 l4 v 1. 首先要根据address后面的两个地址判断出错的到底是什么器件。一般情况出现错误的大多是存储器。# a- N- A9 J- c* p0 V% \- W判断的方法是根据sopc中的地址,或者是system.h中的地址,查找相应出错的器件。2. 检查硬件焊接是否正常。

verify failed错误。

{4 g4 q) ^ 很多时候有些问题是硬件焊接造成的,这个主要针对的是自己焊接的板子,一旦地址数据总线有任何焊接问题,都会出现

3. 检查sopc中的componet是否正常。' [# F. I7 \ x( M! \/ J如果是自己加入的接口逻辑,这个部分要确认其正常与否。

4. 检查Quartus中的设计:3 q9 b4 P( L* y$ w \5 检查引脚锁定是否正确,必须一一对应,不能有一个错误;! u' C! h' \5 R1 y3 s; 地址对齐问题:针对8、16、32位的外部存储器,对应地址最低位的应该是0、1、2。也就是说如果用16位的外部存储器,那么它的最低位是ADD[1],而ADD[0]是不用的,其他同理。2 ~* k* H( h9 X) Q( B7 数据总线必须是双向IO口,这点很容易忽略。如果是SDRAM,需要计算并设定PLL的相移。%& \+ h0 M N' g+ I) T& `- c3 q& W

5. Nios IDE中检查项目设计是否正确。

相关文档
相关文档 最新文档