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:以太网外设的低级/寄存器编程

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1159928/am6442-low-level-register-programming-of-ethernet-peripheral

器件型号:AM6442

您好!

我使用的是具有 AM6442 SoC 的 SK AM64x。 我需要有关为我的应用编程 SoC 上的以太网外设(CPSW3G)的帮助。

背面故事(可选):
我正尽力使用 AM6442开发 CNC 运动控制器。 由于应用程序需要实时高性能、操作系统速度太慢。 因此、我在不使用 Linux、FreeRTOS 或 NoRTOS 的情况下执行此操作。 文档中包含的内容不能少于绝对垃圾。 到目前为止、我已成功为该 SoC 创建了自己的 API、而不使用除 SCIclient 之外的任何 TI 库或 API。 我成功地集成了所有 A53内核、R5F 内核、PRU 内核、DDR RAM (这是最困难的)、计时器、中断、使用 PRU 的高速 GPIO 以及所有其他功能、以及使用 PRU 的以太网(这也很难实现)。 我还创建了自己的定制 SBL。 不使用 NoRTOS 的原因与文档内容相同、只是垃圾。 我发誓、我尽力使用 NoRTOS。 在我自己的 API 中、我确实使用 PRU @ 1Gbps 在以太网上传输数据、但我遇到的一个主要障碍是传输的数据没有 CRC、因此基本上所有以太网交换机都只丢弃我的帧。 我必须将 AM64x 直接连接到 PC 的以太网端口、并在 Windows 中使用 PCAP 数据包捕获驱动程序从不带 CRC 的 AM64x 读取数据。 因此、它不是很有用、因为我也计划将它用作本地 Web 服务器、因此我可以使用 iOS、Android 或 Webapp 控制我的 CNC。 我已经尝试过太多时间、为了让 PRU 上的以太网正常工作并尝试传输 CRC 来工作、我已经付出了太多的时间、但现在我放弃了。 也许我会更幸运地使用专用的 CPSW3G 以太网外设。

问题:
如何仅使用寄存器编程连接以太网外设(CPSW3G)以在以太网端口上传输和接收数据? 我已经成功配置了这个外设、并且还对板载 PHY 进行了编程、我知道这实际上已经被正确配置。 除了从外设发送和接收数据的主要部分之外,CPSW3G 部分中的文档介绍了如何使用 DMA/PSI-L/CPPI 来执行它。 但没有有关如何执行该操作的信息。 我不知道 CPPI 是如何工作的、也不知道 DMA 是如何运行的、也不知道如何配置。 即使是数据表中的 DMA 部分也不提供如何连接 CPSW 外设的线索。 我在这里迷路了、有人会帮我解决这个问题。 是否有其他相关文档会有所帮助? 是否有人能够在 BeagleBone 上执行此操作? 我看到 BeagleBone AI 上的 AM572x 具有与 AM64x 上类似的 CPSW。

AM6442参考手册: https://www.ti.com/lit/pdf/spruim2

谢谢

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

    Abhimanyu、您好!

    只是为了预先设定期望:

    我们可以支持有关 TI 软件(在本例中为 MCU+ SDK FreeRTOS 和 NORTOS 软件)的问题。 我们可以支持有关硬件或软件特定部分的特定问题(例如、"此寄存器有什么作用?")。 我们还可以回答有关"垃圾文档"的问题、并采取措施改进文档。 (欢迎您提供反馈! 文档正在积极开发中)

    但是、我们无法帮助您编写完全自定义的代码。 如果您决定不使用 TI 提供的工具、那么您需要自行决定如何使其正常工作。

    后续步骤:  

    现在、您的问题范围太广、我们无法提供帮助-如果不使用 TI 已经编写的软件来完成外设编程和使用、我无法提供完整的指南。 但是、我将把您的线程重新分配给 MCU+团队。 这样、如果你有一个更具体的后续问题、他们可以帮助你。

    此致、

    Nick

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

    您好、Nick、

    感谢你的所有帮助。 我真的很感谢。

    如果我的帖子不清楚我要问什么或我应该期待什么、我会道歉。 我在这里是个新手、对这个论坛不是很熟悉。 我将尝试更简明扼要。

    [引用 userid="280115" URL"~/support/processors-group/processors/f/processors-forum/1159928/am6442-low-level-register-programming-of-ethernet-peripheral/4361475 #4361475"]为了预先设置预期:[/quot]

    这很有帮助。 我认为我对如何更好地确定我的问题有了更好的理解。

    是的、文档在某些部分中非常糟糕。 《技术参考手册》非常大、但组织有序。 一些部分编写得很好。 但大多数部分都无法修复。 它们的编写就好像它们仅供 TI 内部团队使用、从用户角度来看没有太多帮助。 我很乐意通过指出如何改进文档来提供帮助、但我不知道分享此反馈的正确位置。

    [引用 userid="280115" URL"~/support/processors-group/processors/f/processors-forum/1159928/am6442-low-level-register-programming-of-ethernet-peripheral/4361475 #4361475"]后续步骤: [/引用]

    我不希望得到全面的答案、也不希望为我编写代码。 我只想了解一些有关从哪里开始的好方向。

    我很乐意将 NoRTOS 用于我的应用、但遗憾的是、正如我提到的、NoRTOS 文档也几乎不存在。 这是我开发自己的 API 的最大原因、因为我发现开发自己的 API 比尝试猜测 NoRTOS 库的工作原理更容易。 我知道整个产品以及文档都在开发中。

    我通过读取 TRM、逆向工程 NoRTOS 库、逆向工程 GEL 文件等方式编写了自己的 API。

    至于我的问题、我很乐意接受有关如何使 CPSW 也与 NoRTOS 库一起运行的提示。 我愿意在这之后投入逆向工程的努力。 SDK 文档缺少有关如何使用 CPSW 外设的清晰教程式信息、以及对 NoRTOS 函数的作用和函数参数应该是什么以及不同的自变量和描述符的作用的清晰解释。

    我想、在对其他外设执行这么多次之后、我可以使用寄存器编程自行配置 CPSW 外设。 尽管在这里提供帮助也是非常值得赞赏的。

    目前、如果有人告诉我 NoRTOS 库中的确切函数会启动与 CPSW 交换机主机端口0之间的数据传输、我将不胜感激。 现在、我认为它们位于"ENET 数据路径(DMA)"下。 那么、我应该使用哪些函数来实现从缓冲区接收数据的最简单形式。 如果我能做到这一点、我想我也能弄清楚如何发送数据。

    谢谢

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

    Abhimanyu、您好!

    听起来不错。

    对文档的反馈  

    对于应用手册、TRMS 等、每页底部都应有一个 URL、显示"提交文档反馈"。 我刚刚与负责编写 TRM 的工程师进行了双倍检查、他们确认他们看到了通过该路径提供的反馈。

    对于 Linux SDK 文档、MCU+ SDK 文档或 AM64x Linux Academy 等网页、这些论坛是提供反馈和提问的最佳场所。

    NORTOS 库中的哪个函数启动与 CPSW 开关之间的数据传输?  

    我已将您的主题重新分配给更熟悉 MCU+ SDK 的团队成员进行评论。 如果您在一天左右内没有响应、请对该主题执行 Ping 操作。

    此致、

    Nick

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

    你好吗? 有人在那里? :(

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

    尊敬的 Abhimanyu:

    到目前为止、我们还没有在 MCUSDK 8.4中的 CPSW 上支持 NORTOS。

    您能否帮助我了解您尝试实现的目标/目的的更多详细信息? 以便我们能够更好地帮助您。

    此致

    Ashwani