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 更改为 CPSW

Guru**** 2416110 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1521090/am6442-change-ethernet-port-to-cpsw-from-icssg

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

工具/软件:

尊敬的 Nitika:  

我正在打开一个与您在此处提供的原始样品相关的新主题: 链接

他们将向我发送他们尝试更改的工程文件、以启用 CPSW eth 端口而不是 ICSSG。  

您能否检查他们的工程文件、看看他们的更改是否正确、以及他们是否需要进行任何其他更改?

我已经设置了该主题、以便客户也可以遵循。 我将 ping 此线程并通过电子邮件发送项目文件。

此致、

Mari Tunnoda

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

    尊敬的 Mari:

    如果您可以分享对上一主题中讨论的更改列表 (MCU+ SDK 示例和 Processor SDK)、这会很有帮助。  

    另外、之前客户使用的是 enet_lwip_icssg 示例。 它们是否转向 enet_lwip_cpsw 或任何其他示例?

    此致、

    Nitika.

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

    尊敬的 Nitika:

    正如我在电子邮件中提到的、他们实际上向我发送了 enet_lwip_cpsw 样片、其中包含他们尝试过的更改。

    以下详细介绍了他们尝试使用 cpsw 示例启用 IPC 的内容。

    目标:

    • 从 A53 内核 (Linux) 远程处理引导 R5F 内核 (FreeRTOS)
      • 使用 enet_lwip_cpsw 示例作为基础并启用 IPC
      • 在 Linux 器件树中、禁用 CPSW 端口(以及 ICSSG)

    R5F 侧更改:

    • 在 example.syscfg 中
      • 更改 IPC 配置:
      • 更改调试日志配置:
      • 更改存储器配置器(即添加了.resource_table 并调整了存储器区域)后、linker.cmd 在构建后按如下所示进行更改。 [请参阅 TI 驱动器中提供的文件]
    • 位于 main.c 中
      • 他们添加了调试日志、用于检查代码被卡住的位置

    rm-cfg.yaml 生成:

    • A53_2
      • 将“封装 DMA“ CPSW 和 ICSSG 计数更改为 0
      • 将“数据包 DMA 环形加速器“CPSW 和 ICSSG 计数也更改为 0
    • MAIN_0_R5_1
      • 更改“Packet DMA“ CPSW 计数值。 将值配置为 A53_2 中最初设置的值
      • 更改“数据包 DMA 环形加速器“CPSW 计数值。 将值配置为 A53_2 中最初设置的值
    • 资源共享
      • 此时、他们会收到资源共享错误、因此请将共享设置配置为“无“以解决该错误。
    • rm-cfg.yaml 生成和编辑
      • 生成 rm-cfg.yaml 文件、如下所示
      • 生成的 rm-cfg.yaml 文件不是 YAML 格式、因此请更正并调整以下要点
        • 将选项卡式部分更改为空格
        • 调整缩进
        • 调整批注格式
        • 必要的任何其他编辑[此 rm-cfg.yaml 文件已在 TI Drive 中共享]

    A53 内核侧面的变化:

    • 已禁用器件树中的 CPSW 和 ICSSG 相关项目。 [器件树已在 TI 驱动器中共享]]

    已更改样本的执行结果:

    • R5F 内核通过 remoteproc 引导、但 R5F 卡在 System_init ()
      • R5F0_0 引导被委派给远程过程 1
      • 引导成功
      • “End System_init() 没有输出、似乎卡在函数内“

    以下是他们提供的所有详细信息。 如果您需要我的客户提供任何其他信息/文件、请告诉我。

    此致、

    Mari Tunnoda

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

    尊敬的 Mari:

    感谢您的详细信息,您还能在此处帮助我了解其用例 — 为什么它们为所有内核启用 IPC?

    此外、通过 Remoteproc 加载的 enet_lwip_cpsw 示例是否可以在没有更改 IPC 的情况下正常工作?

    此致、

    Nitika.

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

    尊敬的 Mari:

    我担心 R5 应用程序使用的存储器区域。 您能否确保 Linux 器件树将 R5 内核使用的存储器区域标记为保留空间? 或者、可以将 R5 应用程序的存储器段移动到相应的为内核保留的存储器中。 存储器分段根据以下结构完成: https://dev.ti.com/tirex/explore/node?node=A__AczQXYYQuDrYh5SEg4bt3w__AM64-ACADEMY__WI1KRXP__LATEST

    此外、将启用 IPC 配置、以便所有内核都能够单独与 Linux 通信、但 R5 内核无法相互通信。 如果这是预期行为、我希望应用程序确认。

    请使用 TI Academy 中提到的分段内容更新内联的 R5 应用程序存储器放置、并告知我们结果。

    此致、
    Teja。

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

    尊敬的 Teja:

    感谢您的回答。

    他们向我发送了他们对你的建议的答复。 遗憾的是、他们尝试了您提到的修改和建议。 请参阅以下内容:

    1.内存空间问题

     我按照提供的链接中的说明进行了操作。  我还使用了我修改 ICSSG 时的设置作为参考。

    他们检查了存储器区域中是否没有冲突、还确保 Linux 不会使用 R5 内核使用的区域。

    如下所示、R5 内核使用以橙色指示的存储器区域。 TI 驱动器中的 linker.cmd 文件也显示此信息。

    在 Linux 器件树中、R5 内核使用的存储器区域被分配为保留空间。

    此外、还有一些必要的修改、这些修改在 TI Academy 模块中未提及。 我们在下面的 E2E 主题中找到了其他必要的修改:  

    【常见问题解答】AM64X:如何将 R5F PRU_ICSSG 以太网与 Linux A53 内核组合 — 处理器论坛-处理器 — TI E2E 支持论坛

    2.关于 R5F 内核无法通信、这里没有问题。 只要 A53 和 R5F0-0 CAN IPC、这是可以的。

    您能否根据 TI 驱动器中提供的示例提供额外的步骤来启用 CPSW 端口而不是 ICSSG?

    此致、

    Mari

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

    尊敬的 Mari:

    您是否可以检查资源表在 R5 应用中的放置位置? 资源表应专门位于应用程序存储器的开头。 如果放置不正确、R5 和 Linux 之间的任何通信都将出现问题。

    同时、我将查看 客户共享的文件以获取更多信息。 由于我在下一周没有时间、我的答复将推迟到 7 月 1 日。

    谢谢。此致、
    Teja。

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

    尊敬的 Teja:

    感谢您的回答。 他们实际上引用了 AM64x Academy 中的以下页面来说明资源表的放置。  更新 linker.cmd 文件

    这是否放置不正确?  

    此致、

    Mair Tunnoda

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

    ping Paula Carrillo 和 Nick Saulnier。 您能否在 Teja 不可用时提供其他评论? 我的客户参考了 AM64x Academy 以按照说明配置 IPC。

    如果这需要花费大量精力、您能否为以下常见问题解答主题中的示例提供有关如何将以太网端口从 icssg 切换到 cpsw 的支持?

    【常见问题解答】AM64X:如何将 R5F PRU_ICSSG 以太网与 Linux A53 内核组合 — 处理器论坛-处理器 — TI E2E 支持论坛

    此致、

    Mari Tunnoda

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

    你好、Mari、

    资源表和内存区域看起来不错  

    感谢您确认 Resource 表位于我的预期位置、并且 R5F 存储器区域处于 Linux 器件树文件中定义的存储器区域范围内。

    K3 资源分区工具输出格式不正确?  

    我可以让您告诉我您正在使用的 K3 资源分区工具和 SysConfig 的确切版本吗? 我们将很快发布该工具的新版本、最好验证输出文件的格式是否正确。

    逐步执行 R5F 代码、看看它在哪里挂起  

    调试的下一步是研究代码实际挂起的位置。 这可以提供有关到底出了什么问题的更多详细信息。

    有很多方法可以做到这一点。 我不是一个非常高级的 RTOS 开发人员、因此我通常首先在 main 函数的开头创建一个无限循环。 然后、在将 CCS 连接到 R5F 内核后、我可以退出循环并开始逐步执行代码、直到找到代码挂起的位置。

    您可以在此处找到一个调试类似问题的示例:
    https://dev.ti.com/tirex/explore/node?node=A__AZVLTFgnCWyMV5cDwLf4gg__AM64-ACADEMY__WI1KRXP__LATEST

    此致、

    Nick