[原创]NIOS小知识总结
本文记录了在使用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小知识总结的更多相关文章
- isset,empty,is_null小知识
<?php /** 在这项研究开始时,有那么多的人不能很好的运用isset,empty,is_null正确null,false等待值回报值做出正确的推理,在这里,我自己总结通过学习小知识,随后的 ...
- Android简易实战教程--第三十四话《 自定义SeekBar以及里面的一些小知识》
转载本专栏文章,请注明出处尊重原创:博客地址http://blog.csdn.net/qq_32059827/article/details/52849676:小杨的博客 许多应用可能需要加入进度,例 ...
- uniGUI for C++ builder之杂七杂八小知识
uniGUI for C++ builder之杂七杂八小知识 2018年09月30日 22:16:05 中国银行之路在脚下 阅读数:41 标签: uniguibuilder 更多 个人分类: C++ ...
- 【C#小知识】C#中一些易混淆概念总结(六)---------解析里氏替换原则,虚方法 分类: C# 2014-02-08 01:53 1826人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- 【C#小知识】C#中一些易混淆概念总结(五)---------继承 分类: C# 2014-02-06 22:05 1106人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- 【C#小知识】C#中一些易混淆概念总结(四)---------解析Console.WriteLine() 分类: C# 2014-02-05 17:18 1060人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) [C#小知识]C#中一些易混淆概念总结(三) ------------------------------ ...
- 【C#小知识】C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 分类: C# 2014-02-03 01:24 1576人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 继上篇对一些C#概念问题进行细节的剖析以后,收获颇多.以前,读书的时候,一句话一掠而 ...
- 蓝牙Bluetooth技术小知识
蓝牙Bluetooth技术以及广泛的应用于各种设备,并将继续在物联网IoT领域担任重要角色.下面搜集整理了一些关于蓝牙技术的小知识,以备参考. 蓝牙Bluetooth技术始创于1994年,其名字来源于 ...
- HTML+CSS中的一些小知识
今天分享一些HTML.CSS的小知识,希望能够对大家有所帮助! 1.解决网页乱码的问题:最重要的是要保证各个环节的字符编码一致! (1)编辑器的编辑环境的字符集(默认字符集):Crtl+U 常见的编码 ...
随机推荐
- QT不同版本编译
QT发布了不同版本,有一些语法修改,需要修改代码.同时旧版本代码转换需要在pro文件中添加代码greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
- AndroidManifest.xml的android:name是否带.的区别
android项目里面的AndroidManifest.xml,会有这样的定义 <activity android:name=".Main" ...
- BIOS设置之UEFI/Legacy BIOS切换图文详解
近几年出现的电脑其中相当一部分都配置了UEFI BIOS,不过大多都默认以Legacy BIOS方式启动.而Win8正式上市后, 所有预装Win8(或Win8.1)的电脑都配置了UEFI BIOS并且 ...
- :before和 :after
:before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素,最基本的用法如下: #example:before { conte ...
- MyBatis学习总结(七)——Mybatis缓存(转载)
孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的 ...
- Docker指令集
FROM 语法:FROM <image>[:<tag>] 解释:设置要制作的镜像基于哪个镜像,FROM指令必须是整个Dockerfile ...
- Vue2父子组件通信探究
父组件: <template> <div id="secondcomponent"> <input type="" v-model ...
- Nodejs学习(二)-express生成器
1.安装生成器 sudo npm install express-generator -g 2.做ln链接,这个我就不介绍了,可以参照上个随笔,指向/usr/local/bin就行. 3.生成项目文件 ...
- (转)R空间数据处理与可视化
前言 很多朋友说在R里没法使用高德地图,这里给出一个基于leaflet包的解决方法. library(leaflet) # 添加高德地图 m <- leaflet() %>% addTil ...
- Cannot assign requested address出现的原因及解决方案
今天使用python多线程请求服务时,出现Cannot assign requested address错误 网上找了下原因,大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很 ...