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.

[参考译文] Linux/AM3358:SDK 3.12的 PRU 问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/671592/linux-am3358-pru-problem-with-sdk-3-12

器件型号:AM3358

工具/软件:Linux

参考: processors.wiki.ti.com/.../ ,但在 Linux-3.12.10-ti2013.12.01 配置中找不到 PRU,设备驱动程序->Remoteproc 驱动 程序没有 PRU 配置选项。 如何在内核中启用 PRU 支持?

 .config - Linux/ARM 3.12.10内核配置

>设备驱动程序> Remoteproc 驱动程序─────────────────────────────────────────────────────────────────────────────────
┌───────────────────────────────────────────────μ A Remoteproc 驱动程序─────────────────────────────────────────────── ┐μ A
│箭头键浏览菜单。 选择子菜单-->(或空子菜单-->)。 突出显示的字母为│
│热键。 按 包括: 排除、 模块化功能。 按 要退出、 请选择│
│帮助, 搜索。 图例:[*]不包括内置[] MODULE <> MODULE capable│
││μ A
│┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────μ A ┐│μ A
││<>STE-Modem remoteproc support││..............
││μ A

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    内核 v3.12是一个非常旧的 SDK、不再进行维护。 请转至新的处理器 SDK: www.ti.com/.../PROCESSOR-SDK-AM335X
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    抱歉、我们使用此 SDK 开始销售、短期内无法使用最新的 SDK、且最新的 SDK 尚未经过测试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们仍在最新 SDK 上测试 PRU 功能级、然后确定是否使用。 PRU 可以执行浮点运算吗?
    2.PRU:8KB 程序存储器和8KB 数据存储器,如果我有一个大型程序、大约20、000行、我可以使用 AM335x PRU 吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、

    内核 v3.12上不支持 PRU/Remoteproc。 如果您需要 PRU 支持、则需要使用我们的较新处理器 SDK 之一。

    PRU 硬件本身不能实现浮点。 即使有 PRU 编译器库在 PRU 硬件上执行浮点运算(我不这么认为、但我不确定)、我也建议不要使用它、因为它会很慢。

    2.代码的大小取决于您编写代码的语言、编译器设置等 检查程序存储器大小的最佳方法是使用 PRU 编译器实际编译代码、并查看输出的大小。

    此致、
    Nick
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 ti-processor-sdk-linux-rt-am335x-evm-03.03.00.04上测试了 prusss。
    安装 uio_prus.ko 模块(modprobe uio_pruss)后、运行 lsmod 命令以了解该模块是否已安装。

    root@AM335x-EVM:~# lsmod
    模块 使用的大小
    uio_pruss 3234 0
    BC_example 7266 0
    SHA512_通用 9903 0
    SHA512_ARM 12079 0
    鼓 13510 1.
    DES_generic 17736 0
    .
    ====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
    但/dev/dev 没有 uio 设备节点。 我应该怎么做?

    root@AM335x-EVM:~# ls /dev/uio
    ls:/dev/uio:无此类文件或目录
    根目录@AM335x-EVM:~编号
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我很抱歉耽误你的回应! TI 不支持 PRU 的 UIO 器件节点-我建议改为查看 RemoteProc。 (或者 BeagleBone 论坛可能提供 UIO 支持)。 有一个针对 SDK 3.3的 RemoteProc / RPMsg wiki 页面的存档版本、请查看页面底部的"存档版本"。  

    您的应用是什么? 浮点和数万行代码不适合 PRU。 但是、在 ARM 内核上运行部分代码可能是合理的、而 PRU 只执行实时或确定性代码部分。

    此致、  

    Nick

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

    我要将该主题标记为已解决-如果您有其他问题、请发表评论、我们可以继续讨论。

    此致、
    Nick