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.

[参考译文] AM6442:尝试使 ICSSG 双 MAC 正常工作时出现问题。

Guru**** 2465890 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1473442/am6442-issues-trying-to-get-icssg-dual-mac-working-correctly

器件型号:AM6442
主题中讨论的其他器件:DP83869

工具与软件:

您好!

尝试在 AM6442evn 电路板上进行一些测试、其中涉及双 Mac 模式下的 ICSS EMAC。

所有准备工作。  FreeRTOS。  所有内核启动时、所有内核共享 DDR 存储器。 每个内核均配置为处理 IPC 通信。 (工作正常)。

我已将 r5fss1-0配置为处理以太网流量的内核。  已重新配置系统、以便根据需要为 r5fss1-0安排资源。

使用了 enet_lwip_icssg 示例作为测试基础、甚至启用 http 服务器。  设置静态 IP 地址。 一切都在某种程度上进行编译和工作。

我有一个端口连接到1G 开关、另一个端口连接到100Mps 开关。 (无论连接是什么、都不会发生相同的问题。)

如果我一次 ping 一个端口、则不会出现任何问题。 能够永远执行 Ping 操作。

如果同时 ping 两个端口、则 在短时间内(小于1分钟)。  我看到两个 Ping 都超时。 通常这两者都将重新启动一会儿、然后运行一会儿、得到另一个则会超时。  然后、虽然端口1似乎偶尔会恢复、但端口2似乎无法恢复。   我正在使用调试配置文件、没有看到打印出任何消息。  应用程序仍在运行、因为测试每5秒打印一次 CPU 负载。

将 DDR 存储器中的0xF0000000设置为非缓存、并将 UDMA 设置为使用0xFE000000

我将为相关 CPU 附加 syscfg 文件以及 linker.cmd 文件。

任何帮助都很好。

Robert Morse

以下是启动消息:

ü===============
     Enet LWIP 应用
================
启用时钟!
启用时钟!
MDIO_OPEN:MDIO Manual_Mode 已启用
打开 MAC 端口1
EnetPhy_bindDriver:Phy 15:OUI:080028模型:0f Ver:03 <->'DP.83869':好
PHY 3处于活动状态
PHY 15处于活动状态
[IPC notify echo]远程内核正在等待来自主内核的消息...!!!
MDIO_OPEN:MDIO Manual_Mode 已启用
打开 MAC 端口2
EnetPhy_bindDriver:Phy 3:OUI:080028模型:0f Ver:03 <->'DP.83869':好
PHY 3处于活动状态
PHY 15处于活动状态
[0]:从 lwIP 开始、本地接口 IP 为172.22.80.100
打开 NetIF 0
[LWIPIF_LWIP] NETIF 初始化成功
主机 MAC 地址-0:00:18:EC:FD:E7:1e.
为 NetIF 0启动调度程序
[LWIPIF_LWIP] Enet 已成功启动
[1]:从 lwIP 开始、本地接口 IP 为192.168.0.205
打开 NetIF 1.
[LWIPIF_LWIP] NETIF 初始化成功
主机 MAC 地址-1:00:18:EC:FD:E7:1f
启动 NetIF 1的调度程序
[0] status_callback=up、本地接口 IP 为172.22.80.100
[1]STATUS_CALLBOARGE=UP、本地接口 IP 为192.168.0.205
Icssg_handleLinkUp:icssg1-2:端口2:链路接通:100-Mbps 全双工
[1] link_callback=up
Icssg_handleLinkUp:icssg1-1:端口1:链路接通:1-Gbps 全双工
[0] link_callback=up
     5.340s:CPU 负载=10.82%  
[IPC notify echo]远程内核已回显所有消息!!
从 r5fss1-0任务1 0 d0028030开始
从 r5fss1-0任务 1 1 d0028030开始
从 r5fss1-0任务1 2 d0028030开始

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

    尊敬的 

    感谢您的提问。

    适用于双 Mac 模式下的 ICSS EMAC。

    您的意思是 ENET-LLD、而非 ICSS-EMAC。 正确吗?

    AM64x MCU+ SDK:以太网和网络

    此致

    Ashwani

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

    不相信,尝试在双 MAC 模式下使用 ICSSG, 我想问题是,双 MAC 模式下的 ICSSG 能否在每个端口上与不同的网络通信。  似乎工作正常、但一段时间后、第二个端口关闭。

    目标是获得3个端口、与3个网络进行通信。 在双 MAC 模式下使用其中一个 ICSSG、在单端口模式下使用 CPSW。

    Robert

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

    以了解更多信息。  我将 am64xEVM 板 ICSSG0连接到两个网络。  端口1连接到172个网络、端口2连接到192个网络。  在两个网络上启动 ping、两个端口都开始关闭响应 ping。 仅在端口1上保持一段时间、就会发生超时、但会继续。 在端口2上、它最终会达到超时(有时与端口1达到超时时间相同)、但似乎永远不会恢复。  现在、 LWIP 中的 IP_DEBUG 已开启。 I 断开端口1。  我仍然看到 LWIP 堆栈正在看到来自网络的传入广播数据包、但看不到其 IP 地址的任何信息。  就好像它丢失了 IP 或 Mac 地址。

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

    再进一步调查一下、我在 lwip 栈中打开 ip_header 调试。  我看到 lwip 栈、看到传入 ping、并认为它发送了响应。  但同时做一个 Wireshark、我看到 PC 发送 Ping、但线路上没有响应。 (从 lwip 控制台调试)它最后发出"ip4_output_if:调用 netif->output。

    只是更多信息。

    Robert

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    目标是获得3个端口、与3个网络通信。 在双 Mac 模式下使用某个 ICSSG、将 CPSW 设置为单端口模式。[/QUOT]

    所有3个端口均由单个 R5F_1_0内核控制?

    Unknown 说:
    我有一个端口连接到1G 交换机、另一个端口连接到100Mps 交换机。 (无论连接是什么、都不会发生相同的问题。)

    我将检查此组合是否受支持。

    看起来您是从 ICSSG 开始、面临问题...尚未进行 CPSW 通信。 正确吗?

    此致

    Ashwani

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

    好的、我发现了这个问题。  为了增加以太网缓冲区的大小、我将它们移动到了 DDR 存储器中。  我认为这是一个错误的举动。  我将它们移回内部 MSRAM 区域、两个端口都正常工作。

    是的、希望所有端口都在单个 R5F 内核上工作、但如果不能、我可以使用另一个内核。 只是希望不在两个内核之间重复资源和 Web 应用程序。