NIOS II开发备忘录
大概有一年没做NIOS II的开发了,回想上一次做NIOS II还是去年做毕业设计的时候。那时候做的是基于SOPC的频率特性测试仪,我大约花了2个月的时间,从无到有的学习了NIOS II开发。学习过NIOS II的都知道,如果没有人带着学,那么最开始的那一段时间一定是最痛苦的,因为几乎每走一步,总会遇到一堆错误。我当时上手的时候,SOPC Builder已经退出了历史舞台,取而代之的是全新的Qsys环境。虽然说是全新,也不过就是在原来的SOPC Builder上升级了一下,但是,升级后,所有的总线都得自己手动来连接了。这让人非常郁闷,因为网上能够找到的教程,大部分都还是讲的SOPC Builder的,SOPC Builder中,这些线是不需要我们自己去连接的,都是默认连接好了的。因此只能硬着头皮,一点一点的去摸索,大约花了一个半月的时间吧,每天都是在痛苦纠结中度过,每天都会遇到各种问题,然后百度上,QQ群里面找答案。经过了这么长时间的一段努力之后,终于,NIOS II开发环节中会遇到的各种问题我都遇到了,也都找到了科学的或者旁门左道的解决方法。
如今,因为项目需要,再次上马NIOS II。不过现在的开发相对以前来说,就要轻松多了,首先是经过一年的深入学习,对于Altera的各种开发环境和工具都已经掌握的很熟练了。其次,我认为也是最重要的,我学会了科学的查找资料,解决问题的方法。以前遇到问题都是各种百度,对官方手册有着绝对的畏惧心理,没有信心去看。在经过了一段时间的项目强化训练之后,回头再来看看,原来看英文手册也就那么回事。现在的我,遇到问题,首先想到的就是去英文数据手册中找答案了。
废话了这么多,现在来总结一下,一年后再次上手NIOS II开发遇到的各种问题与解决方法。当然,我的方法不一定就是最科学的,如果大家有更加科学的解决方法,欢迎探讨。
结合上一篇介绍在DE1-SOC上运行NIOS II + UC/OS的内容,本篇就不再详细介绍整个流程,只把过程中容易出错的地方列举出来,以在以后自己忘记了之后能有个查阅的地方。
- 在需要最终将程序固化到EPCS的系统中,需要添加EPCS/EPCQx1 Serial Flash Control。该控制器的reset信号一定要与jtag debug module reset信号(cpu模块中)相连,另外,最好其他所有模块的reset信号都与jtag debug module reset信号连接上,否则,在最终通过Flash Programmer固化程序时,会出错。如下图所示:

- epcs的Avalon Memory Mapped端口需要与CPU的data_master和instruction_master均进行连接。如下图所示:

- EPCS的external信号需要导出到顶层(针对Cyclone III和Cyclone IV器件),以便进行引脚分配,如下图所示:

这里,导出到顶层后具体怎么分配引脚,在Altera的《Embedded Peripheral IP User Guide》中有相关介绍,

4、CPU的复位向量设置为EPCS,CPU的异常向量设置为内存(on_chip_memory或SDRAM),如下图所示:

