0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Versal ACAP PS GEM - GEM 控制器可能在大型发送卸载配置中触发错误的 Amba_Error

任凭风吹 来源:任凭风吹 作者:任凭风吹 2022-08-05 17:31 次阅读

除了误报此错误外,并未观测到任何功能性问题,且仍可继续使用 LSO 卸载功能。

这被分类为次要硬件问题,因为可轻松屏蔽并忽略误报事件。

详细描述

LSO 提供 TCP 分段 (TSO) 和 UDP 分片 (UFO) 硬件功能,广泛用于提升 TCP/IP 或 UDP/IP 性能。

当软件通过缓冲区描述符 (BD) 查询大型帧时,DMA 引擎将基于软件编程的最大分段大小 (MSS) 值(对应 TSO)或最大以太网帧大小(对应 UFO)来生成其自己的 BD。

启用并激活 LSO 后,中断状态寄存器的位 6 会检查这些生成的 BD 的有效性,如果不正确则会发出报告。

经观测发现,当 DMA 进入休眠状态(由于没有帧在排队)时,中断状态寄存器的位 6 可能误报错误。

敬请放心忽略此误报。

解决方案

影响:

很小。可采用软件变通方法。

GEM IP 可能错误触发“amba error”中断。

变通方法:

根据 LSO 帧正在其中排队的队列,将每个 BD 中发送的缓冲区最大长度限制为比分配给该队列的 TX SRAM 空间少 56 个字节。

例如,如果 LSO 帧正在 Q0 中排队,并且已向 Q0 分配 16KB(作为硬件配置的一部分),那么请将每个排队的 BD 中的长度字段限制为最大 16327 个字节(即,如果设置的长度字段在 16328 到 16383 范围内,就可能发生此问题)。

赛灵思驱动程序将每个排队的 BD 中的长度字段限制为 16327 个字节。

1. 通过设置中断掩码寄存器的位 6 从而屏蔽中断状态寄存器的位 6,这样即可屏蔽“amba_error”中断。
2. 当软件内核中已启用 TSO 或 UFO 时,忽略中断例程内的“amba_error”中断。
对于上述第 2 和第 3 项:虽然当 LSO 处于活动状态时此事件不出现,但是用户在任何正常操作环境内都不应目击此错误,其主要目的是在帧排队等待发射时检查全部软件错误。

因此,建议用户首先在完全禁用 LSO 的情况下启用此中断并运行测试,以确保不会通过位 6 报告全部软件错误,然后再将其屏蔽以配合 LSO 来使用。

位 6 所报告的此错误描述如下:

"Transmit frame corruption due to AMBA (AHB/AXI) error.Set if an error occurs whilst midway through reading transmit frame from external system memory, including HRESP errors(AHB), RRESP or BRESP(AXI) errors and buffers exhausted mid frame (if the buffers run out during transmission of a frame then transmission stops, FCS shall be bad and tx_er asserted).Also set in DMA packet buffer mode if single frame is too large for configured packet buffer memory size."

此错误表明发生了 AXI 响应错误、检测到未使用的位中间帧 (used-bit-mid-frame) 或者软件排队的帧对于已配置的数据包缓冲区而言过大。

在中断状态寄存器的位 11 中同样会指出上述第 1 项错误,因此即使位 6 已屏蔽,错误事件仍可见。

第 2 和第 3 项错误与 LSO 帧不相关,因为 DMA 内部生成的 BD 的 MSS 更小。

这表明内部(而非软件提供的)BD 存在错误,因此当非 LSO 帧排队时,将不会出现错误事件。

受影响的配置:

在硬件配置中包含“大型发送卸载”(通过 gem_pbuf_lso 配置选项),且在缓冲区描述符中启用 LSO 功能。

解决方案:

这是第三方勘误表。不对该问题进行修复。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16361

    浏览量

    178068
  • GEM
    GEM
    +关注

    关注

    0

    文章

    8

    浏览量

    6687
  • Versal
    +关注

    关注

    1

    文章

    158

    浏览量

    7668
  • ACAP
    +关注

    关注

    1

    文章

    54

    浏览量

    8170
