ZHCAE42 June   2024 AM6442

 

  1.   1
  2.   摘要
  3.   商标
  4. 1缩写
  5. 2引言
    1. 2.1 外设组件快速互连
      1. 2.1.1 PCIe 通信的元件
        1. 2.1.1.1 根复合体
        2. 2.1.1.2 中继器
        3. 2.1.1.3 端点
      2. 2.1.2 信号
        1. 2.1.2.1 PERST
        2. 2.1.2.2 WAKE 和 CLKREQ
        3. 2.1.2.3 REFCLK
      3. 2.1.3 PCIe 常见用途
      4. 2.1.4 PCIe 聚合吞吐量
    2. 2.2 AM64x 和 AM243x 上的 PCIe 特性
  6. 3x86 作为 RC,AM64x 作为 EP
    1. 3.1 硬件环境
    2. 3.2 软件环境
      1. 3.2.1 构建应用程序
      2. 3.2.2 用法
  7. 4测试设置
    1. 4.1 适用于 LINUX 和 WIN 的通用设置
    2. 4.2 Linux 驱动程序(VFIO)
      1. 4.2.1 先决条件
      2. 4.2.2 构建
      3. 4.2.3 部署
    3. 4.3 测试应用程序使用情况
    4. 4.4 LINUX PC 的设置步骤
      1. 4.4.1 UART 控制台输出
    5. 4.5 MSI 示例
    6. 4.6 Windows PC 的设置步骤
      1. 4.6.1 先决条件
      2. 4.6.2 构建
      3. 4.6.3 部署
  8. 5PCIe 测试规范
    1. 5.1  标识和配置功能
      1. 5.1.1 测试用例
    2. 5.2  基准时钟功能
    3. 5.3  入站 ATU 和 BAR 功能
    4. 5.4  出站 ATU 功能
    5. 5.5  MSI 功能
    6. 5.6  下行中断功能
    7. 5.7  器件电源管理状态功能
    8. 5.8  功能级复位机制
    9. 5.9  传统中断机制
    10. 5.10 MSI-X 功能
    11. 5.11 热复位机制
  9. 6Windows 示例驱动程序验证
  10. 7参考资料

适用于 LINUX 和 WIN 的通用设置

要将 TMDS243EVM/TMDS64EVM 用作 PCIe EP 以及基于 Linux 的 PCIe RC 或基于 Windows 的 RC 执行功能测试,需要执行以下测试设置:

  1. 在 TMDS243EVM 上执行硬件修改:
    1. 移除电阻器 R661、R662、R667 和 R668
    2. 组装 0Ω 电阻器 R665、R666、R679 和 R680
  2. 移除 TMDS243EVM 上的跳线 J34,因为我们既不希望 AM24x 驱动 PERST 信号(EP,这是输入),也不希望 x86 的 PERST 信号复位我们的处理器,因为我们希望在 x86 之前引导 AM24x,以确保满足启动和复位时序要求。
  3. 在基于 X86 Linux 的 RC 硬件的 BIOS 设置中启用 Intel 虚拟化技术以使用 IOMMU。
  4. 使用修改后的电缆 PCIE_FLEX_CLK 将 TMDS243EVM 与 X86_10TH 或 X86_ADLN 连接。
  5. 请注意,下图中用蓝色圆圈标明的零欧姆电阻器:
    AM6442 修改的 PCIE_FLEX_CLK 电缆图 4-1 修改的 PCIE_FLEX_CLK 电缆
  6. 通过 SD 卡使用 NULL SBL 来引导 TMDS243EVM。
  7. 使用串行终端仿真器程序 SER_TER 通过适用于 UART 的 FTDI USB 端口连接到 TMDS243EVM。
注: 串行连接旨在提供 PCIe EP 的各种状态消息,可用于如节 5节 6 中所述的测试验证

节 5 中所述的每项功能测试都需要修改 pcie_enumerate_ep 示例应用程序。这些修改在 Sysconfig 文件上或 CCS 上的源代码内执行。执行这些修改时,请继续执行以下测试设置:

  1. 更改 Sysconfig 文件或源代码时,保存文件并构建工程。
  2. 打开为特定目标设计的配置并与目标连接。在 TMDS243EVM 上执行系统复位,加载并运行 pcie_enumerate_ep 示例应用程序。
  3. 基于 X86 的引导 PCIe RC。
    注: PCIe EP 需要始终在 PCIe RC 硬件引导之前运行。
  4. 通过终端命令成功启动时执行测试验证,如节 5 中所述。