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

    文章

    16090

    浏览量

    177014
  • GEM
    GEM
    +关注

    关注

    0

    文章

    8

    浏览量

    6668
  • Versal
    +关注

    关注

    1

    文章

    151

    浏览量

    7624
  • ACAP
    +关注

    关注

    1

    文章

    54

    浏览量

    8148
收藏 人收藏

    评论

    相关推荐

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

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

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

    电子发烧友网站提供《用于控制器局域网的可配置错误发生.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>

    是否有可能在软件重新配置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 329次阅读
    <b class='flag-5'>PS</b>6605系列 PD协议快充<b class='flag-5'>控制器</b>概述

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

    CAN通讯的错误帧到底是如何被界定的?本文带你轻松了解!错误标定检测到错误条件的站通过发送错误标志指示错误。对于“
    的头像 发表于 04-26 08:25 1475次阅读
    一文读懂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 1359次阅读
    AMD <b class='flag-5'>Versal</b> AI Edge自适应计算加速平台之<b class='flag-5'>Versal</b>介绍(2)

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

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

    使用Solopace.Gem远程访问内网ERP-dolibarr

    步骤一. 安装dolibarr开源ERP系统 dolibarr的数据存储可选mysql或postgres,在​​使用Solopace.Gem访问k8s部署的CMS系统​​一文,我们在
    的头像 发表于 12-25 11:45 686次阅读
    使用Solopace.<b class='flag-5'>Gem</b>远程访问内网ERP-dolibarr

    通过Solopace.Gem 无需公网IP远程访问智能家庭(HomeAssistant)

    Solopace.Gem可以便捷地让你再任何地方访问家中的Home Assistant,这为个人用户提供了更便利的控制家庭自动化设备的方式。以下是一份教程,展示如何通过Solopace.Gem访问
    的头像 发表于 12-18 14:29 657次阅读
    通过Solopace.<b class='flag-5'>Gem</b> 无需公网IP远程访问智能家庭(HomeAssistant)

    使用Solopace.Gem实现无公网IP连接自建RustDesk中继服务(Linux)

    IP的情况下,自建的RustDesk Server就难以让处于各个不同网络的RustDesk客户端访问到; 由此我们便有了借助Solopace.Gem来完成RustDesk 服务端与客户端之间的网络
    的头像 发表于 12-18 11:46 713次阅读
    使用Solopace.<b class='flag-5'>Gem</b>实现无公网IP连接自建RustDesk中继服务<b class='flag-5'>器</b>(Linux)

    通过Solopace.Gem远程访问企业物联网监控平台

    在不同地点的传感、设备或监控节点,Solopace.Gem能够为这些设备提供安全的、私密的连接。通过本教程,您将学会如何使用Solopace.Gem建立一个安全连接,以便监控物联网设备。
    的头像 发表于 12-18 11:40 663次阅读
    通过Solopace.<b class='flag-5'>Gem</b>远程访问企业物联网监控平台

    如何理解微控制器的PWM模块分辨率和精度?

    不同微控制器的PWM功能在硬件设计和软件编程方面可能会有所不同。具体的差异取决于微控制器的型号、架构和功能配置
    的头像 发表于 12-13 10:06 2557次阅读

    a javascript error怎么修复

    修复"a javascript error"的方法可以因情况而异,但以下是一些常见的解决方法: 检查错误消息 首先,查看浏览控制台中的错误
    的头像 发表于 11-26 14:41 4766次阅读