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/AM5728:从 Linux 运行 PCIe RTOS 演示

Guru**** 2609945 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/654686/linux-am5728-running-pcie-rtos-demo-from-linux

器件型号:AM5728

工具/软件:Linux

您好!

TI、

我使用 CCS 测试了 PCIe_idkAM572x_wSoCFile_C66BiosExampleProject RTOS 演示。现在我想在 Linux 上运行。我应该遵循哪些步骤?

 以下是链接下面的一些参考资源。是否有其他步骤?您是否在 Linux 上运行过?

BR、

Vefone

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

    您好!

    TI、

    我已将 IPC 支持添加到 PCIe_idkAM572x_wSoCFile_C66BiosExampleProject RTOS 演示中。但当我将演示加载到 dsp1时、会出现一些问题。
    root@am57xx-EVM:~#[14766.482280] remoteproc2:加电40800000.dsp

    [14766.488738] remoteproc2:引导 FW 映像 dra7-dsp1-fw.xe66、大小5708180

    [14766.502512] OMAP-iommu 40d01000.MMU:40d01000.MMU:版本3.0

    [14766.508423] OMAP-iommu 40d02000.MMU:40d020.MMU:版本3.0

    [14766.514637] OMAP-rproc 40800000.dsp:dma_alloc_相干 错误:83886080

    [14766.521103] remoteproc2:无法处理资源:-12

    [14766.539862] remoteproc2:rproc_boot()失败-12

    [14766.544624] virtio_rpmsg_bus:virtio7的探测失败、错误-12

    [14766.551013] remoteproc2:registered virtio7 (类型7)

    由于 PCIe_idkAM572x_wSoCFile_C66BiosExampleProject RTOS 演示的 EXT_DATA 段大于64M2B、因此我必须像这样更改 RSC_Table_vayu_DSP.c 和 CONFIG.%ld 上的存储器分配:

    也可以修改 DTS 文件、如下所示:

    这方面是否有任何问题? 除链接外是否还有其他步骤:

    BR、

    Vefone

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

    该错误显示了针对大小为83886080 (0x5000000)的 Remoteproc 失败 dma_alloc_相干。 Linux 器件树仅保留0x4000000。 您可能需要增大该值并进行尝试。

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

    您好!

    Rex、

    我已将 dsp1_CMA_pool 的大小更改为 0x6000000、现在可以将其加载到 DSP 中、但它将出现 MMU 错误。我使用 CCS 调试它、发现 edmaInit 会导致它。

    root@am57xx-EVM:~#./dsp-ipc.sh 1.
    RM:无法删除'/lib/firmware/dra7-dsp1-fw.xe66:没有这样的文件或目录
    [167.428673] remoteproc0:发布了40800000.DSP
    [169.436650] OMAP-rproc 40800000.dsp:分配的保留存储器节点 dsp1_CMA@9b000000
    [169.444502] remoteproc0:40800000.dsp 可用
    [169.449397] remoteproc0:注意:remoteproc 仍在开发中,并被视为实验。
    [169.458437] remoteproc0:二进制格式尚未最终确定、并且尚不能保证向后兼容性。
    root@am57xx-EVM:~#[169.476003] remoteproc0:加电40800000.dsp
    [169.480833] remoteproc0:启动 FW 映像 dra7-dsp1-fw.xe66、大小为6174456
    [169.4944444] OMAP-iommu 40d01000.MMU:40d01000.MMU:版本3.0
    [169.500360] OMAP-iommu 40d020.MMU:40d020.MMU:版本3.0
    [169.571726] remoteproc0:远程处理器40800000.DSP 现已启动
    [169.578167] virtio_rpmsg_bus virtio4:rpmsg 主机处于联机状态
    [169.58375] remoteproc0:registered virtio4 (类型7)
    [169.606552] virtio_rpmsg_bus virtio4:创建通道 rpmsg-proto addr 0x3D
    [169.613655] OMAP-iommu 40d01000.MMU:IOMMU 故障:DA 0x43302400标志0x0
    [169.613659] remoteproc0:在40800000.dsp 中检测到崩溃:类型 mmufault
    [169.613665] OMAP-iommu 40d01000.MMU:40d01000.MMU:errs:0x00000002 da:0x43302400 PgD:0xeb1010cc * PgD:px00000000
    [169.638141] remoteproc0:处理40800000.dsp 中的 crash #1
    [169.647236] remoteproc0:正在恢复40800000.dsp
    [169.653001] NET:注册协议系列41.
    [169.686188] remoteproc0:已停止远程处理器40800000.dsp
    [169.700649] remoteproc0:为40800000.dsp 加电
    [169.706963] remoteproc0:引导 FW 映像 dra7-dsp1-fw.xe66、大小为6174456
    [169.720579] OMAP-iommu 40d01000.MMU:40d01000.MMU:版本3.0
    [169.726498] ommu 40d020.MMU:40d020.MMU:版本3.0
    [169.797899] remoteproc0:远程处理器40800000.DSP 现已启动
    [169.804345] virtio_rpmsg_bus virtio4:rpmsg 主机处于联机状态
    [169.809890] remoteproc0:registered virtio4 (类型7)
    [169.832713] virtio_rpmsg_bus virtio4:创建通道 rpmsg-proto addr 0x3D
    [169.839794] OMAP-iommu 40d01000.MMU:IOMMU 故障:DA 0x43302400标志0x0
    [169.839797] remoteproc0:在40800000.dsp 中检测到崩溃:类型 mmufault

    MMU 错误:

    e2e.ti.com/.../mmu-error.txt

    有什么建议吗?

    BR、

    Vefone

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

    您好!

    例如 、在 RSC_table_vayu_dsp.c 文件中添加 DSP 存储器映射后、就像(的一部分、不完整):

    #define L3_EDMA_TPCC_BASE 0x43300000
    #define DSP_EDMA_TPCC_BASE 0x43300000

    #define L3_PCIe_SS1_CONFIG_SPACE_BASE 0x20000000
    #define DSP_PCIe_SS1_CONFIG_SPACE_BASE 0x20000000

    #define L3_PCIe_SS1_CONFIG_REG_base 0x51000000
    #define DSP_PCIe_SS1_CONFIG_REG_base 0x51000000

    该演示在 Linux 中工作正常。

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

    很高兴听到您让它正常工作。 是的、Remoteproc 获取资源表条目并对 MMU 进行重新编程。
    我将把这个线程标记为已解决。

    雷克斯