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参考资料

Windows 示例驱动程序验证

本章定义并指定 Windows 示例驱动程序的测试。仅测试了经过精简的部分 EP 功能,以确保之前在 Linux 上测试的功能可在 Windows 上以类似方式运行。以下测试规范假定环境为 AM24_WIN。

测试

说明

测试以验证 Windows KMDF 驱动程序的功能。

执行:

  1. 通过在 Windows 设备管理器中搜索 ti-sample-kmdf 设备,验证是否已加载 pcie_enumerate_ep 示例 EP 的 Windows 驱动程序:
    AM6442
  2. 使用管理员权限打开命令提示符,并运行 ti-sample-console.exe 应用程序:
    AM6442
  3. 验证所有测试均已通过,并且没有出现如上所示的错误。
  4. 验证 EP 的 UART 上的输出是否与预期输出匹配,从而指示 DMA 测试、MSI 测试(发送 16 个不同的中断)和 BAR 测试完成:
AM6442

理由

ti-sample-console 应用程序调用 ti-sample-kmdf 驱动程序并执行以下测试步骤:

  • COPY 测试,其中 KMDF 驱动程序先前写入 EP Bar0 存储器的数据会正确发送回 Windows 主机的 DMA 缓冲区
  • MSI 测试,其中 EP 触发每个已启用的 MSI 向量(多消息使能)一次。KMDF 驱动程序在 EP 中触发此测试,并等待接收所有 MSI 向量。如果测试返回,则表示已接收所有配置的向量。此外,还会显示接收到的 MSI 向量的位掩码(例如,结果0000ffff 表示已经接收到向量 0-15)。
  • Bar1/2 测试,其中 KMDF 驱动程序用已知模式填充 EP 的 bar1 和 bar2,然后在 EP 中触发测试执行。EP 验证 Bar1 和 Bar2 中的已知模式,成功时会将 MSI 发送回 RC。如果测试返回,则验证成功。