• [原创]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 文件再次编译工程即可,这里一定要记得再次编译工程
  • 相关阅读:
    Linux启动新进程的几种方法及比较[转]
    部署WEB应用的三种方式[转]
    HTML form label
    其他对象的表单
    Input对象2(貌似是独立标签)
    通过表单展示不一样的页面(input对象)
    神奇的表单
    有效地管理页面布局
    css新奇技术及其未来发展
    进一步讨论页面布局的方法
  • 原文地址:https://www.cnblogs.com/airbird/p/11455193.html
Copyright © 2020-2023  润新知