C2H 流程示例 - 4.1 简体中文

DMA/Bridge Subsystem for PCI Express 产品指南 (PG195)

Document ID
PG195
Release Date
2023-11-24
Version
4.1 简体中文

在 C2H 流程示例中,loaddriver.sh 会为所有可用通道加载器件。dma_from_device 用户程序用于将数据从卡传输到主机。

C2H 流程示例顺序如下:
  1. 打开器件 C2H 并初始化 DMA。
  2. 用户程序会分配缓冲器指针(基于大小)、将该指针传递到具有特定器件 (C2H) 和数据大小的读取函数。
  3. 驱动程序会基于大小创建描述符,并使用描述符起始地址初始化 DMA。并且如果存在相邻描述符,
  4. 驱动程序会写入控制寄存器,以启动 DMA 传输。
  5. DMA 会从主机读取描述符,并开始处理每个描述符。
  6. DMA 会从卡提取数据并将此数据发送到主机。基于设置完成所有数据的传输后,DMA 会向主机生成中断。
  7. ISR 驱动程序会处理中断以确定正在发送中断的引擎,并检查状态以查看是否存在任何错误以及已处理的描述符数量。
  8. 状态正常后,驱动会将传输字节长度返回至用户侧,以便在用户侧执行相同的检查。