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.

[参考译文] AM2434:AM2434 ALX 芯片上用于以太网 IP 的 MAC 地址

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1496643/am2434-mac-address-on-am2434-alx-chip-for-ethernet-ip

器件型号:AM2434

工具/软件:

您好:
我们 目前正在使用 AM2434板、该板具有 TI 在芯片内部分配的单个 MAC 地址。 我们打算将 Ethernetip_adapter_generic_device_rgmii_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang 工程用于 EtherNet/IP 菊花链配置。

我有几个关于 MAC 地址配置的问题:
在实现 EtherNet/IP 菊花链时、是否需要为 AM2434上的每个端口分配一个单独的 MAC 地址?
适配器演示工程似乎使用存储在 EEPROM 中的 MAC 地址。 如何修改工程以直接从芯片利用 MAC 地址? 片上 MAC 地址位于何处?

希望就这些问题提供任何指导。

感谢您的帮助!
BR、
Matej Liska。

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

    尊敬的 Matej:

    Unknown 说:
    在实现 EtherNet/IP 菊花链时、是否需要为 AM2434上的每个端口分配单独的 MAC 地址?

    否、特定于端口的 MAC 地址不是 EthernetIP 的要求。 您可以将一个 MAC 地址分配给设备、该地址将用作设备发送的所有帧的源地址和设备所用帧中的目标地址。

    Unknown 说:
    适配器演示项目似乎使用 EEPROM 中存储的 MAC 地址。 如何修改工程以直接从芯片利用 MAC 地址? 片上 MAC 地址位于何处?

    对于此查询、我将在内部咨询我们的 EIP 堆栈专家、然后返回更新。

    谢谢你
    Archit 开发

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

    尊敬的 Matej:

    MAC 地址实际上不是从 EEPROM 读取的、而是通过从 SoC 本身访问寄存器来读取、您可以在 appTask.c 中的函数 EI_APP_TASK_getMacAddr 中看到实现

    此致、
    Pourya

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

    尊敬的 Archit:

    感谢您对使用 AM2434处理器单一 MAC 地址的宝贵见解;您的建议有助于解决我的任务!

    BR、Matej。

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

    尊敬的 Pourya:
    感谢您对 EI_APP_TASK_getMacAddr 函数的有用回答!
    只是为了澄清一下、我是否正确、用于从 SoC 读取 MAC 地址的两个存储器地址是:
    const uint32_t mac_address_upper_16_bits = * IDK_CTRLLMMR0_MAC_ID1 ;
    const uint32_t mac_address_lower_32_bits = * IDK_CTRLLMMR0_MAC_ID0 ;?

    感谢您的指导!
    BR、Matej。

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

    尊敬的 Matej:

    是的、这些是用于读取 MAC 地址的寄存器。 (在 AM64x/AM243x 技术参考手册中 、它称为 CTRLMMR_MAC_ID0和 CTRLMMR_MAC_ID1 )。

    此致、
    Pourya

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

    尊敬的 Pourya:
    我还发现使用功能的可能性:
    int32_t EnetSoc_getEFusedMacAddrs (uint8_t macaddr[][ENET_MAC_ADDR_LEN]、uint32_t *num);

    这种过程是否与获取 SoC MAC 地址的过程相同?

    BR、Matej。

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

    尊敬的 Matej:

    EtherNet/IP 示例未使用 ENET 驱动程序。 您提到的此函数是关于从 Efuse 位置读取 MAC 地址、它与读取 SoC MAC 地址不同。 顺便说一下、我认为此函数返回0个 Efused MAC 地址、请参阅 enet_soc.c 中的实现

    此致、
    Pourya

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

    尊敬的 Pourya:
    感谢您对此进行澄清、感谢 您对使用 EI_APP_TASK_getMacAddr 函数获取 SoC MAC 地址 AM2434处理器的宝贵见解。 根据之前对此论坛的讨论、TI 将在工厂中对 SoC MAC 进行编程、因此我们不需要使用外部 EEPROM MAC 地址来实现 EIP 功能。
    您的建议有助于解决我的任务!

    BR、Matej。

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

    尊敬的 Matej:

    很高兴知道、我们在解决您的疑问方面正在取得进展。 为了确认、您还有其他问题需要我们提供帮助吗?  

    此外、根据我们在当前主题中的讨论、您在以下主题中是否有任何其他疑问: AM2434:TI 提供的 AM2434芯片上的 MAC 地址-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛。 我看到您还有一个类似主题的主题。

    此致
    Archit 开发