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.

[参考译文] AM3358:从 RTOS 加载 PRU 固件

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/604858/am3358-pru-firmware-load-from-rtos

器件型号:AM3358

大家好、

我尝试使用 BeagleBone 的 PRU、以便对外部事件做出非常快的反应。 我阅读了 AM335x 技术参考手册中有关 PRU-ICSS 的一章以及其他汇编文档。 现在、我想为 PRU 编写一个汇编程序、该程序由我的 C 代码在运行时加载(可以是 starterware 或 RTOS 项目)。 为此、我需要一个包含二进制指令的 C 数组、以将其加载到 PRU 程序 RAM 中。

现在我完全不知道这么做。 据我了解、PRU 有两个汇编编译器:PRU 代码生成工具和 PASM。

 http://processors.wiki.ti.com/index.php/PASM_Tool 中介绍了如何使用 PASM 、但在 PRU 软件包中没有.exe 文件或类似文件、我可以执行这些文件来将汇编.p 文件转换为 C 数组的 h 文件。  有一些源文件可能用于创建.exe 文件、但这确实起作用。 是否有执行该作业的已编译的 exe 文件之类的文件,或者它是如何工作的? 我找不到任何像分步指南这样的东西。

PRU 代码生成工具中有许多.exe 文件、但如果有任何一个文件执行我想要的操作(我想用汇编语言而不是用 C 语言编写程序)、我找不到任何文档。 comeone 能否向我解释如何使用此套件?

如果没有这种方法、我还会考虑完全用二进制编写程序、因为我的程序不会很大(可能是30到40条指令)。 是否有任何文档说明了 PRU 的指令集在二进制中的外观?

我不想使用 C 语言、因为我的计时限制非常严格。

我希望有人能帮我解决这个问题。

此致、

Christian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好,Christian

    pdk_am335x_1_0_6\packages/ti\drv\pruss\examples\apps\sorte 中的 SORTE 示例(www.ti.com/.../tidep-0085)应帮助您从 RTOS 实现 PRU 固件加载。

    pdk_am335x_1_0_6\packages/ti\build\makerules 中的 make 文件 rules_PRU.mk 介绍了如何使用 PRU 代码生成工具 ti-CGT-2.1.4 clpru/hexpru 构建 PRU 汇编并转换为固件头文件.bin。

    最后、固件使用 PDK 桁架库中提供的 PRUICSS_pruWriteMemory()加载到 PRU 存储器中、请参阅 pdk_am335x_1_0_6\packages \ti\drv\pruss\examples\apps\sorte\src 中的 main.c。

    一些有用的链接:
    SORTE TI 设计: www.ti.com/.../tidep-0085
    SORTE 维客: processors.wiki.ti.com/.../Processor_SDK_RTOS_PRUSS_SORTE
    PDK PRUSS wiki: processors.wiki.ti.com/.../Processor_SDK_RTOS_PRUSS

    此致、
    Garrett