NIOS II开发备忘录的更多相关文章
- 初探NIOS II之hello_world
平台背景: 操作系统:win7 64bit 开发板:DE2-115 Quartus ii:15.0及配套的NIOS ii开发平台 一.硬件系统的建立 1.在Quartus里新建工程,这是很基本的就不 ...
- 给NIOS II CPU增加看门狗定时器并使用
给NIOS II CPU增加看门狗定时器并使用 配置看门狗定时器: 设置计时溢出时间为1秒 计数器位宽为32位 勾选No Start/Stop control bits 勾选Fixed perio ...
- 解决NIOS II工程移动在磁盘上位置后project无法编译问题
说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代表的更新版本之间,解决问题的一些小的差异. 如果用户只是想快速解决问 ...
- 【小梅哥SOPC学习笔记】NIOS II工程目录改变时project无法编译问题
解决NIOS II工程移动在磁盘上位置后project无法编译问题 说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代 ...
- 【小梅哥SOPC学习笔记】给NIOS II CPU增加看门狗定时器并使用
给NIOS II CPU增加看门狗定时器并使用 配置看门狗定时器: 1. 设置计时溢出时间为1秒 2. 计数器位宽为32位 3. 勾选No Start/Stop control bits 4. 勾选F ...
- 关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法
关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法 近期在评估使用NIOS II处理器进行项目的 ...
- DE1-SOC开发板上搭建NIOS II处理器运行UCOS II
DE1-SOC开发板上搭建NIOS II处理器运行UCOS II 今天在DE1-SOC的开发板上搭建NIOS II软核运行了UCOS II,整个开发过程比较繁琐,稍微有一步做的不对,就会导致整个过 ...
- 【推荐图书】+ 基于Nios II的嵌入式SoPC系统设计与Verilog开发实例+C#入门经典等
[推荐图书]+ 基于Nios II的嵌入式SoPC系统设计与Verilog开发实例+C#入门经典等 3赞 发表于 2016/7/4 21:14:12 阅读(1921) 评论(3) 初次接触FPGA,到 ...
- NIOS ii 流水灯
为了做项目的前期验证工作,实验室购买了某开发板,下面是基于该板子的实现过程.作为笔记记录,供入门者参考. 1:创建一个Quartus II的工程 next选择器件,然后finish.我的器件是cycl ...
随机推荐
- 浅谈负载均衡SLB、CLB和综合应用
SLB 服务器负载均衡(Server Load Balancing),可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡. 虚拟服务器代表的是多个真实服务器的群集 ...
- [BS-18] 对OC中不可变类的理解
对OC中不可变类的理解 OC中存在很多不可变的类(如NSString,NSAttributedString,NSArray,NSDictionary,NSSet等),用它们创建的对象存在于堆内存中,但 ...
- SQLServer数据库的一些全局变量
select APP_NAME ( ) as w --当前会话的应用程序 select @@IDENTITY --返回最后插入的标识值 select USER_NAME() --返回用户数据库用户名 ...
- 让SpringMVC支持可版本管理的Restful接口
需求 移动互联网时代的到来,软件开发的模式也在变化.记得以前做B/S的后台开发,基本上没有Http接口一说,全部是通过渲染模板技术(jsp,freemark)把最终html展示给最终用户.现在完全变了 ...
- 学习"大众点评网的架构设计与实践"
今天看了一篇"程序员"上的文章:"大众点评网的架构与实践",因为里面谈的架构演变之路中所经历的痛点对我的工作经验来说感同身受,所以觉得文章里的一些解决方案对我还 ...
- 使用NSURLSession请求需要AD认证的HTTPS服务器
关键代码:使用后台下载PDF文件 - (void)startDownloadPDF{ NSURLSession *session = [self session]; NSString *downloa ...
- ios网络_json数据解析
网络上数据传输以json或者xml格式. json是字典 或者 数组 或者字典跟数组嵌套的形式.解析json就是把json反序列化(解析)---把json转换为oc对象.json序列化就是把oc对象转 ...
- 单链表的回文判断(O(n)时间复杂度和O(1)的空间复杂度)
对于单链表来说,判断回文最简单的方法就是遍历链表,将链表中的元素复制到数组中,然后对数组进行判断是否是回文数组,但是这不符合O(1)的空间复杂度. 由于空间复杂度的要求,需要就地操作链表,不能开辟多余 ...
- java mock
一篇文章: 5分钟了解Mockito 一.什么是mock测试,什么是mock对象? 先来看看下面这个示例: 从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例. ...
- 转:python webdriver API 之下载文件
webdriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中.要想下载文件,首选要先确定你所要下载的文件的类型.要识别自动文件的下载类型可以使用 curl ,如图 ...