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.

[参考译文] J784S4XEVM:无法使用 MCU2_1's 具有 lwIP 示例的 CPSW2G MCU

Guru**** 2393725 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1493844/j784s4xevm-unable-to-use-mcu2_1-s-cpsw2g-mcu-with-lwip-example

器件型号:J784S4XEVM

工具与软件:

您好!

我在 A72内核上使用 Linux、版本为 pdk_j784s4_09_00_00_45。

我尝试通过为 MCU2_1内核构建 lwIP 示例来使用 MCU CPSW2G。

在文档中、lwIP 示例使用具有 mcu1_0的 MCU CPSW2G 和具有 MCU2_1的主 CPSW2G。 为了将 MCU CPSW2G 与 MCU2_1配合使用、在 lwIP 示例的源文件中、我已将 BUILD_MCU1_0替换为 BUILD_MCU2_1、并将 BUILD_MCU2_1替换为 BUILD_MCU1_0。

我还修改了 drv/enet/examples/utils/v4/enet_apprmcfg.c:
/*!
 * 简明 CPSW2G 默认配置
 *     注:如果用户希望更改资源分区、请执行以下操作
 *     必须考虑的事项:
 *     1.分配给每个内核的 numTxCh 总和不应超过8。
 *     2.分配给每个内核的 numRxFlows 的总和不应超过63 (不是64)、
 *       因为一个 Rx 流被保留给主内核。
 *
 */
静态 Rm_Res 4520ms gEnetAppRmDefCfg_2G =
  .coreDmaResInfo =
  {
    [0]=
    {
      .CoreID    = IPC_MPU1_0
      .numTxCh   = 2U
      .numRxFlows  = 2U
      .numMacAddress = 1U
    }、
    [1]=
    {
      .CoreID    = IPC_MCU1_0
      .numTxCh   = 4U
      .numRxFlows  = 4U
      .numMacAddress = 1U
    }、
    [2]=
    {
      .CoreID    = IPC_MCU2_1
      .numTxCh   = 2U
      .numRxFlows  = 2U
      .numMacAddress = 1U
    }、
  }、
  .numCores = 3
};
但我总是犯个错误:  
Cpsw_registerIntrs:未能设置统计数据中断:-1
Cpsw_open:注册中断失败:-1
Cpsw_closeInternal:Assertion @ Line:984 in src cont/cpsw.c:status == ENET_SOK

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

    您好!

    您能否确认、在上述修改后、是否在 lwip 示例之前编译"enet_example_utils_full_freertos"。

    请参阅以下常见问题解答、其中我们在 MCU2_0内核上为 CPSW2G 启用了 ENET 环回、而不是在 MCU1_0内核上启用了 ENET 环回。
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1367319/faq-tda4vm-how-do-i-port-the-enet-loopback-example-for-cpsw2g-to-another-core-like-mcu2_0

    类似地、您需要更改主 CPSW2G 以从 MCU2_1内核运行。

    此致、
    Sudheer

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

    尊敬的 Sudheer:

    我确认在上述更改后、在 lwip 示例之前构建了"enet_example_utils_full_freertos"。

    我 按照常见问题解答链接对主 CPSW2G 进行了更改、以从 MCU2_1内核运行。

    以下是我修改的文件:

    e2e.ti.com/.../test_5F00_config_5F00_j784s4.c

    e2e.ti.com/.../enet_5F00_apprmcfg.c

    我做了什么错了吗?

    此致、

    Bruce

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

    您好!

     在常见问题解答链接之后、我更改了主 CPSW2G 从 MCU2_1内核运行。

    默认情况下、主 CPSW2G 仅从 MCU2_1内核运行。

    如果您要运行 MCU CPSW2G、需要将实例 id 使用为0。
    *instId  = 0u;  

    此外、您需要在"gEnetAppRmDefCfg_2G"下调整其他内核的 MCU CPSW2G 所需的资源、因此、MCU2_1内核存在该资源。

    此致、
    Sudheer

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

    您好!

    我是否正确地修改了我发送给您的文件以及您的评论?

    我调整了 MCU2_1内核的"gEnetAppRmDefCfg_2G"、并将实例标识符使用为0。

    此致、

    Bruce

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

    您好!

    [报价 userid="602907" url="~/support/processors-group/processors/f/processors-forum/1493844/j784s4xevm-unable-to-use-mcu2_1-s-cpsw2g-mcu-with-lwip-example/5739914 #5739914"]

    我是否正确地修改了我发送给您的文件以及您的评论?

    我调整了 MCU2_1内核的"gEnetAppRmDefCfg_2G"、并将实例标识符使用为0。

    [报价]

    当未定义"APP_ENABLE_STATIC_CFG"时、上述更改便足够。

    如果已定义、 还需要更改"EnetLpbk_getTestConfig"中的实例 ID。

    此致、
    Sudheer

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

    您好!

    在本例中、APP_ENABLE_STATIC_CFG 是默认设置。

    我没有"EnetLpbk_getTestConfig"。 "EnetLpbk_getTestConfig 用于 enet_loopback_test 示例。 在 lwip 示例中未使用它。

    此致、

    Bruce

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

    您好!  

    请分享日志。  

    此致、  

    Sudheer

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

    您好!

    日志如下:

    ================
    Enet lwIP 应用
    ================
    ================
    ================
    EnetBoard_setupPorts:找到1个端口配置(共1个)
    ================
    CPU 负载:4%
    从 lwIP 开始、本地接口 IP 为192.168.2.200
    在 EEPROM 中未找到有效的 MAC 地址、回退为静态地址
    EnetMcm:MCU NAVSS 上的 CPSW_2G
    Cpsw_registerIntrs:未能设置统计数据中断:-1
    Cpsw_open:注册中断失败:-1
    Cpsw_closeInternal:Assertion @ Line:984 in src cont/cpsw.c:status == ENET_SOK

    此致、

    Bruce

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

    您好!

    您共享的上述 TEST_CONFIG_j784s4与环回示例相关。

    您能否确保在正确的文件中进行更新以使用 MUC2_1内核中的 MCU CPSW2G。

    此外、您是否可以在正确配置和检查一次后重新构建 lwip 示例。

    此致、
    Sudheer

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

    您好!

    抱歉、我在文件上犯了一个错误。 以下是正确的文件:

    e2e.ti.com/.../5811.test_5F00_config_5F00_j784s4.c

    下面是我用来编译示例的命令:

    -  make -s -j pdk_libs board=j784s4_evm core=MCU2_1.

    - make -s -j build_profile=release board=j784s4_evm core=MCU2_1 enet_example_utils_full_freertos

    - make -s -j build_profile=release board=j784s4_evm core=MCU2_1 enet_lwip_example_freeRTOS

    此致、

    Bruce

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

    您好!

    请与您分享上述更改的日志。

    此致、
    Sudheer

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

    您好!

    我也面临同样的问题。
    这是由于 MCU2_1内核映射了错误的中断配置。  根据以下内容更正配置(pdk_j784s4_09_02_00_30/packages/ti/drv/enet/cpu/j7x/j784s4/enet_soc.c 文件)后、我就能够从 MCU2_1内核成功运行 soc CPSW2G。


    enet lwip 示例 UART 日志以供参考:

    此致、
    Sudheer