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.

[参考译文] AM623:AM62x:查找对 PRU 进行编程的说明和示例代码

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1624295/am623-am62x-looking-for-instructions-and-sample-code-for-programing-the-pru

器件型号: AM623

我有适用于 AM62x 处理器和 CCS 20.4.1 的入门套件、可在其中查找有关如何对 PRU 进行编程的说明。  我发现:3.7. PRU 子系统 — 我想要查找的 Processor SDK AM62x 文档 、但我的 CCS 版本不支持这些步骤。  是否有最新说明、或者我是否需要返回旧版本的 CCS?

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

    您好、Martha、

    我将概述 AM62x 的入门资源、以及您在不久的将来可以获得的资源。

    多年来、AM62x 上的 PRU 入门

    我假设您找到了 PRU 入门实验室的第一个版本、我于 2022 年为 AM62x 编写:
    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/common/PRU-ICSS/PRU-Getting-Started-Labs.html 

    这些实验旨在与 PRU 软件支持包搭配使用、我自 2018 年以来一直在维护该支持包:
    https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/ 

    2025 年、我们开始发布新的 OpenPRU 存储库、以及在 AM243x 和 AM64x 上发布新 PRU Academy 的第一个版本。 PRU Academy 包含更新版本的 PRU 入门实验(仍使用 CCS12.x)、以及一些附加信息:
    https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__AB.mSUi9ihL.a5hIt1grfw__AM64-ACADEMY__WI1KRXP__LATEST 

    短期计划(2026 年 3 月)

    我上周刚刚完成了对 AM62x 的正式添加对 OpenPRU 存储库的支持、标签 v2026.00.00:
    https://github.com/TexasInstruments/open-pru 

    现在、我正在为 AM62x 编写 PRU Academy。 在此过程中、我重写 PRU 入门实验室以使用 CCS20。

    您接下来要做什么?  

    我正在 3 月份工作、但我将从 4 月份开始休息一段时间。 因此、您可以:
    1) 使用 CCS12.x 立即开始开发
    2) 在本周晚些时候开始使用 CCS20.x 进行开发、我可以在本周晚些时候发布使用 CCS20 的 PRU 入门实验室草稿
    3) 只需等待 AM62x PRU Academy 在 4 月底之前的某个时间发布、然后开始开发

    如果您希望在开始时得到我的帮助、那么在我三月份的时候开始开发可能是个好主意。

    您在等待草稿时可以阅读的任何内容?  

    这是简要了解 PRU 的一个非常好的部分。 如果您想在 AM64x PRU Academy(用例页面,专门生成学院所用处理器的特定详细信息)中生成本节的 AM62x 版本、请告诉我:
    https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__AfYd0P3wI1CDis1g9k1nSQ__AM64-ACADEMY__WI1KRXP__LATEST 

    此致、

    Nick

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

    Nick、非常感谢您的答复。  我现在想使用 CCS12、然后在准备好时切换到 CCS20。

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

    您好、Martha、

    明白。 在这种情况下、我建议从 AM64x PRU Academy 的入门实验室开始。 忽略有关 MCU+ SDK 的任何信息、我们仅支持通过 Linux A53 控制 AM62x PRU 内核。 该信息是 AM64x 特有的、因此如果您有任何问题或遇到任何令人困惑的地方、请告诉我:
    https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__AZlFVyFPIrugfOX0nu3fMg__AM64-ACADEMY__WI1KRXP__LATEST

    对于 AM62x 上的 PRU 示例代码、您将在 OpenPRU 和 PSSP 中找到工程 — 我的最终目标是将所有 PSSP 工程迁移到 OpenPRU、但这可能需要等到完成、这对您的工程来说很重要。

    此致、

    Nick

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

    我安装了 CCS 12.8.1、现在实验室说明有意义。  谢谢!  我单步执行 PRU_ADD 示例、在 Memory Browser (0x110) 中查看和修改映射的存储器 a、b、c、但“Variables"视“视图中的 X、Y、Z 全部显示为 0、不允许我更改它们。  即使我查看 Memory Browser 中的 X/Y/Z 变量 0x4120、它们也会显示值 0、不会让我更改它们。

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

    您好、Martha、

    太棒了、很高兴听到您能够取得进步。

    遗憾的是、我过去在内存浏览器/变量视图中遇到了一些错误。 我在最新的 PRU Academy 版本的实验室中并没有提到这方面的任何内容、但如果我在几年前已经安装了更新和修复、我的测试可能会错过一些内容。

    请参阅旧版本的 PRU 入门实验。 查找所有蓝色的“注释“框、查看其中是否有任何一个框修复了该行为、或解释该行为。 然后、请告诉我、以便我可以确保在文档的 AM62x PRU Academy 版本中突出显示它。

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/11_01_05_03/exports/docs/common/PRU-ICSS/PRU-Getting-Started-Labs_Lab5.html

    此致、

    Nick

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

    我创建了一些文件作用域变量、可以在表达式视图中看到它们、然后可以对它们进行修改。  这是一种可行的解决方法。

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

    在我看来、X/Y/Z 局部变量的堆栈地址对于 PRU (0x4120) 无效。  我正试图弄清楚链接器指令的位置。

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

    您好、Martha、

    对此处延迟的回复表示歉意。 你是不是弄清楚了,还是需要我们的支持?

    此致、

    Nick

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

    我仍然不明白为什么当地人位于 0x4920@Program_Memory。  我找到了链接器命令文件 AM62x_PRU0.cmd、认为问题是未定义系统栈大小。  我在“基本选项“中将其设置为 256、但当地人仍在相同的地址。  所以我一定可以在您的帮助下解答。