当前位置: 首页 > article >正文

FPGA的DMA应用——pcileech

硬件通过pcie总线,访存本机的内存,并进行修改,可以进行很多操作。

学习视频:乱讲DMA及TLP 1-pcileech项目简介和自定义模块介绍_哔哩哔哩_bilibili

vivado2024.1的下载文章链接和地址:AMD-Xilinx Vivado™ 2024.1 现已推出,可供下载-CSDN博客

百度网盘 请输入提取码

相关项目

pcileech-wifi:

GitHub - ekknod/pcileech-wifi: pcileech-fpga with wireless card emulation

可以让设备伪装成电脑上面的声卡网卡等pci设备

pcileech-wifi项目操作流程

进入目录

cd G:/FPGA_Learning/DMA_learning/dma_wifi/pcileech-wifi-main

source tcl

source vivado_generate_project_captain_75T.tcl

tcl是一个脚本文件。通过 source tcl,用户可以自动完成复杂且重复的流程,例如: 创建工程 添加源文件 配置约束 执行综合、实现和生成比特流。

项目中source 75tFPGA的TCL脚本。

source了之后,发现工程不完整,出了问题,所以需要下载一个新的vivado2024.1,用来执行项目。

创建并进入工程如图

代码整体逻辑解析

top解析

顶层下面包含3个子模块。

其中第一个子模块  pcileech_com  主要作用是usb数据交互和包缓存

第二子模块pcileech_fifo,解析USB的命令包并发送到不同的处理子模块进行进一步处理

第三个子模块  pcileech_pcie_a7,是pcie的处理模块,包含了pcie的配置逻辑,各种tlp包的处理逻辑以及设备伪造逻辑等等

pcie子模块

pcileech_pcie_cfg_a7模块用来配置pcie的IP核。

pcileech_pcie_tlp_a7模块包含各种tlp包的处理逻辑以及设备伪造,也就是tlp仿真逻辑。


http://www.kler.cn/a/453633.html

相关文章:

  • 不同音频振幅dBFS计算方法
  • fisco bcosV3 Table智能合约开发
  • STM32裸机开发转FreeRTOS教程
  • Servlet与JSP:Java的秘密花园入口
  • 线程并发下的单例模式
  • springboot使用Easy Excel导出列表数据为Excel
  • 路由器转发数据报的封装过程
  • 【合作原创】使用Termux搭建可以使用的生产力环境(八)
  • docker-compose的安装,使用教程及使用yaml搭建个人博客
  • 大模型(LLM)提示工程(Prompt Engineering)初识
  • Mac电脑移动端抓包
  • 图解设计模式
  • 【Rust自学】5.3. struct的方法(Method)
  • Type-C单口便携显示器LDR6021
  • 金属衬底介质片对平面波的反射-问题的解析求解和FEM求解
  • 自然语言处理基础
  • Git的.gitignore文件详解与常见用法
  • 新世纪的语言智能:GPT-5技术革新与市场前景展望
  • Vue2:v-for创建echart图表时不能使用动态ref,要使用动态id
  • python EEGPT报错:Cannot cast ufunc ‘clip‘ output from dtype(‘float64‘)
  • Go语言的defer原理
  • 【c语言】字符串与字符数组
  • spring cloud gateway 3
  • Elasticsearch-索引的批量操作
  • CentOS上安装和卸载Docker
  • UE5.3接入电脑USB摄像头实时预览画面