zoukankan      html  css  js  c++  java
  • 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的内容,本篇就不再详细介绍整个流程,只把过程中容易出错的地方列举出来,以在以后自己忘记了之后能有个查阅的地方。

    1. 在需要最终将程序固化到EPCS的系统中,需要添加EPCS/EPCQx1 Serial Flash Control。该控制器的reset信号一定要与jtag debug module reset信号(cpu模块中)相连,另外,最好其他所有模块的reset信号都与jtag debug module reset信号连接上,否则,在最终通过Flash Programmer固化程序时,会出错。如下图所示:

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

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

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

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

  • 相关阅读:
    Angular Universal 学习笔记
    SAP Spartacus 如何获得当前渲染页面的 CMS 元数据
    Angular 服务器端渲染的学习笔记(二)
    Angular 服务器端渲染的学习笔记(一)
    第三方外部 Saas提供商如何跟使用 SAP 系统的客户进行对接接口集成
    如何从 SAP Spartacus Product Detail 页面,找到其 Angular 实现 Component 的位置
    具备自动刷新功能的 SAP ABAP ALV 报表
    C++学习目录
    c--条件编译
    c--文件读写--二进制
  • 原文地址:https://www.cnblogs.com/xiaomeige/p/4463239.html
Copyright © 2011-2022 走看看