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-AM437X:从 UIO 迁移 PRU

Guru**** 2551110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/619971/processor-sdk-am437x-pru-migration-from-uio

器件型号:PROCESSOR-SDK-AM437X

您好!

我一直在寻找迁移教程、以便使用 UIO 使我的代码在 C 语言中使用 AM335x 在 AM437x 上工作。 我在 TI 支持网站上找到了迁移指南、但这些说明尚未开发、因此无法在其后面正常工作。 我还尝试使用正确的寄存器修改 prussdrv、但它也不起作用。

我正在 Linux OS 目标上使用 CCS 编译器

请帮您完成该任务吗?

让·吕克

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

    uio 现在已被淘汰了很长时间。 当前的方法是 RemotProc。 以下是一些 Wiki 材料:
    processors.wiki.ti.com/.../PRU-ICSS_Remoteproc_and_RPMsg
    processors.wiki.ti.com/.../PRU-ICSS_Migration_Guide:_AM335x_to_AM437x
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!
    感谢您的快速回答!
    我知道这一点、并且可以使用 Remoteproc 和 RPMsg 进行新的开发。 但我的目标是使用我已经制作的 UIO 软、以节省开发时间。

    您是否了解实现该目标所需的任何资源或指南?

    此致、
    让·吕克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已要求 PRU 专家发表意见。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    是否有关于 PRU 迁移的新闻?

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

    您正在使用哪些 UIO 资源(除了加载固件)? 迁移到 RemoteProc 以加载 PRU 固件对您来说应该是微不足道的(您只需要在二进制文件中添加资源表)。 但是、如果您使用 UIO 驱动程序的直接存储器映射(mmap)或事件功能、则移植将更加困难、因为这些是当前 remoteproc/rpmsg 实现中的漏洞。

    UIO 驱动程序(和 Debian 发行版)的支持需要来自 BeagleBoard 社区论坛: beagleboard.org/discuss。 没有使用 AM437x 器件的 BeagleBoard 板、但它们可以提供将 uio/prussdrv 移植到该器件的指针。

    请告诉我、如果您在迁移到 Linux 处理器 SDK 中的 remoteproc/rpmsg 框架时需要任何帮助。

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

    我不能讨论这项申请、网上讨论太敏感。
    但基本上、我要寻找的是一个使用新 RemoteProc 的示例、该示例展示了如何从内存上的 ADC 进行写入。 然后、使用 AM437x 读取该存储器、再读取另一条路径。

    我尝试添加新的资源表、但它不起作用、因此我放弃了这种方法。 也许我做错了,怎么做会更容易呢?

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

    下面是一个快速入门指南、将引导您完成运行第一个 RemoteProc/RPMsg 示例的所有步骤:
    processors.wiki.ti.com/.../RPMsg_Quick_Start_Guide

    该示例还将向您展示如何重建和重新运行提供的 RPMsg 示例。 这些示例的代码包含在 Linux 处理器 SDK 的'example-applications/PRU-ICSS-x.y.z/'目录中、如 wiki 页面中所述。 也可以在 git repo 上找到该代码、网址为 :git.ti.com/.../PRU_RPMsg_Echo_Interrupt0_0

    要获得最简单的示例(也显示了如何添加空资源表)、您可以在以下位置查看 PRU_HALT 示例: git.ti.com/.../PRU_Halt。 PRU_HALT 示例展示了如何包含空的资源表头文件、以便 Remoteproc Linux 驱动程序加载生成的二进制文件。

    Jason Reeder