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-AM57X:/dev/rpmsg-dce 未实例化

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/845540/processor-sdk-am57x-dev-rpmsg-dce-not-instantiated

器件型号:PROCESSOR-SDK-AM57X

您好!

使用文档中给出的文件至文件视频编码流水线示例在 AM57x 处理器上测试 IVA-HD 时遇到问题:

gst-launch-1.0文件 rc location=Waterfall-352-288-nv12-inp.yUV! 视频粗宽度=352高度=288格式=nv12! VIDEO/x-RAW、宽度=352、高度=288! ducatih264enc! 文件链接位置=Waterfall-352-288-nv12-inp_gst.h264 
正在将管道设置为暂停...
MmRpc_create:错误:打开失败、name=/dev/rpmsg-dce
错误:管道不想暂停。
错误:来自元素/GstPipeline:流水 线0/GstDucatiH264Enc:ducatih264enc0:无法初始化支持库。
其他调试信息:
./../../../gst-plugins-base-1.14.4/gst-libs/gst/video/gstvideoencoder.c (1634):GST_VIDEO_ENCODER_CHANGE_STH ():/GstPipeline0/GstDucatiH264Enc:ducatih264enc0:
启动编码器失败
。/git/libdce.c:416:DCE_IPC_INIT 错误:失败 eError =MSP_Eok 错误-4:/git/libdce.c 发动机_打开 错误:失败的 DCE_IPC_init (coreIdx)== DCE_Eok 错误 val -4将流水线设置为 NULL ...
正在释放管道...

从我在 E2E 上的其他帖子中看到的内容来看、这源自/dev/rpmsg-dce、但不存在。 尽管我们的 rootfs 中存在 libdce1和 ipumm-FW,以及 IPU 似乎正在无误地初始化,但我们的文件系统也缺少该信息:

