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.

[参考译文] SDK/AM5749:如何在内核加载期间将 Remoteproc 设置为暂停/脱机/运行?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/963692/sdk-am5749-how-to-set-remoteproc-as-suspended-offline-running-during-kernel-loading

主题中讨论的其他器件:PRUCAPE

大家好、TI 专家、

   am574x_IDK 附带8个 Remoteproc。
   如何在内核加载期间将 Remoteproc 设置为暂停/脱机/运行?

   例如、我使用 PRU_2_0 (remoteproc4)编程了一个用于使 LED 闪烁的代码。
   如何在内核加载期间将 remoteproc4设置为暂停/脱机/运行?
   
此致、
很棒的酒店

//--currently status。

root@am57xx-EVM:~# cat /sys/class/remoteproc/remoteproc0/state
暂停
root@am57xx-EVM:~# cat /sys/class/remoteproc/remoteproc1/state
暂停
root@am57xx-EVM:~# cat /sys/class/remoteproc/remoteproc2/state
暂停
root@am57xx-EVM:~# cat /sys/class/remoteproc/remoteproc3/state
暂停
root@am57xx-EVM:~# cat /sys/class/remoteproc/remoteproc4/state
离线
root@am57xx-EVM:~# cat /sys/class/remoteproc/remoteproc5/state
离线
root@am57xx-EVM:~# cat /sys/class/remoteproc/remoteproc6/state
运行
root@am57xx-EVM:~# cat /sys/class/remoteproc/remoteproc7/state
运行

root@am57xx-EVM:~# dmesg | grep remoteproc0
[11.782331]  remoteproc remoteproc0:588200.IPU 可用
[12.531981]  remoteproc remoteproc0:为588200.IPU 加电
[12.537775]  remoteproc remoteproc0:引导 FW 映像 dra7-ipu1-fw.xem4、大小为6887428
[12.586266]  remoteproc remoteproc0:注册的 virtio0 (类型7)
[12.595014]  remoteproc remoteproc0:远程处理器588200.IPU 现已启动
root@am57xx-EVM:~# dmesg | grep remoteproc1
[11.878213]  remoteproc remoteproc1:5502000.IPU 可用
[12.505659]  remoteproc remoteproc1:加电5502000.IPU
[12.511592]  remoteproc remoteproc1:引导 FW 映像 dra7-ipu2-fw.xem4、大小为3747220
[12.746720]  remoteproc remoteproc1:registered virtio1 (类型7)
[12.752683]  remoteproc remoteproc1:远程处理器5502000.IPU 现已启动
root@am57xx-EVM:~# dmesg | grep remoteproc2
[12.021905]  remoteproc remoteproc2:提供40800000.dsp
[14.525476]  removeproc remoteproc2:为40800000.dsp 加电
[14.549817]  remoteproc remoteproc2:引导 FW 映像 dra7-dsp1-fw.xe66、大小为20482288
[14.590390]  remoteproc remoteproc2:registered virtio2 (类型7)
[14.597479]  remoteproc remoteproc2:远程处理器40800000.dsp 现已启动
root@am57xx-EVM:~# dmesg | grep remoteproc3
[12.148035]  remoteproc remoteproc3:41000000.dsp 现已推出
[14.782259]  remoteproc remoteproc3:为41000000.dsp 加电
[14.793545]  remoteproc remoteproc3:引导 FW 映像 dra7-dsp2-fw.xe66、大小为20482288
[15.081639]  remoteproc remoteproc3:注册的 virtio3 (类型7)
[15.101674]  remoteproc remoteproc3:远程处理器41000000.dsp 现已启动
root@am57xx-EVM:~# dmesg | grep remoteproc4
[15.438956]  removeproc remoteproc4:4b234000.PRU 可用
root@am57xx-EVM:~# dmesg | grep remoteproc5
[15.514671]  remoteproc remoteproc5:提供4b238000.PRU
root@am57xx-EVM:~# dmesg | grep remoteproc6
[15.567085]  remoteproc remoteproc6:提供4b2b4000.PRU
[18.116982]  remoteproc remoteproc6:为4b2b4000.pru 加电
[18.133503]  remoteproc remoteproc6:引导 FW 映像 ti-pruss/am57xx-pru0-prueth-fw.elf、大小7228
[18.188381]  Remoteproc Remoteproc6:远程处理器4b2b4000.PRU 现已启动
root@am57xx-EVM:~# dmesg | grep remoteproc 7
[15.626588]  remoteproc remoteproc7:提供4b2b8000.pru
[17.933163]  remoteproc remoteproc7:为4b2b8000.pru 加电
[17.958906]  remoteproc remoteproc 7:引导 FW 映像 ti-pruss/am57xx-pru1-prueth-fw.elf、大小7256
[18.016665]  remoteproc remoteproc7:远程处理器4b2b8000.pru 现已启动


