This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/PROCESSOR-SDK-AM437X:EMAC 统计问题

Guru**** 2589265 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/639376/rtos-processor-sdk-am437x-emac-statistics-issue

器件型号:PROCESSOR-SDK-AM437X

工具/软件:TI-RTOS

 
1) 1) EMAC_GET_STATS_v4在 PORT_num 为1时返回垃圾。

EMAC_GET_STATS_v4调用 EMAC_socGetInitCfg()、当"port_num"为1时、它返回-1和无效指针。

如果我调用 EMAC_POLL ()、参数"port_num"是 EMAC 端口号。  emac_get_statistics()说明参数"port_num"也是 EMAC 端口号。

port_num 的测试 错误。 EMAC_NUM_MAX_MAC_PORT 用于 EMAC_HwAttrs_V4结构的 PORT[EMAC_NUM_MAX_MAC_PORTS]字段的定义。 EMACInitCfg 的定义为"EMAC_HwAttrs_V4 EMACInitCfg[1]"。

int32_t EMAC_socGetInitCfg (uint32_t port_num、EMAC_HwAttrs_V4 *配置)

   int32_t ret = 0;

   if (port_num < EMAC_NUM_MAX_MAC_ports -1U)
   {
       *cfg = EMACInitCfg[port_num];
   }
   其他
   {
       RET =-1;
   }

   回程;

并且 EMAC_GET_STATS_v4不测试 EMAC_socGetInitCfg ()的返回、并且始终返回 EMAC_DRV_RESULT_OK。

2) 2)评估 EMAC_statists_T:
 
/*!
 * @简要 EMAC 统计信息
 * 统计结构用于检索当前计数
 系统 中各种数据包事件的*。 这些值表示
 * 上次读取统计数据时的增量值。
 *
 
实际上 、EMAC_GET_STATS_v4会将从 MPU 寄存器读取的值以及添加到 EMAC_statists_T 参数中

已安装的组件:
CCS 7.2
GCC ARM 编译器4.9.3
PROCESSOR_SDK_RTOS_AM437X 4.00.04
AM437x PDK v1.0.7
BIOS 6.46.05.55
xdctools 3.32.02.25_core

电路板:AM437X 入门套件


此致、
Marcio。
 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您能解释一下您发现了此问题的哪个 AM437x EMAC CCS 测试项目吗?

    此致、Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Eric:
    我在我的´ve 上发现了问题。 但它适用于任何使用 EMAC v4驱动程序的项目。

    请检查驱动程序函数中"port_num"参数的用法。 请参阅 EMACInitCfg 的实现。 将注释/文档与实现进行比较。

    此致、