[ 0.000000]、共:保留内存:已初始化节点 ipu1-memory@95800000、兼容 id shareda-dma-pool
[0.000000]共:保留内存:已初始化节点 ipu2-memory@9b800000、兼容 id shareddma-dma-pool
[0.496765] iommu:添加设备5882000.ipu 至组1 [0.4920000.mu.ipu
:添加设备5820000.5820000.mu.ipu 至组[0.582008.128mu.pr-mu]
忽略对器件的依赖、假设没有驱动程序
[8.156225] OMAP-rproc 588IPU:忽略对器件的依赖、假设没有驱动程序
[8.176230] OMAP-rproc 5882000.IPU:分配的保留内存节点 ipu1-memory@95800000
[8.186541] remote0:5882000.IPU 可用于 OMAP-rproc
8.550935.pru.pru.pru.pru.pruP
忽略对设备的依赖,假设没有驱动程序
[8.222832] OMAP-r550254.IPU:分配的保留内存节点 ipu2-memory@9b800000
[8.281392] proc proc remoteproc 1:5502000.IPU 可用
[8.981164] remote20000 remoteproc 1:加电55020000.IPU
[8.987174] remote2e.pre2:remote2:remote200452.pru200 remote固 件
开机5882000.IPU
[9.061272] remoteproc remoteproc0:正在启动 FW 映像 dra7-ipu1-fw.xem4,大小为6803868
[9.182927] remoteproc remoteproc1:远程处理器5502000.IPU 现在已启动
[9.256599] 20000 teremoteproc0:远程处理器588IPC.IPU 现在已启动 

有什么建议吗?

谢谢、
Matt Mckee

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

    TI 的人员能否详细说明哪个封装管理/dev/rpmsg-dce?的实例化 我们的 tisdk-rootfs-image 包括 ipumm-FW 和 libdce1。 我们是否遗漏了任何东西? 我应该在 dmesg 中寻找任何东西吗?

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

    Matt、

    很抱歉耽误你的时间...我在内部升级。

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

    Matt、您好!

    使用 PSDK6.0时、我无法复制您的错误。 但是、从文件系统中删除"/lib/firmware/dra7-ipu2-fw.xem4后、我在 AM57EVM 上看到了相同的错误。 默认情况下、固件已安装在 TI 提供的文件系统中。 请参阅以下 主题、 了解如何通过 Yocto 构建 IPU 固件。

    此致、
    Krunal

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

    您好 Krunal、

    感谢您的回答。 通过它、我能够将问题与重新组织 Linux 器件树文件中的保留存储器块隔离开来。 我进行了这些更改、以更好地支持512MiB 的填充选项。 如果我更改 ipu2_memory_region 的位置、remoteproc 将成功加载 dra7-ipu2-fw.xem4、但/dev/rpmsg-dce 将不会实例化、并且 dmesg 中未报告任何错误。

    您能否帮助我确定需要在 ipumm-FW 软件包和/或源代码中修改哪些内容以支持迁移的 ipu2存储器区域? 您能否确认、如果移动了其他 IPU 或 DSP 固件的保留存储器区域、此问题是否会出现在这些固件中?

    谢谢、
    Matt Mckee

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

    您好、Matt、

    关于保留的存储器区域、您能否分享您对器件树文件所做的更改?  

    此致、
    Krunal

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

    您好 Krunal、

    我在存储器基址偏移(0x A000 0000)之后获取了512MiB、并为 Lisa 映射减去了16MiB (0x 100 0000)、并从此处对齐了存储器区域:

    1c1
    < ipu2_memory_region:ipu2-memory@95800000{
    -->
    ipu2_memory_region:ipu2-memory@9b800000{
    3c3
    <reg =<0x0 0x95800000 0x0 0x3800000>;
    
    -->reg =<0x0 0x9b800000
    
    @
    
    @00x9900000> d1000 MEMORY = 0x998000000–0xd1000 d1000 d1000 d1000–0xd1000 d1000 d1000–0xd1000 d1000 d1000–0xd1000 d1000–0xd1000 d1000–0xd1000 d1000 d1000 d1000–0xd1000 d1000–0xd1000 d1000 d1000–0xd1000 d1000–0xd1000 d1000 d1000–0xd1000–1–d1000 d1000 d1000–
    
    
    -
    >reg =<0x0 0x97800000 0x0 0x4000000>;
    15c15
    < ipu1_memory_region:ipu1-memory@9d000000{
    --
    > ipu1_memory_region:ipu1-memory@
    
    
    
    
    
    @95800000{17c17 < reg =<0x0 0x9d000000 0x0 0x200000000
    
    -> memory_region:0x958000000 = 0xd000- d2-dsp2;0xdsp2_demory_region = 0xd000- 0xdsp2;0xdsp0_dsp2_demory_d000- 0xdsp2 = 0xdsp2;dsp2 dsp2-memory@95000000{
    24c24
    <reg =<0x0 0x9f000000 0x0 0x800000>;
    -->
    reg =<0x0 0x95000000 0x0 0x800000>;
    28d27
    < 

    谢谢、
    Matt Mckee

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

    我现在已修改 ipumm-FW 文件平台/ti/dc/baseimage/custom_rsc_table_vayu_ipu.h 中的 IPU_MEM_IPC_DATA 和 phys_MEM_IPC_VRING、以匹配 DTS 文件中的 DSP2和 IPU2存储器区域更改。 Remoteproc 无法加载此新固件、并出现"remoteproc remoteproc1:错误的跟踪资源条目"错误。 似乎我可能需要在 ipumm-FW 中的其他位置进行更改、或者在用于构建 ipumm-FW 的其他 TI-RTOS 组件中进行更改。 我不确定接下来要在哪里挖掘、因此非常感谢您提出任何关于查看位置的建议。

    谢谢、
    Matt Mckee

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

    明白了。 我忽略了在 build/config.bld 中更新 IPU2存储器映射。 现在、/dev/rpmsg-dce 按预期显示。

    您能否确认我不需要在其他固件中进行更改以适应 DTS 存储器区域的更改? 现在、我们没有与 dsp1、ipu1和 dsp2相关的明显故障、但我们希望专家能提供意见。

    谢谢、
    Matt Mckee

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

    您好、Matt、

    您的更改是正确的。 config.bld、资源表和 DTS 是更新存储器映射时需要修改以匹配的三个文件。  

    以下资源可帮助您解释这一点、以供将来参考。

    http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_IPC.html#ipc-for-am57xx

    http://www.ti.com/lit/an/sprac60/sprac60.pdf

    此致、
    Sahin

x 出现错误。请重试或与管理员联系。