//--
板:am574x_IDK TMDSIDK5749修订版1.0C

root@am57xx-EVM:~ uname -ar
Linux am57xx-EVM 4.19.94-gbe5389fd85 #1 SMP 抢占 Sun A04 19 02:36:36 UTC 2020 armv7l GNU/Linux

根目录@am57xx-EVM:~#/usr/share/ti/examples/opencl/platforms/platforms   
[198.396103] OMAP-iommu 588820.MMU:588820.MMU:版本2.1
[198.434292] OMAP-IMU 41501000.MMU:41501000.MMU:版本3.0
[198.440224] OMAP-IMU 41500.MMU:41500.MMU:版本3.0
[198.447143] OMAP-iommu 40d01000.MMU:40d01000.MMU:版本3.0
[198.453038] OMAP-iommu 40d020.MMU:40d020.MMU:版本3.0
平台:TI AM57x
 版本:OpenCL 1.2 TI 产品版本01.02.00.02 (b1dfed9)
 供应商:Texas Instruments、Inc.
 配置文件:full_profile
   器件:TI 多核 C66 DSP
     键入      :Accelerator | custom
     单位 :2.
     频率 :0.75 GHz
     GLB 内存   : 360448 KB
     GlbExt1内存:      0KB
     GlbExt2内存:      0KB
     MSMC 内存  :   1024KB
     LOC 内存   :    128 KB
     最大分配 数: 344064 KB
   器件:TI 嵌入式视觉引擎(EVE)
     键入      :custom
     单位 :1.
     频率 :0.65GHz
     GLB 内存   : 360448 KB
     LOC 内存   :      0KB
     最大分配 数: 344064 KB
   器件:TI 嵌入式视觉引擎(EVE)
     键入      :custom
     单位 :1.
     频率 :0.65GHz
     GLB 内存   : 360448 KB
     LOC 内存   :      0KB
     最大分配 数: 344064 KB

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

    SDK 版本?

    此致

    葡萄园

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

    您好、Vineet:

    SD 卡由 ti-processor-sdk-linux-am57xx-evm-06.03.00.106-linux-x86-64安装.bin 创建。

    此致

    很棒的酒店

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

    您好、 Greatcat、

    很抱歉、我对这个问题的理解不正确。  

    我可以通过以下命令设置状态运行时间:

    回波开始>/sys/class/remoteproc/remoteproc4/state
    [175.052008] remoteproc remoteproc4:为4b234000.PRU 加电
    [175.066882] remoteproc remoteproc4:引导 FW 映像 am57xx-pru1_0-FW、大小为77812
    [175.074860] prusss 4b200000.prusss:已配置 system_events[63-0]= 00000000、00030000
    [175.08269] prusss 4b200000.pruss: Configured intr 通道= 0x00000005 host_intr = 0x00000005
    [175.092117] virtio_rpmsg_bus virtio3:rpmsg 主机处于联机状态
    [175.092162] virtio_rpmsg_bus virtio3:创建通道 rpmsg-PRU addr 0x1E
    [175.105209] remoteproc remoteproc4:registered virtio3 (类型7)
    [175.112545] remoteproc remoteproc4:远程处理器4b234000.PRU 现已启动
    root@am57xx-EVM:~#[175.125419] rpmsg_PRU virtio3.rpmsg-PRU。-1.30:新的 rpmsg_PRU 器件:/dev/rpmsg_pru30

    root@am57xx-EVM:~#
    root@am57xx-EVM:~# cat /sys/class/remoteproc/remoteproc4/state
    运行

    这是你想要的吗?

    此致、
    基尔西

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

    您好、Keerty:

    您的方法是在登录后启动 remoteproc4。
    我想在登录前而不是登录后启动 remoteproc4。

    例如,远程进程0在引导期间启动。 登录前。
    [12.595014]  remoteproc remoteproc0:远程处理器588200.IPU 现已启动

    我想这么做。 但我无法找到如何实现它。

    此致、
    很棒的酒店

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

    您好、Keerty:

    一分钟前、我注意到第一个帖子中有一些延迟的时间戳。
    我想、可能会让您感到困惑。

    我试图找出原因。
    AM574x_IDK 通常在13个条件下完成引导。
    但有时它停留在这里:
    [3.650611]     未找到声卡。
    [12.565125]  EXT4-FS (mmcblk0p2):恢复完成

    此致、
    很棒的酒店

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

    您好、Keerty:

    顺便说一下、我共享一些 PRU 代码。
    也许其他人需要这些来测试 am574x IDK 上的 PRU:)

    它们在 am574x IDK 上以红色 LED #0 ~#3闪烁。
    它们可与 Remoteproc4 (PRU#1_0)或 remoteproc5配合使用。(PRU#1_0)

    此致、
    很棒的酒店
    e2e.ti.com/.../pru_5F00_blink_5F00_LED_5F00_ctrl_5F00_arm_5F00_core.tar

    e2e.ti.com/.../pru_5F00_build_5F00_guide.txt

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

    e2e.ti.com/.../PRU_5F00_LED0R_5F00_GPIO6.19.tar

    e2e.ti.com/.../PRU_5F00_LED1R_5F00_GPIO6.7.tar

    e2e.ti.com/.../PRU_5F00_LED2R_5F00_GPIO7.9.tar

    e2e.ti.com/.../PRU_5F00_LED3R_5F00_GPIO7.11.tar

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

    您好、Greatcat、

    我找到了为什么加载 pru2_0和 pru2_1、但不加载 pru1_0和 pru1_1。
    即,remoteproc4/5未启动,但 remoteproc6/7已启动。

    这是因为 pruss2_eth 在"arch/arm/boot/dts/am57xx-idk-common.dtsi"下需要 pru2_0和 pru2_1。  

    pruss2_eth:pruss2_eth{
    compatible ="ti,am57-prueth";
    prus =<&pru2_0>、<&pru2_1>; 

    这些实例将会启动。

    现在 arch/arm/boot/dts/am57xx-idk-common.dtsi 中没有这样的 pruss1_eth 实例。

    因此,在您明确给出命令之前,不会启动 remoteproc4/5。

    我想知道在 rproc_boot 中添加了 warn_on (1)。 日志: https://pastebin.ubuntu.com/p/tqppbfxb4M/

    第953行:[14.794671][ ](rproc_boot [remoteproc])、来自[ ](emac_ne_open+0xfac/0x2030 [ti_prueth])

    用于 prueth2的 EMAC_ne_open 结束加载并启动 pru2_0和 pru2_1。

    希望这能解答您的问题。

    如果您的问题得到解答、请解决此问题。

    此致、
    基尔西

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

    您好、Greatcat、

    我建议使用 PRU 代码问题创建一个新 TT、以便将其分配给相关专家。

    此致、
    基尔西

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

    您好、Keerty:

    感谢您的建议和回答。
    我买了"PRUCAPE"和"BeagleBone black"、他们昨天就到了。
    "PRUCAPE"附带了清晰而良好的示例。
    它解决了我对 am574x_IDK 的很多问题。

    此致、
    很棒的酒店

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

    您好、Greatcat、

    太棒了! 我要关闭此主题。

    此致、
    基尔西