Knowledge / 开发教程
零基础 FPGA 开发 DMA 固件
从零开始,带你打造属于自己的 PCIe DMA 控制系统。别再用别人改的"网卡固""显卡固""假定制"了。
一、声明
声明:DMA 设备主要用于提升硬件数据传输效率、释放 CPU 资源,适用于合规的计算、存储、多媒体处理等场景。本系列仅供学习研究,下载后 24 小时内自行删除。
二、课程大纲
-
第 1 章:前置准备与工具说明
- 1.1 使用工具概述(Teledyne、常用工具、Vivado)
- 1.2 文件结构和路径说明
- 1.3 目标设备识别与配置目的
-
第 2 章:从 Teledyne 提取配置数据
- 2.1 提取目标设备信息
- 2.2 保存 tele 文件至本地
- 2.3 使用 TLScan 工具转换配置数据格式
-
第 3 章:配置空间数据处理与校验
- 3.1 重命名并粘贴转换文件(pcileech_cfgspace)
- 3.2 高低位字节顺序转换说明(endianness)
- 3.3 空值字段处理与修正(填 00000000)
- 3.4 配置空间数据对比验证方法
-
第 4 章:修改源码中的 PCIe 配置信息
- 4.1 打开源码路径与文件结构说明
- 4.2 修改 Device/Vendor ID、Revision ID 等字段
- 4.3 Class Code、Header Type、Capabilities Pointer 设置
- 4.4 BAR 区域配置说明与小绿叶规则
-
第 5 章:生成并编译 DMA 固件
- 5.1 打开 Vivado 工程
- 5.2 配置 pcileech_pcie_cfg_a7 工程
- 5.3 生成 Bitstream(点击生成 → Yes → OK)
- 5.4 查看并获取固件输出文件位置
三、附录:常见问题
常见问题与调试:配置转换失败排查、Bitstream 生成失败原因、BAR 值判断逻辑小技巧。