收藏 人收藏

    评论

    相关推荐

    易灵思FPGA PS配置模式--v7

    准备工作 PS模式首先要把Bitstream Generation的 (1)JTAG模式选择为Passive (2)根据PS的位宽选择相应的Programming Mode. (3)生成相应的下载
    的头像 发表于 12-24 14:37 432次阅读
    易灵思FPGA <b class='flag-5'>PS</b><b class='flag-5'>配置</b>模式--v7

    VLAN 配置的常见问题解决

    VLAN,导致AP(接入点)无法上线。 解决方法 : 检查并确认管理VLAN的配置是否正确。 在AC(接入控制器)以及中间接入交换机上创建并配置正确的管理VLAN。 重启AP以应用新的管理VLAN
    的头像 发表于 11-19 09:22 1560次阅读

    CAN总线常见错误码及其解决方法

    错误码,这些错误码可以帮助我们诊断和解决问题。 1. 错误帧(Error Frame) 错误码 :当CAN
    的头像 发表于 11-12 10:05 2110次阅读

    error与fault的有区别与联系

    "Error"和"fault"是软件工程中常用的两个术语,用于描述软件系统的问题或异常。虽然它们经常被互换使用,但它们在含义上有一些区别。 Error错误):指的是在软件系统
    的头像 发表于 11-12 09:51 476次阅读

    usb主机控制器位于ahp总线上吗

    连接的设备分配地址。主机控制器通常伴随有一个根集线器(Root Hub),用于管理连接到总线的设备。 AHP总线 :在AMBA总线架构,AHP(Advanced High-performance
    的头像 发表于 09-25 09:20 305次阅读

    用于控制器局域网的可配置错误发生

    电子发烧友网站提供《用于控制器局域网的可配置错误发生.pdf》资料免费下载
    发表于 08-27 09:59 0次下载
    用于<b class='flag-5'>控制器</b>局域网的可<b class='flag-5'>配置</b><b class='flag-5'>错误</b>发生<b class='flag-5'>器</b>

    可控硅触发控制器工作原理是什么

    可控硅触发控制器是一种用于控制可控硅器件(如可控硅整流、可控硅逆变器等)的电子设备。它通过控制可控硅器件的
    的头像 发表于 07-31 09:25 641次阅读

    是否有可能在软件重新配置XMC4800的两个MII端口,使其用于E-BUS通信?

    。 (摘自https://www.ethercat.org/download/documents/ESC_Overview.pdf) 是否有可能在软件重新配置 XMC4800 的两个 MII 端口,使其用于 E-BUS 通信
    发表于 07-19 07:02

    CYUSB2014-BZXC是否有可能在固件上更改逻辑插座和EP之间的对应关系?

    我对 CYUSB2014-BZXC 有疑问。 是否有可能在固件上更改逻辑插座和 EP 之间的对应关系? 如果是这样,您能告诉我应该参考哪些示例代码吗?
    发表于 07-03 07:54

    是否有可能在支持gdb的第三方集成开发环境中使用DAS配置调试?

    是否有可能在支持 gdb 的第三方集成开发环境中使用 DAS 配置调试?
    发表于 07-02 07:29

    PS6605系列 PD协议快充控制器概述

    PS6605系列 PD协议快充控制器概述
    的头像 发表于 05-30 13:27 378次阅读
    <b class='flag-5'>PS</b>6605系列 PD协议快充<b class='flag-5'>控制器</b>概述

    请问如何从4BF控制器的ADC PASS0_CH_RANGEVIO_TR_OUT触发TCPWM?

    必须根据 ADC 范围违规检测触发 TCPWM。 请问如何从 4BF 控制器的 ADC PASS0_CH_RANGEVIO_TR_OUT 触发 TCPWM。
    发表于 05-21 07:50

    一文读懂CAN控制器错误处理的原理

    CAN通讯的错误帧到底是如何被界定的?本文带你轻松了解!错误标定检测到错误条件的站通过发送错误标志指示错误。对于“
    的头像 发表于 04-26 08:25 1623次阅读
    一文读懂CAN<b class='flag-5'>控制器</b><b class='flag-5'>错误</b>处理的原理

    AMD Versal AI Edge自适应计算加速平台之Versal介绍(2)

    Versal 包含了 Cortex-A72 处理和 Cortex-R5 处理,PL 端可编程逻辑部分,PMC 平台管理控制器,AI Engine 等模块,与以往的 ZYNQ 700
    的头像 发表于 03-06 18:12 1475次阅读
    AMD <b class='flag-5'>Versal</b> AI Edge自适应计算加速平台之<b class='flag-5'>Versal</b>介绍(2)

    EXTI外部中断在错误的边沿误触发可能什么原因?

    大家在进行MCU项目开发时是否碰到过EXTI外部中断在错误的边沿误触发的情况?比如EXTI配置的为下降沿触发,实际情况在个别上升沿的时候也被误触发
    的头像 发表于 02-03 09:48 774次阅读
    EXTI外部中断在<b class='flag-5'>错误</b>的边沿误<b class='flag-5'>触发</b><b class='flag-5'>可能</b>什么原因?