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

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.lryc.cn/news/510863.html

相关文章:

  • 信息安全管理:运行管理checklist
  • Linux系统之stat命令的基本使用
  • 云手机+Facebook:让科技与娱乐完美结合
  • 为什么要在PHY芯片和RJ45网口中间加网络变压器
  • LeetCode 19:删除链表的倒数第N 个结点
  • RT-DETR融合[IJCV2024]LSKNet中的LSKBlock模块
  • C/C++ 数据结构与算法【树和森林】 树和森林 详细解析【日常学习,考研必备】带图+详细代码
  • 新浪微博大数据面试题及参考答案(数据开发和数据分析)
  • OpenHarmony怎么修改DPI密度值?RK3566鸿蒙开发板演示
  • SAP GUI Scripting - 如何判断组件是否存在
  • Go 计算Utf8字符串的长度 不要超过mysql字段的最大长度
  • llamafactory报错:双卡4090GPU,训练qwen2.5:7B、14B时报错GPU显存不足(out of memory),轻松搞定~~~
  • 全局webSocket 单个页面进行监听并移除单页面监听
  • JVM调优实践篇
  • 【JavaEE】Spring Web MVC
  • VSCode 插件开发实战(七):插件支持了哪些事件,以及如何利用和监听这些事件
  • 指针详解之 多层嵌套的关系
  • Animated Drawings:让纸上的角色动起来
  • 技术与教育的结合:高校听课评价系统的设计与实施
  • web移动端项目常用解决方案
  • LabVIEW软件项目设计方案如何制定
  • 数据结构(Java)——链表
  • 变量与数据类型 - 整型、浮点型、字符型等
  • MacOS安装Xcode(非App Store)
  • 运行Zr.Admin项目(后端)
  • Ubuntu24.04最新版本安装详细教程
  • js版本之ES6特性简述【Proxy、Reflect、Iterator、Generator】(五)
  • CSS实现一个自定义的滚动条
  • CKA认证 | Day8 K8s安全
  • 深度分析java 使用 proguard 如何解析混淆后的堆栈