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.

[参考译文] AM2432:如何设置64位地址 PCIe 入站?

Guru**** 2465890 points
Other Parts Discussed in Thread: AM2432, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1449237/am2432-how-to-set-64-bit-address-pcie-inbound

器件型号:AM2432
主题中讨论的其他器件: SysConfig

工具与软件:

您好!

我的客户想知道如何为 PCIe 出站设置64位配置。

通常、PCIe 地址转换有六个"bar"(索引=0至5)、一个"bar"是32位、因此可以使用两个连续条来访问64位 PCIe 地址空间。 对于64位访问、使用 BAR0和 BAR1、BAR2和 BAR3或 BAR4和 BAR5的组合。

客户希望通过在不使用 SYSCFG 工具的情况下直接配置"BAR"来从 AM243x 访问 PCIe 64位地址空间、但不了解如何设置 BAR0和 BAR1。

你能告诉他们吗?

它们使用的是 MCU+ SDK 9.02。

 

具体来说、PCIe 驱动程序使用"PCIe Pcie_Ob AtuCfg"结构来设置它。

由于在访问 PCIe 32位地址空间的情况下仅使用 BAR0、

如果按如下所示进行设置、

目标 PCIe 地址= 0x7000_0000

reginWindowSize = 0x3FF_FFFF

然后、

" Pcie_Ob AtuCfg"结构将只有一个阵列成员、如下所示。

  

 

另一方面、他们认为在访问 PCIe 64位地址空间的情况下必须使用 BAR0和 BAR1的2个。

目标 PCIe 地址= 0x0006_7000_0000

ReginWindowSize = 0x3FF_FFFF

输入、然后

他们是否应该设置结构" Pcie_Ob AtuCfg"的两个数组成员?

例如以下所示

  

 

 

或者、设置 BAR0时是否自动设置并使用 BAR1?

 

但是、当他们尝试仅设置 BAR0时、它似乎是32位 PCIe 地址。

 

谢谢。此致、

英明

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

    你好、英明 

    感谢您的提问。

    我会检查一下、然后回复给您。

    此致

    Ashwani

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

    尊敬的 Ashwani:

    感谢您对此进行检查。 如有任何更新、请告知我们。 我们在等它。

    谢谢。此致、

    英明

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

    你好、英明、

    您能帮助我进行设置吗?

    没错

    双电路板(AM243x-EVM-RTOS)设置

    或者

    x86作为 RC <=> AM243x (RTOS)作为 EP?

    此致

    Ashwani

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

    尊敬的 Ashwani:

    它采用2板(AM243x-EVM-RTOS)设置。

    此致、

    英明

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

    尊敬的 Ashwani:

    抱歉、我要修改两点。

    他们的环境最近发生了变化。 他们现在使用以下设置评估 AM2432。  

    SoC 作为 RC <=>AM243x-EVM (无 RTOS)作为 EP  

    此外,他们想要改变这个线程的主题"如何设置64位地址 PCIe 出站入站" .

    他们想知道 如何为具有64位地址的入站配置 PCIe、以便在 EP 模式下正常工作。

    谢谢。此致、
    英明

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

    目前、MCU-SDK 中不支持该功能。

    只是一个输入、您可以尝试使用如下所示的 SysConfig 并查看生成的代码。

    他们想知道 如何为具有64位地址的入站 PCIe 配置才能在 EP 模式下正常工作。

    我们没有针对此用例的测试。

    此致

    Ashwani

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

    尊敬的 Ashwani:

    感谢您的回答。 实际上、由于出现错误"INVALID BAR CONFIG for EP MODE"、他们无法使用 SysConfig 设置64位条形图。

    这就是他们想要在没有 SysConfig 的情况下配置 bar 的原因。

    [quote userid="10509" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1449237/am2432-how-to-set-64-bit-address-pcie-inbound 客户想要通过在没有 SYSCFG 工具的情况下直接配置"BAR"来从 AM243x 访问 PCIe 64位地址空间、但不明白如何设置 BAR0和 BAR1。

    您能否教他们如何在没有 SysConfig 的情况下配置 bar?

    谢谢。此致、
    英明

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

    尊敬的 Ashwani:

    新年快乐! 我是否可以对此作出任何回应?

    谢谢。此致、
    英明

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

    你好、英明、

    我的设置中的问题无法重现。

    如果我们可以离线讨论以在我的设置中重现问题、请告诉我吗?

    此致

    Ashwani

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

    您好、Hideaki、

    [报价 userid="1059" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1449237/am2432-how-to-set-64-bit-address-pcie-inbound "]他们使用的是 MCU+ SDK 9.02.

    您知道他们是否在使用 MCU+ SDK 09.02.00.50或09.02.01.05?

    09.02.01.05中的 PCIe EP 驱动程序已发生更改、应确保此正常工作。

    https://www.ti.com/lit/an/spradh9/spradh9.pdf 第5.3章"入站 ATU"和"bar 功能"所示、这项测试正在进行中。

    此致、

    Dominic

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

    您好、Dominic:

    感谢您的回复、很抱歉我的回复延迟。

    您知道他们是否使用的是 MCU+ SDK 09.02.00.50还是09.02.01.05?

    是的、他们同时尝试09.02.00.50和09.02.01.05。

    您能在下面回答他们的问题吗?

    [报价 userid="1059" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1449237/am2432-how-to-set-64-bit-address-pcie-inbound/5573732 #5573732"]感谢您的回答。 实际上、他们无法使用 SysConfig 设置64位条形码、因为出现错误" EP 模式的条形码配置无效"。

    谢谢。此致、

    英明

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

    您好、Dominic:

    我可以收到任何回复吗?

    此致、

    英明

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

    您好、Hideaki、

    该错误信息是来自09.02.00.50还是来自09.02.01.05?

    对于09.02.00.50、这不起作用。 下面的代码会在配置64位条且 PCIe 处于端点模式时简单地输出 erorr 消息:

        else if (inst.$ownedBy.operMode == "PCIE_EP_MODE") {
            if(inst.barConfig == "PCIE_BARC_64B_MEM_BAR_NON_PREFETCH" || inst.barConfig == "PCIE_BARC_64B_MEM_BAR_PREFETCH")
            {
                report.logError("Invalid BAR config for EP mode", inst, "barConfig");
            }
        }

    使用09.02.01.05应该可以工作、如应用手册中所示。

    您能让他们用09.02.01.05重试吗?

    此致、

    Dominic