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.

[参考译文] PROCESSOR-SDK-J784S4:Enet RTOS 调试

Guru**** 2457760 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1478655/processor-sdk-j784s4-enet-rtos-debugging

器件型号:PROCESSOR-SDK-J784S4
主题中讨论的其他器件:TDA4VH

工具与软件:

您好、TI:

我们将使用基于 TDA4VH (PSDK RTOS 版本10.00)的定制电路板。

我们已按照集成指南在 RTOS 中集成了新的 Ethh PHY (NXP PHY)。 PHY 连接到主 CPSW2G 接口。

为了验证堆栈、我们使用 enet_lwip_example、但截至目前未成功。

短缺状态是指我们具有指向 PHY 的功能性 MDIO 通信、但示例中的 ping 和 UDP 回波功能均不起作用。   

除了 ETH PHY 特定层外、我们方面的详细变化如下:

  1. 结构中的 PHY 地址 gEnetCpbBoard_j7xEthPort (新值19u)、以及 enet_board_j784s4_evm.c 内从 BFALSE 的堆叠值
    1. 我们的 PHY 具有硬件捆绑、在 RGMII-id 模式下、不应部署任何配置即可工作。 该设计已在 Linux 端经过测试、并且具有完整功能(MDIO 和 RGMII 端)
    2. 以太网为1Gbit FD。
  2.    board_cfg.h 文件内 BOARD_MAIN_EMAC_PHY_ADDR (19u)宏中的 PHY MDIO 地址-根本不知道是否使用了该地址。
  3. 给定示例的静态 IP 地址分配:
    1. lwipcfg.h 内未注释的 USE_DHCP 和 USE_AUTOIP 宏命令(默认值为0并且不会更改)  
    2. 在 lwipcfg.h 内的以下行中分配 IP 地址和网关地址的值
      1. #define LWIP_PORT_INIT_IPADDR (addr)  IP4_ADDR ((addr)、192,168、0、1)(我们使用了不同的值)
        define LWIP_PORT_INIT_GW (addr)      IP4_ADDR ((addr)、169,254、1、1)  
      2. 我们使用与 PC 的直接连接。 环境通过板载 Linux 堆栈进行测试、正常运行。
  4. 将 LWIP_PING_APP 宏(表单0)的值更改为1以在 lwipcfg.h 文件中启用 ping 应用程序

下面是 enet_lwip_freertOS 应用程序的输出、包括我们的一些其他日志:

oard init finished
==========================
      Enet lwIP App
==========================
Select peripheral type
0: Main CPSW_2G

 

0
Select MAC port
0: ENET_MAC_PORT_1 - RGMII
0
EnetBoard_setupPorts: 1 of 1 ports configurations found
CPU Load: 100%
Starting lwIP, local interface IP is 169.254.27.170
Failed to read Main CPSW2G MAC IDs from EEPROM: -1
No valid MAC address found in EEPROM, falling back to static address
EnetMcm: CPSW_2G on MCU NAVSS
PHY 19 is alive
EnetPhy_bindDriver: PHY 19: OUI:0006ec Model:03 Ver:01 <-> 'TJA1120' : OK
Host MAC address: 70:ff:76:1d:92:c2
[LWIPIF_LWIP] Enet LLD netif initialized successfully
Status callbask sholud be registered here
Status callback function 1, this one is supposed to be calledstatus_callback==UP, local interface IP is 169.254.27.170
Enet lwIP App: Added Network IP address I/F ti0: 169.254.27.170
Initializing apps
UDP server listening on port 5001
Reg read value: 12
EnetPhy_tick: PHY 19: LINK_WAIT (rem ticks 50)
Cpsw_handleLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
MAC Port 1: link up
Link callback 1
link_callback==UP

日志似乎与您在4.7.6.1.3.1中提供的类似示例匹配。 Enet lwIP 示例—平台开发套件(PDK)- Jacinto 用户指南

: https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/09_01_00_06/exports/docs/pdk_jacinto_09_01_00_22/docs/userguide/jacinto/modules/enet/enet_lwip_example.html#running-lwip-example

 

我们已读取状态寄存器以确保 TDA4处于正确的 RGMII 模式、并已对 其进行确认(从 APP (使用 CPS_REG_READ)我们 从寄存器0x00104034读取值0x12)。

我们确实遇到了应用在 ping 测试或任何 ethtool 测试中均无法正常运行的问题。

