Knowledge / 开发教程

零基础 FPGA 开发 DMA 固件

从零开始,带你打造属于自己的 PCIe DMA 控制系统。别再用别人改的"网卡固""显卡固""假定制"了。

本页目录
  1. 声明
  2. 课程大纲
  3. 附录

一、声明

⚠️

声明:DMA 设备主要用于提升硬件数据传输效率、释放 CPU 资源,适用于合规的计算、存储、多媒体处理等场景。本系列仅供学习研究,下载后 24 小时内自行删除。

二、课程大纲

  1. 第 1 章:前置准备与工具说明
    • 1.1 使用工具概述(Teledyne、常用工具、Vivado)
    • 1.2 文件结构和路径说明
    • 1.3 目标设备识别与配置目的
  2. 第 2 章:从 Teledyne 提取配置数据
    • 2.1 提取目标设备信息
    • 2.2 保存 tele 文件至本地
    • 2.3 使用 TLScan 工具转换配置数据格式
  3. 第 3 章:配置空间数据处理与校验
    • 3.1 重命名并粘贴转换文件(pcileech_cfgspace)
    • 3.2 高低位字节顺序转换说明(endianness)
    • 3.3 空值字段处理与修正(填 00000000)
    • 3.4 配置空间数据对比验证方法
  4. 第 4 章:修改源码中的 PCIe 配置信息
    • 4.1 打开源码路径与文件结构说明
    • 4.2 修改 Device/Vendor ID、Revision ID 等字段
    • 4.3 Class Code、Header Type、Capabilities Pointer 设置
    • 4.4 BAR 区域配置说明与小绿叶规则
  5. 第 5 章:生成并编译 DMA 固件
    • 5.1 打开 Vivado 工程
    • 5.2 配置 pcileech_pcie_cfg_a7 工程
    • 5.3 生成 Bitstream(点击生成 → Yes → OK)
    • 5.4 查看并获取固件输出文件位置
💡

附录:常见问题与调试 — 配置转换失败排查、Bitstream 生成失败原因、BAR 值判断逻辑小技巧。

↑