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.

[参考译文] AM5728:PCIe 访问错误

Guru**** 2589280 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/636389/am5728-pcie-access-error

器件型号:AM5728

尊敬的香榭丽舍

我的客户在 DSP 初始化 PCIe 时发现以下错误、您能否检查以下错误是什么以及如何解决该错误?

实际上、他们在尝试访问 DSP 中的 PCIe 时遇到了与 ARM 的冲突、并删除了 ARM Linux-RT 中与 PCIe 相关的所有内容、如下面的 e2e 中所述。 他们认为他们的问题已在 ARM Linux 中通过这些删除工作得到解决、但在尝试测试更多内容时、他们有时会发现上述错误。

其软件信息如下所示。

主机 PC 操作系统:Ubuntu 16.04 Linux 64位

AM5728 SDK:U-boot-2016.05 / Linux-RT-4.4.19

AM5728 SDK 版本:TI-processor-sdk-linux-rt-am57xx-evm-03.01.00.06

IPC:IPC_3_43_02_04

XDC:xdctools_3_32_00_06_core

谢谢、此致、

SI

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

    该错误来自 L3_INTERRUPT_Handler(),它似乎是由 DSP1通过 MDMA 接口处理 L4_CFG 引起的。 我怀疑它是 DSP 使用的存储器、仍受 ARM MMU 保护。 您可能需要在 DSP 资源表中配置 PCIe 使用的区域。 我将请 DSP 工程师仔细研究这个。

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

    您能否确认:如果您在 Linux 内核/DTS 中禁用了 PCIe? 您使用 P-SDK RTOS PCIe 示例代码在 DSP 端进行 PCIe 初始化吗? 您是否使用 IPC 从 Linux 端下载 DSP 代码?

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

    是的。 他们在 Linux 内核和 DTS 中禁用了 PCIe、并使用 PDK PCIe 示例在 DSP 上进行 PCIe 初始化。

    他们使用 Linux 中的 Remote Proc 驱动程序下载 DSP 代码。

    谢谢、此致、
    SI

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

    感谢您提供的信息! 然后、他们需要 IPC 资源表: processors.wiki.ti.com/.../IPC_Resource_customTable 来构建到 DSP 端代码中。 他们有这个吗?

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

    尊敬的 Eric:

    是的。 它们具有 IPC 资源表、并按如下方式附加。

    您能否查看他们的 IPC 资源表?

    e2e.ti.com/.../0020.rsc_5F00_table_5F00_vayu_5F00_dsp.h

    谢谢、此致、

    SI

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

    您是否已查看此 IPC 资源表?
    是否应该检查其他事项以解决此问题?

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

    访问 L3主系统0x4400_0000时出错。 他们创建的资源表没有此类 L3_main 条目。 他们可以重复检查和添加吗?

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

    我正在推动客户添加 L3_main 条目并再次进行测试、但他们希望检查/了解这是否是正确的方法。
    而且、在修改之前、他们没有看到这个问题、他们从 ARM 中删除了所有相关内容、并想知道当时没有发生这个问题的原因。
    请告诉我您对此的想法吗?


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

    从 Linux 器件树中移除 PCIe 后、PCIe 时钟、配置和数据空间访问受 MMU 保护。

    现在 PCIe 初始化由 DSP 端完成、DSP 代码将设置 PLL 时钟、PCIe 配置寄存器和数据存储器。 在资源表中、我看到 PCIe 配置和数据空间清晰地映射。 请检查 TI RTOS PCIe 驱动程序下的 PCIe_sample_board.c、以确保 PLL 设置使用的地址也映射到资源表中(SOC_L3INIT_CM_CORE_BASE、SOC_OCP2SCP3_base 等)。 也许、您可以首先下载虚拟 DSP 映像、以确保没有此类4400000。OCP 访问冲突。 然后、添加 PCIe PLL 代码、以查看是否发生了访问冲突。 如果是,请添加该条目以进行修复。

    PCIe 无法访问44000000地址、我在早期错误地添加了44000000条目、抱歉!

    此致、Eric