PCIe 资料收集2
创始人
2024-06-02 22:39:42
0

文章目录

        • 感官认识
        • PCIe的存储空间
        • PCIe 在 linux 下的驱动
        • PCIe 验证
            • 1.PCIe 传递裸数据
            • 2.PCIe 转其他设备
        • PCIe转其他总线
            • RS232
            • USB
        • 从用户空间理解PCIe

感官认识

  • 总线协议接口 视频介绍
  • PCIe 视频介绍及PCIe文字介绍
PCIe上可以接各种控制器硬盘控制器+硬盘声卡控制器+音响咪头/耳机显卡USB控制器RS232

PCIe的存储空间

https://zhuanlan.zhihu.com/p/612366598
https://blog.csdn.net/yeiris/article/details/126633678
https://blog.csdn.net/yeiris/article/details/126694729
  • PCIe 控制器寄存器所在地址
	Memory Address Space访问方式:MMIO
  • PCIe 插槽上插入的设备的信息所在地址
	访问方式: 不同的 PCIe控制器对应的 驱动 中定义的 struct pci_ops 中的 read 和 write对于pci-j721e.c 来说 , 	是 readl 	和 writel对于x86相关的pcie来说? 	是 inl      和 outlConfiguration Address Space的大小为:256 Bytes/function x 8 functions/device x 32 devices/bus x 256 buses/system = 16MB。每个 function(256字节) 的空间分布每一个PCI功能(Function)都包含256个字节的配置空间(Configuration Space)前64个字节被称为HeaderPCI Spec规定了两种类型的Header:Type1 和 Type0Type0 Header表示该PCI设备功能  	不是桥Type1 Header表示该PCI设备功能      是桥(Bridge)后192个字节用于 function-specific
  • PCIe 插槽上插入的设备上的寄存器空间
BAR存储了大小和属性BAR寄存器在PCIe配置空间里面,一个PCIe设备
可能有若干个内部空间(最多6个)需要映射到主机memory地址空间,
设备出厂时,这些空间的大小和属性都写在

在这里插入图片描述

PCIe 在 linux 下的驱动

  • 【原创】Linux PCI驱动框架分析(一)

  • 【原创】Linux PCI驱动框架分析(二)

  • 【原创】Linux PCI驱动框架分析(三)

  • PCIe 专栏1

PCIe 验证

  • PCIe 2.0 验证
  • PCIe 与 AMBA 兼容
  • PCIe 总线
1.PCIe 传递裸数据

2.PCIe 转其他设备
如果转 xhci(USB3.0)
如果PCIe已经处理好BAR,那么在软件上
只需要 处理 xhci 的寄存器空间即可?

PCIe转其他总线

RS232
  • CH382
  • 代码
USB
  • VL805

  • VL805裸机

  • μPD720202K8

从用户空间理解PCIe

# lspci
00:00.0 PCI bridge: Texas Instruments Device b01000:00.0 表示含义为 :.bus number 		: 8bits 最多连接到 		256 	个bus
device number	: 6bits 最多连接到 		32	 	种装置
function number : 3bits 最多每种装置有 	8 		种功能
0100: 1000:0056 表示含义为 Class ID: Vendor ID Device ID

参数说明

查看所有pci设备
lspci
查看指定的pci设备信息(VID&PID)
lspci -s 02:03.0 -n
查看指定的pci设备信息(前64)
lspci -s 02:03.0 -x
查看指定的pci设备信息(前256)
lspci -s 02:03.0 -xxx
查看指定的pci设备信息(前4096)
lspci -s 02:03.0 -xxxx

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...