本文记录了在使用NIOS中遇到的一些问题和相关的原因分析及解决办法,做个总结方便以后查阅。也希望可以帮到有同样问题的攻城狮。本文长期更新,遇到了就写下。

本人使用软件版本:QuartusII 13.0sp1,NIOS13.0sp1

[TIPS]NIOS工程的一些基本设置

这里简单的介绍一下自己在使用NIOS中我常有的一些操作,用来保证整个使用过程中错误的警报数量减少。

  • Qsys中,自定义IP核,在Tools中Option添加V文件所在路径
  • NIOS中,Project->Properities中添加include 路径,防止出现include后变量查找不到的情况
  • 在下载ELF程序时,Run Config钟勾选两个ignore选项框

[ERROR]Qsys添加自定义IP核时综合错误

很多时候我们都需要使用自定义的IP核来完成我们所需要的操作,操作步骤就是在New Components->Files中添加了编写好的V文件然后进行综合。

  • 错误产生现象:弹出错误提示框,综合失败。
  • 错误原因定位:编写的V文件存在语法错误。
  • 对应修改处理:检查编写的V文件,找出错误所在。当工程不大的时候,可以使用一个简便方法,将编写的V文件设置为顶层TOP文件然后编译,根据提示错误进行更改,编译通过后再去Qsys中就不会有错误产生啦。

[ERROR]NIOS程序ELF文件下载失败

  • 错误产生现象:下载SOF文件后下载ELF文件失败
  • 错误原因定位:Qsys中NIOS核时钟的检查
  • 对应修改处理:检查修改Qsys中NIOS核的时钟,将其改正为正确值。

[ERROR]片上RAM资源不足

  • 错误产生现象:在NIOS中编译失败,提示改错误
  • 错误原因定位:
    • 片上RAM资源空间分配不够
    • BSP设置不当
  • 对应修改处理:
    • 检查Qsys中On-Chip RAM的配置空间是否设置过小,如果是将其调大(最大数值可以再QuartusII中看器件信息得知)。
    • 如果Qsys中的资源足够仍编译不通过,打开BSP Editor,勾选enable_small_library忘记了后面补充,囧

[ERROR]NIOS中断持续触发

  • 错误产生现象:程序下载后持续触发中断
  • 错误原因定位:
    • 进入中断后,需要跳出中断方可
    • Qsys中NIOS核的选择类型是否正确,选择精简型即可
  • 对应修改处理:
    • 在执行完操作后跳出中断,即为中断信号(可以通过读或写寄存器的方式)
    • Qsys中NIOS核选择精简型即可,复杂型的需要额外考虑一些知识,暂时还没有使用场景

[ERROR]NIOS下载固化后重新上电程序未能正常运行

  • 错误产生现象:elf和sof文件固化下载后断电重启程序未能正常运行,在线写入NIOS后正常,再次固化断电重启仍然异常。
  • 错误原因定位:
    • 疑似NIOS中的输出printf()造成了一些寄存器的阻塞,但未能实际确定是此原因
    • 最终定位为BSP Editor中仍然为JTAG模式造成了该异常
  • 对应修改处理:
    • 将BSP Editor中的stderr、stdin、stdout由jtag_uart更改为none,然后重新生成bsp文件再次编译工程即可,这里一定要记得再次编译工程

[原创]NIOS小知识总结的更多相关文章

  1. isset,empty,is_null小知识

    <?php /** 在这项研究开始时,有那么多的人不能很好的运用isset,empty,is_null正确null,false等待值回报值做出正确的推理,在这里,我自己总结通过学习小知识,随后的 ...

  2. Android简易实战教程--第三十四话《 自定义SeekBar以及里面的一些小知识》

    转载本专栏文章,请注明出处尊重原创:博客地址http://blog.csdn.net/qq_32059827/article/details/52849676:小杨的博客 许多应用可能需要加入进度,例 ...

  3. 蓝牙Bluetooth技术小知识

    蓝牙Bluetooth技术以及广泛的应用于各种设备,并将继续在物联网IoT领域担任重要角色.下面搜集整理了一些关于蓝牙技术的小知识,以备参考. 蓝牙Bluetooth技术始创于1994年,其名字来源于 ...

  4. HTML+CSS中的一些小知识

    今天分享一些HTML.CSS的小知识,希望能够对大家有所帮助! 1.解决网页乱码的问题:最重要的是要保证各个环节的字符编码一致! (1)编辑器的编辑环境的字符集(默认字符集):Crtl+U 常见的编码 ...

  5. iOS APP开发的小知识(分享)

          亿合科技小编发现从2007年第一款智能手机横空出世,由此开启了人们的移动智能时代.我们从一开始对APP的陌生,到现在的爱不释手,可见APP开发的出现对我们的生活改变有多巨大.而iOS AP ...

  6. Unix系统小知识(转)

    Unix操作系统的小知识 2.VI添加行号/翻页/清屏 .在对话模式时(即输完Esc再输入: ),输入“:set number”可以将编辑的文本加上行号.跟玩俄罗斯方块一样方便的上下左右移动箭头的快捷 ...

  7. salesforce 零基础开发入门学习(十)IDE便捷小知识

    在这里介绍两个IDE的便捷开发的小知识. 一) 本地调试 由于salesforce代码只能提交以后才能调试,所以很多时候调试代码很麻烦.新版增加了一个特性:即可以在本地调试相关的代码或者查看相关代码运 ...

  8. Jquery:小知识;

    Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器   上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理 ...

  9. HTML小知识---Label

    今天知道了一个html小知识: <input type="checkbox" id="chkVersion" />                 ...

随机推荐

  1. css中,设置百分比后,让百分比的宽度包括padding和border来计算

    *{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}

  2. Appium for iOS setup

    windows下appium设置 之前研究了一段时间的appium for native app 相应的总结如下:                                           ...

  3. Office 365 SharePoint Online 学习链接

    Here is an article about how to develop for SharePoint Online(Ofiice 365):http://www.microsoft.com/e ...

  4. Spring IoC容器总结(未完)

    在面向对象系统中,对象封装了数据和对数据的处理,对象的依赖关系常常体现在对数据和方法的依赖上.这些依赖关系可以通过把对象的依赖注入交给框架或IOC容器来完成,这种从具体对象手中交出控制的做法是非常有价 ...

  5. Android JNI 和 NDK

    1.Android NDK 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第 ...

  6. 深入SQL截取字符串(substring与patindex)的详解

    首先学习两个函数1.substring  返回字符.binary.text 或 image 表达式的一部分.基本语法:SUBSTRING ( expression , start , length ) ...

  7. Spring Boot 3 Hibernate

    JdbcTemplate Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中. JdbcTemplate ...

  8. Python 读书系列

    1. 原文<A byte of Python> 翻译版:<<简明Python教程>> 2. Python:核心编程

  9. 纯js实现瀑布流布局及ajax动态新增数据

    本文用纯js代码手写一个瀑布流网页效果,初步实现一个基本的瀑布流布局,以及滚动到底部后模拟ajax数据加载新图片功能. 缺点: 1. 程序不是响应式,不能实时调整页面宽度: 2. 程序中当新增ajax ...

  10. 【HDOJ】5657 CA Loves Math

    1. 题目描述对于给定的$a, n, mod, a \in [2,11], n \in [0, 10^9], mod \in [1, 10^9]$求出在$[1, a^n]$内的所有$a$进制下的数并且 ...