文章 ID: 000079401 内容类型: 产品信息和文件 上次审核日期: 2021 年 08 月 29 日

如果 TSE 示例设计是 Qsys 子系统,如何使用Nios II简单的插槽服务器和 Web 服务器软件示例?

环境

  • 英特尔® Quartus® II 订阅版
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    说明

    如果Nios® II 三速以太网 (TSE) 示例设计实例化为使用分层 Qsys 的子系统,则需要对示例软件进行手动修改以定义通往外围设备的正确路径。


    示例软件使用 TSE 示例设计中的组件实例名称,但如果 TSE 设计实例化为 Qsys 中的子系统,则这些组件预挂有一个分层名称。   这将导致在Nios II软件构建工具 (SBT) 中编译时会看到与以下类似的错误:

    error: 'EXT_FLASH_NAME' undeclared here (not in a function)
    error: 'TSE_MAC_BASE' undeclared here (not in a function)
    error: 'TSE_MAC_BASE' undeclared here (not in a function)
    error: 'TSE_MAC_TRANSMIT_FIFO_DEPTH' undeclared here (not in a function)
    error: 'TSE_MAC_RECEIVE_FIFO_DEPTH' undeclared here (not in a function)
    error: 'TSE_MAC_USE_MDIO' undeclared here (not in a function)
    error: 'TSE_MAC_ENABLE_MACLITE' undeclared here (not in a function)
    error: 'TSE_MAC_MACLITE_GIGE' undeclared here (not in a function)
    error: 'TSE_MAC_IS_MULTICHANNEL_MAC' undeclared here (not in a function)
    error: 'TSE_MAC_NUMBER_OF_CHANNEL' undeclared here (not in a function)

    解决方法

    要解决错误,请按照以下步骤在您的应用程序项目中的Nios II SBT Eclipse:

    1. 打开 network_utilities.c,并执行"EXT_FLASH"->"_ EXT_FLASH"的查找和更换
      • 例如:如果您的顶级 .qsys 系统在顶级 .qsys 项目中称为"QSYS_TOP",则搜索"EXT_FLASH",然后以"QSYS_TOP_EXT_FLASH"代替
      • 之前:
        #define EXT_FLASH_NAME "/dev/ext_flash"
      • 后:
        #define QSYS_TOP_EXT_FLASH "/dev/ext_flash"
    2. 编辑 tse_my_system.c:第 10 行以更新 TSE 信息结构时使用的#defines宏:
      • 之前:
        alt_tse_system_info tse_mac_device[MAXNETS] = { TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(TSE_MAC, 0, SGDMA_TX, SGDMA_RX, TSE_PHY_AUTO_ADDRESS, 0, DESCRIPTOR_MEMORY) };
      • 后:
        alt_tse_system_info tse_mac_device[MAXNETS] = { TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(QSYS_TOP_TSE_MAC, 0, QSYS_TOP_SGDMA_TX, QSYS_TOP_SGDMA_RX, TSE_PHY_AUTO_ADDRESS, 0, QSYS_TOP_DESCRIPTOR_MEMORY) };
    3. 重建软件应用项目

    此信息计划包含在 Nios II 和 TSE 示例设计的未来版本中
    文档。

    相关产品

    本文适用于 1 产品

    英特尔® 可编程设备

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。