ZHCABI5 January   2022 AM67 , AM67A , AM68 , AM68A , AM69 , AM69A , DRA821U , DRA821U-Q1 , DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4AEN-Q1 , TDA4AH-Q1 , TDA4AL-Q1 , TDA4AP-Q1 , TDA4VE-Q1 , TDA4VEN-Q1 , TDA4VH-Q1 , TDA4VL-Q1 , TDA4VM , TDA4VM-Q1 , TDA4VP-Q1

 

  1.   摘要
  2.   商标
  3. 1以太网和 CPSW 简介
    1. 1.1 以太网接口
    2. 1.2 以太网集成
    3. 1.3 CPSW
    4. 1.4 MAC2MAC
  4. 2JACINTO7 MAC2MAC 解决方案
    1. 2.1 应用要求
    2. 2.2 RGMII 解决方案
    3. 2.3 SGMII 解决方案
  5. 3MAC2MAC 实现
    1. 3.1 RGMII 实现
      1. 3.1.1 CPSW 2G 更改
      2. 3.1.2 CPSW 9G 更改
    2. 3.2 SGMII 实现
    3. 3.3 MAC2MAC 调试
      1. 3.3.1 软件和配置问题
      2. 3.3.2 调试软件和配置问题
      3. 3.3.3 Pinmux 问题
      4. 3.3.4 硬件问题
        1. 3.3.4.1 RGMII 调试
        2. 3.3.4.2 SGMII 调试
  6. 4总结
  7. 5参考文献

调试软件和配置问题

要调试此类问题,首先要验证 Linux 引导日志和以太网固件日志,确保两者中都没有关键字“error”。

以太网固件日志可在第三个主 UART 实例上找到,如果无法访问它,也可以通过运行命令“cat /sys/kernel/debug/remoteproc/remoteproc*/trace0”从 Linux 终端获取日志。

以太网固件日志示例 (ethfw_freertos_log.txt for ti-processor-sdk-rtos-j721e-evm-07_03_00_07) 可从工程配套资料和源代码链接下载。注意,它显示:

  1. ENET 注册成功
  2. 远程内核初始化成功
  3. Phy 初始化和链路接通
  4. Rx 流和 VLAN 路由配置

根据启用的配置不同,日志可能会有所不同,但这些基本步骤保持不变。

也可通过运行 pdk/packages/ti/drv/enet/tools/debug_gels 中的 GEL 文件转储各种寄存器的内容

下面提供了有关 GEL 文件的详细信息:

  1. cpsw_ale_print_table.gel:用于打印 ALE 配置。可用于检查 ALE 配置是否成功
  2. cpsw_enetctrl_cfg.gel:这对于 SGMII 和 RGMII 配置的调试很重要。它从 ENET 控制寄存器打印信息,这些寄存器控制是否配置 RGMII 或 SGMII 模式。
  3. cpsw_mac.gel:此 GEL 文件用于转储与双工、流启用等相关的信息。对 MAC 到 MAC 配置有用
  4. cpsw_mdio_config.gel:它用来打印 MDIO 配置,与 MAC 到 MAC 调试无关
  5. cpsw_print_reg.gel:它是所有其他 GEL 的超集,可用于打印所有 CPSW 寄存器。
  6. cpsw_sgmii_diag.gel:它用于打印 SERDES 配置,是调试 SGMII 的重要 GEL 文件。用户应运行此文件,验证 SERDES 配置符合配置设置。

cpsw_stats.gel:用于转储统计数据,所有端口(包括主机端口)接收/传输的帧数。用户应运行此文件,检查是否有任何错误帧,以及是否正确接收/发送所有数据包。如果 ping 无效,则首先转储统计数据,确定是接收还是传输有问题,亦或二者都有问题。