今天继续调试,又出现了新问题。在执行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.  检查硬件焊接是否正常。, {4 g4 q) ^  k 很多时候有些问题是硬件焊接造成的,这个主要针对的是自己焊接的板子,一旦地址数据总线有任何焊接问题,都会出现verify  failed错误。

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

每天进步一点点------Nios II 的Run as hardware 中报错:Downloading ELF Process failed的更多相关文章

  1. 在WIN7系统下用Quartus ii 11.1 NIOS II 11.1 有时候会出现Nios II 的Run as hardware 中报错:Downloading ELF Process failed

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

  2. NIOS II CPU复位异常的原因及解决方案

    NIOS II CPU复位异常的原因及解决方案   近期在用nios ii做项目时,发现一个奇怪的现象,在NIOS II EDS软件中编写好的代码,烧写到芯片中,第一次能够正常运行,但是当我按下板卡上 ...

  3. 【小梅哥SOPC学习笔记】切换NIOS II CPU的主内存后软件中需要注意的几点设置

    切换NIOS II CPU的主内存后软件中需要注意的几点设置 有时候,我们可能面对这样一种情况: 1. 我们创建一个SOPC系统,并在QSYS中设置NIOS II的复位地址和异常地址都指向SRAM: ...

  4. 初探NIOS II之hello_world

    平台背景: 操作系统:win7  64bit 开发板:DE2-115 Quartus ii:15.0及配套的NIOS ii开发平台 一.硬件系统的建立 1.在Quartus里新建工程,这是很基本的就不 ...

  5. NIOS ii 流水灯

    为了做项目的前期验证工作,实验室购买了某开发板,下面是基于该板子的实现过程.作为笔记记录,供入门者参考. 1:创建一个Quartus II的工程 next选择器件,然后finish.我的器件是cycl ...

  6. 给NIOS II CPU增加看门狗定时器并使用

    给NIOS II CPU增加看门狗定时器并使用   配置看门狗定时器: 设置计时溢出时间为1秒 计数器位宽为32位 勾选No Start/Stop control bits 勾选Fixed perio ...

  7. 给NIOS II CPU添加一颗澎湃的心——sysclk的使用

    给NIOS II CPU添加一颗澎湃的心——系统时钟的使用 本实验介绍如何在Qsys中添加一个定时器作为NIOS II的心跳定时器,并在NIOS II中软件编程使用该定时器. 将上一个实验watchd ...

  8. DE1-SOC开发板上搭建NIOS II处理器运行UCOS II

    DE1-SOC开发板上搭建NIOS II处理器运行UCOS II   今天在DE1-SOC的开发板上搭建NIOS II软核运行了UCOS II,整个开发过程比较繁琐,稍微有一步做的不对,就会导致整个过 ...

  9. 关于NIOS ii烧写的几种方式(转)

    源:http://www.cnblogs.com/bingoo/p/3450850.html 1. 方法一:.sof和.elf全部保存在FPGA内,程序加载和运行也是在FPGA内部. 把FPGA的配置 ...

随机推荐

  1. 03-SV过程语句和子程序

    1.过程语句 for语句.do-while语句.while语句 initial begin string cmd; int file,c; $display("=========== con ...

  2. Linux下文件的七种类型

    文件属性 1. 本章引言 上一章通过学习文件io,知道了如何使用文件io来打开文件,对文件进行读写等操作,那么我们这一章将换一个角度,专门围绕文件属性进行相关的讨论. 1.1 什么是文件属性? 我们通 ...

  3. Django内置的中间件

    内置中间件 1. django.middleware.gzip.GZipMiddleware:相应数据进行压缩.如果内容长度少于200个长度,那么就不会压缩. 在settings.py文件中配置MID ...

  4. selenimu--find_element_by_css_selector()方法汇总

    一.单一属性定位 type selector driver.find_element_by_css_selector('input') id 定位 driver.find_element_by_css ...

  5. php文件操作(最后进行文件常用函数封装)

    文件信息相关API $filename="./1-file.php"; //filetype($filename):获取文件的类型,返回的是文件的类型 echo '文件类型为:', ...

  6. 【Unity|C#】基础篇(12)——反射(Reflection)(核心类:Type、Assembly)

    [学习资料] <C#图解教程>(第24章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu. ...

  7. Mysql中FIND_IN_SET()和IN区别简析

    来源:http://www.jb51.net/article/125744.htm 测试SQL: CREATE TABLE `test` ( `id` int(8) NOT NULL auto_inc ...

  8. 安装 centos8.1

    阿里云镜像下载链接 http://mirrors.aliyun.com/centos/8.1.1911/isos/x86_64/ 选择 CentOS-8.1.1911-x86_64-dvd1.iso ...

  9. c++踩坑大法好 数组

    1,c++遍历数组 int数组和char数组不同哦,int占4位,char占1未,同理double也不同.基本遍历方法: ] = { ,,, }; ]); printf("len of my ...

  10. 【数据结构】【C++】堆栈的实现与应用

    堆栈(Stack) 参考浙大版<数据结构(第2版)> 堆栈可以认为是具有一定约束的线性表,插入和删除的操作都在栈顶的位置,先进入的元素将在后进入的元素之后取出,与生活中的桶类似,故又称为后 ...