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

测试用例

测试

说明

进行测试以验证是否可以在 TMDS243EVM PCIe EP 中正确设置和配置所需的 PCIe 供应商 ID、器件 ID、子系统 ID 和子系统供应商 ID。

执行:

  1. 通过 SysConfig 配置所需的 ID 等等。
    1. 供应商 ID:0xAAAA
    2. 器件 ID:0xBBBB
    3. 子系统供应商 ID:0xCCCC
    4. 子系统 ID:0xDDDD
    AM6442
  2. 确定 PCIe EP 总线、器件和功能编号,并验证 Linux 终端中配置的 ID,等等。
    sudo lspci -vn -s 4:00.0
    AM6442

所需的 ID 按照 SysConfig 中的配置显示。

测试

说明

进行测试以验证是否可以在 PCIe EP 中正确设置和配置所需的 PCIe 类代码、子类代码、编程接口和修订 ID。

仅出于测试目的,基类代码需要设置为 Input device (09h),并将子类代码设置为 Gameport controller (10h),将编程接口设置为 10h。修订 ID 需要设置为 03h

有关上述参数编码的更多信息,请参阅 PCI-SIG 发布的 PCI 代码和 ID 分配规范

执行:

  1. 通过 SysConfig 配置所需的设置。
    1. 类代码:0x09
    2. 子类代码:0x04
    3. 编程接口:0x10
    4. 修订 ID:0x03
    AM6442
  2. 确定 PCIe EP 总线、器件和功能编号,并验证 Linux 终端中配置的设置,等等:
    sudo lspci -vnn -s 4:00.0
AM6442

所需的参数按照 SysConfig 中的配置显示。