您是否知道我们如何继续进行调试、或者可能有什么问题?

我们的预期是、一旦 PHY 正确寻址、SW 堆栈的其余部分应该可以正常工作。 此假设是否正确、或者还需要执行其他操作?

此致、

Milena

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

    您好!

    [报价用户 id="307047" url="~/support/processors-group/processors/f/processors-forum/1478655/processor-sdk-j784s4-enet-rtos-debugging "]

    我们确实遇到了应用在 ping 测试或任何 ethtool 测试中均无法正常运行的问题。

    您是否知道我们如何继续进行调试、或者可能有什么问题?

    [报价]

    您能否检查 CPSW 统计信息、Tx 和 Rx 良好数据包计数是否在增加?
    您可以使用 GEL 脚本获取 CPSW 统计信息、还可以在链接伙伴端检查您是否收到任何数据包?

    我们的预期是、一旦 PHY 正确寻址了软件堆栈的其余部分、该堆栈应该能够正常运行。 此假设是否正确、或者还需要执行其他操作?

    是的、如果 PHY 被正确设置、除了任何特定于电路板的从属方之外、其余全部由软件堆栈执行。

    此外、请确保已从" gEnetCpbBoard_j7xEthPort "

    此致、
    Sudheer

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

    您好、Sudheer:

    您能否查看 CPSW 统计数据、是否有任何 Tx 和 Rx 良好数据包计数在增加?
    您可以使用 GEL 脚本获取 CPSW 统计信息、还可以在链接伙伴端检查您是否收到任何数据包?[/QUOT]

    我们今天将打印寄存器并发送给您。 CCS 目前有一些问题。

    我们使用 Wireshark 监控 PC 上的接口。 但似乎没有来自 ECU 的消息。 附加文件(删除.txt 扩展名) /cfs-file/__key/communityserver-discussions-components-files/791/ping_5F00_capture.pcapng.txt

    此外、请确保已从" gEnetCpbBoard_j7xEthPort "[/报价]

    扩展配置已删除。

    此致、

    Milena

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

    您好!

    我们在 PC 上通过 Wireshark 监视了接口。 但似乎没有来自 ECU 的消息。 附加文件(删除.txt 扩展名) /cfs-file/__key/communityserver-discussions-components-files/791/ping_5F00_capture.pcapng.txt

    通过参考 pcap log、似乎没有从远程端捕获任何内容。

    [报价 userid="307047" url="~/support/processors-group/processors/f/processors-forum/1478655/processor-sdk-j784s4-enet-rtos-debugging/5680339 #5680339"]
    您能否检查 CPSW 统计信息、Tx 和 Rx 良好数据包计数是否在增加?
    您可以使用 GEL 脚本获取 CPSW 统计信息、还可以在链接伙伴端检查您是否收到任何数据包?

    我们今天将打印寄存器并发送给您。 CCS 目前有一些问题。

    [报价]

    当然可以、请提供 CPSW 统计信息以检查出现了什么错误。

    此致、
    Sudheer

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

    您好、Sudheer:

    对于以下情况、我们已从寄存器捕获了 Wireshark 日志和日志:

    直接连接到 ECU 的 PC -静态 IP 地址:

    • PC: 169.254.27.163
    • ECU IP: 169.254.27.170

    执行了以下步骤:

    • Wireshark 捕获开始
    •  从 PC 启动 Ping 命令
    • ECU 应用程序已启动
    • 一段时间后、ping 命令停止、UDP echo 命令为 stared。

    CPSW 统计寄存器定期打印。

    Wireshark 捕获(基本与之前相同): /cfs-file/__key/communityserver-discussions-components-files/791/ping_5F00_udpecho_5F00_capture.pcapng.txt

    来自 ECU 的 UART 日志:

    /cfs-file/__key/communityserver-discussions-components-files/791/cpsw_2D00_stats_2D00_log.txt

    似乎 RX 和 TX 良好帧计数器正在适当增加。

    此致、

    Milena

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

    您好!

    从统计信息中可观察到、主机端口 Rx 和外部端口 Tx 计数器不断增加、表示从 CPSW 发送成功。
    但是、外部端口上不会有 Rx 计数器。

    您能否在 Peer Side (如果有)和 Phy Side (PHY 端)检查统计数据?

    此外、检查 CPSW 的 RGMII 状态寄存器。

    此致、
    Sudheer

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

    会检查附加信息和反馈。

    您正在寻找哪些确切的计数器/寄存器来检查这个、哪一个是不正确的?

    但是、外部端口上的 Rx 计数器不存在。

    Milena

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

    您好!

    在 TDA4侧检查的其他寄存器-请参阅末尾的:

    有趣的是整个状态寄存器为0x0、表示链路断开。

    Register: 0xc23a000 -------- value: 0x22
    Register: 0xc23a004 -------- value: 0x22
    Register: 0xc23a008 -------- value: 0x0
    Register: 0xc23a00c -------- value: 0x0
    Register: 0xc23a010 -------- value: 0x0
    Register: 0xc23a018 -------- value: 0x0
    Register: 0xc23a020 -------- value: 0x0
    Register: 0xc23a024 -------- value: 0x0
    Register: 0xc23a028 -------- value: 0x0
    Register: 0xc23a02c -------- value: 0x0
    Register: 0xc23a030 -------- value: 0x880
    Register: 0xc23a034 -------- value: 0x0
    Register: 0xc23a038 -------- value: 0x0
    Register: 0xc23a03c -------- value: 0x0
    Register: 0xc23a064 -------- value: 0x0
    Register: 0xc23a068 -------- value: 0x22
    Register: 0xc23a06c -------- value: 0x0
    Register: 0xc23a070 -------- value: 0x0
    Register: 0xc23a074 -------- value: 0x0
    Register: 0xc23a078 -------- value: 0x0
    Register: 0xc23a07c -------- value: 0x0
    Register: 0xc23a080 -------- value: 0x880
    Register: 0xc23a084 -------- value: 0x0
    Register: 0xc23a088 -------- value: 0x0
    Register: 0xc23a08c -------- value: 0x0
    Register: 0xc23a090 -------- value: 0x0
    Register: 0xc23a094 -------- value: 0x0
    Register: 0xc23a098 -------- value: 0x0
    Register: 0xc23a09c -------- value: 0x0
    Register: 0xc23a0a0 -------- value: 0x0
    Register: 0xc23a0a4 -------- value: 0x0
    Register: 0xc23a0a8 -------- value: 0x0
    Register: 0xc23a0ac -------- value: 0x0
    Register: 0xc23a0b0 -------- value: 0x0
    Register: 0xc23a0b4 -------- value: 0x0
    Register: 0xc23a0b8 -------- value: 0x0
    Register: 0xc23a0bc -------- value: 0x0
    Register: 0xc23a0c0 -------- value: 0x0
    Register: 0xc23a0c4 -------- value: 0x0
    Register: 0xc23a0c8 -------- value: 0x0
    Register: 0xc23a0cc -------- value: 0x0
    Register: 0xc23a0d0 -------- value: 0x0
    Register: 0xc23a0d4 -------- value: 0x0
    Register: 0xc23a0d8 -------- value: 0x0
    Register: 0xc23a0dc -------- value: 0x0
    Register: 0xc23a140 -------- value: 0x0
    Register: 0xc23a144 -------- value: 0x0
    Register: 0xc23a148 -------- value: 0x0
    Register: 0xc23a14c -------- value: 0x0
    Register: 0xc23a150 -------- value: 0x0
    Register: 0xc23a154 -------- value: 0x0
    Register: 0xc23a200 -------- value: 0x0
    Register: 0xc23a204 -------- value: 0x0
    Register: 0xc23a208 -------- value: 0x0
    Register: 0xc23a20c -------- value: 0x0
    Register: 0xc23a210 -------- value: 0x0
    Register: 0xc23a214 -------- value: 0x0
    Register: 0xc23a218 -------- value: 0x0
    Register: 0xc23a21c -------- value: 0x0
    Register: 0xc23a220 -------- value: 0x0
    Register: 0xc23a224 -------- value: 0x0
    Register: 0xc23a228 -------- value: 0x0
    Register: 0xc23a22c -------- value: 0x0
    Register: 0xc23a230 -------- value: 0x0
    Register: 0xc23a234 -------- value: 0x23
    Register: 0xc23a238 -------- value: 0x23
    Register: 0xc23a23c -------- value: 0x0
    Register: 0xc23a240 -------- value: 0x0
    Register: 0xc23a244 -------- value: 0x0
    Register: 0xc23a248 -------- value: 0x0
    Register: 0xc23a24c -------- value: 0x0
    Register: 0xc23a250 -------- value: 0x0
    Register: 0xc23a254 -------- value: 0x0
    Register: 0xc23a258 -------- value: 0x0
    Register: 0xc23a25c -------- value: 0x0
    Register: 0xc23a260 -------- value: 0x0
    Register: 0xc23a264 -------- value: 0x8c0
    Register: 0xc23a268 -------- value: 0x23
    Register: 0xc23a26c -------- value: 0x0
    Register: 0xc23a270 -------- value: 0x0
    Register: 0xc23a274 -------- value: 0x0
    Register: 0xc23a278 -------- value: 0x0
    Register: 0xc23a27c -------- value: 0x0
    Register: 0xc23a280 -------- value: 0x8c0
    Register: 0xc23a284 -------- value: 0x0
    Register: 0xc23a288 -------- value: 0x0
    Register: 0xc23a28c -------- value: 0x0
    Register: 0xc23a290 -------- value: 0x0
    Register: 0xc23a294 -------- value: 0x0
    Register: 0xc23a298 -------- value: 0x0
    Register: 0xc23a29c -------- value: 0x0
    Register: 0xc23a2a0 -------- value: 0x0
    Register: 0xc23a2a4 -------- value: 0x0
    Register: 0xc23a2a8 -------- value: 0x0
    Register: 0xc23a2ac -------- value: 0x0
    Register: 0xc23a2b0 -------- value: 0x0
    Register: 0xc23a2b4 -------- value: 0x0
    Register: 0xc23a2b8 -------- value: 0x0
    Register: 0xc23a2bc -------- value: 0x0
    Register: 0xc23a2c0 -------- value: 0x0
    Register: 0xc23a2c4 -------- value: 0x0
    Register: 0xc23a2c8 -------- value: 0x0
    Register: 0xc23a2cc -------- value: 0x0
    Register: 0xc23a2d0 -------- value: 0x0
    Register: 0xc23a2d4 -------- value: 0x0
    Register: 0xc23a2d8 -------- value: 0x0
    Register: 0xc23a2dc -------- value: 0x0
    Register: 0xc23a340 -------- value: 0x0
    Register: 0xc23a344 -------- value: 0x0
    Register: 0xc23a348 -------- value: 0x0
    Register: 0xc23a34c -------- value: 0x0
    Register: 0xc23a350 -------- value: 0x0
    Register: 0xc23a354 -------- value: 0x0
    Register: 0xc23a37c -------- value: 0x0
    Register: 0xc23a380 -------- value: 0x0
    Register: 0xc23a3c0 -------- value: 0x0
    Register: 0xc23a3e0 -------- value: 0x0
    Register: 0xc200048 -------- value: 0x0
    Register: 0xc200f08 -------- value: 0x80000
    Register: 0xc200f0c -------- value: 0x0

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

    您好!

    [报价用户 id="307047" url="~/support/processors-group/processors/f/processors-forum/1478655/processor-sdk-j784s4-enet-rtos-debugging/5683005 #5683005"]

    您正在寻找哪些确切的计数器/寄存器来检查这个、哪一个是不正确的?

    但是、外部端口上不会有 Rx 计数器。
    [报价]

    是、请参阅 CPSW 的寄存器规格。

    0x3A000是主机端口(内部 CPPI 端口)的 Rx 正常帧-> 来自 SoC 内部内核的数据包、该数据包与外部端口 Tx 计数相同(0x3A234)
    0x3A204是从 PHY 接收的外部端口的 Rx goof 帧、高于这些值是0、表示没有 Rx 数据包。

    有趣的是整个状态寄存器为0x0、指示链路断开。

    您是否在谈论上述 CPSW 统计数据? 如果是、则不是链路状态的指示器。

    0x0C200030是 RGMII 状态寄存器。
    您是否还可以提供 CPSW 的 MAC 控制寄存器(0x0C222330)。

    此致、
    Sudheer

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

    您好!

    事实证明、这个问题实际上是我们使用 TDA4在电路板外部进行设置、更加精确地进行布线。 问题解决后、ping 开始工作。
    感谢您的帮助。 这个线程可以标记为已解决,或者米莉娜将在她回到办公室时这样做。

    此致、
    Miloš μ A

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

    您好!

    事实证明、问题实际上在于我们在电路板外部设置了 TDA4 -布线更为精确。 解决问题后、ping 开始工作。

    感谢您的更新。

    此致、
    Sudheer