PCIE
文章平均质量分 67
dahailinan
这个作者很懒,什么都没留下…
展开
-
Linux中的地址空间以及I/O地址空间
地址空间实现与cpu的体系结构有很大的关系,目前以应用最广的的80X86体系结构来论述这块的技术文档较多。这里也以此为基础。根据《深入理解linux内核》所述,内存地址分为以下三种:逻辑地址(Logical Address) 包含在机器语言指令中用来指定一个操作数或一条指令的地址。这种寻址方式在80x86著名的分段结构中表现得尤为具体,它促使windows程序员把程序分成若干段。每个逻辑地址都由一个段和偏移量组成,偏移量指明了从段开始的地方到实际地址之间的距离。线性地址(lin...转载 2020-12-30 15:54:23 · 1022 阅读 · 0 评论 -
linux驱动之DMA
转载自:https://www.jianshu.com/p/e1b622234d13一、前言在 嵌入式Linux 的内核及驱动中,DMA 常常被人提起。我们也许清楚它的原理且很明白它非常重要,但在某种程度上,对于 DMA 的使用者来说,我们一般使用其接口,而很少去了解整个 DMA 的运作方式。那么本文就从头到尾,简单地说一下 DMA 吧注意:本文对DMA的概念不做讲述,请各位读者自行了解DMA的概念。二、正文2.1 高端内存2.1.1 内核虚拟内存在了解 DMA 之前,我们需要先了解转载 2020-12-29 13:55:35 · 6423 阅读 · 0 评论 -
linux设备驱动之PCIE驱动开发
PCIE(PCI Express)是INTEL提出的新一代的总线接口,目前普及的PCIE 3.0的传输速率为8GT/s,下一代PCIE 4.0将翻番为16GT/S,因为传输速率快广泛应用于数据中心、云计算、人工智能、机器学习、视觉计算、显卡、存储和网络等领域。PCIE插槽是可以向下兼容的,比如PCIE 1X接口可以插4X、8X、16X的插槽上。实现基本的PCIE驱动程序,实现以下模块:初始化设备、设备打开、数据读写和控制、中断处理、设备释放、设备卸载。本程序适合PCIE驱动开发通用调试的基本框架,对转载 2020-12-28 10:12:23 · 1525 阅读 · 0 评论 -
PCI驱动框架简单分析
一、PCI 概念介绍 PCI是CPU和外围设备通信的高速传输总线。PCI规范能够实现32位并行数据传输,工作频率为 33MHz 或 66MHz ,最大吞吐率高达266MB/s,PCI的衍生物包括 CardBus、mini-PCI、PCI-Express、cPCI等。 PCI总线体系结构是一种层次式的体系结构。在这种层次体系结构中,PCI桥设备占据着重要的地位,它将父总线与子总线连接在一起,从而使整个系统看起来像一个倒置的树状结构,树的顶端是CPU,它通过一个较为特殊的CPI桥设备-Hos...转载 2020-12-28 10:10:23 · 596 阅读 · 0 评论 -
Linux下I/O资源管理(原理)
下图为示意图,读者可以参考该图来阅读代码。个人认为对Linux下I/O资源的管理如掌握__request_region函数就能掌握其精髓。Linux下对I/O资源主要用结构体resource来管理,管理的方法就是用resource来描述使用的I/O资源的状态,并将这些resource用如下两个resource作为表头按地址大小的顺序链接起来。struct resource ioport_resource = {.name = "PCI IO",.start = 0,.end = .转载 2020-12-25 16:57:42 · 538 阅读 · 0 评论 -
图解PCIE原理(从软件角度)
1 PCIE基本概念1.1 PCIE拓扑架构图1.2 PCIE Switch内部结构图1.3 PCIE协议结构图2 PCIE枚举原理2.1 Type0&Type1配置头空间2.2 拓扑示例连接Device0的端口设为Port0,连接Device1的端口设为Port1 (Port可以看作PCI Bridge)2.3 枚举过程Port0、Port1的相关Bus Register变化过程如...转载 2021-11-11 10:54:17 · 2065 阅读 · 0 评论 -
深入PCI与PCIe之二:软件篇
PCI/PCIe软件界面1。配置空间PCI spec规定了PCI设备必须提供的单独地址空间:配置空间(configuration space),前64个字节(其地址范围为0x00~0x3F)是所有PCI设备必须支持的(有不少简单的设备也仅支持这些),此外PCI/PCI-X还扩展了0x40~0xFF这段配置空间,在这段空间主要存放一些与MSI或者MSI-X中断机制和电源管理相关的Capability结构。前文提到过,PCI配置空间和内存空间是分离的,那么如何访问这段空间呢?我们首先要对所有的PCI转载 2020-12-25 11:40:04 · 721 阅读 · 0 评论 -
深入PCI与PCIe之一:硬件篇
PCI总线和设备树是X86硬件体系内很重要的组成部分,几乎所有的外围硬件都以这样或那样的形式连接到PCI设备树上。虽然Intel为了方便各种IP的接入而提出IOSF总线,但是其主体接口(primary interface)还依然是PCIe形式。我们下面分成两部分介绍PCI和他的继承者PCIe(PCI express):第一部分是历史沿革和硬件架构;第二部分是软件界面和UEFI中的PCI/PCe。自PC在1981年被IBM发明以来,主板上都有扩展槽用于扩充计算机功能。现在最常见的扩展槽是PCIe插槽,实际转载 2020-12-25 11:39:07 · 1336 阅读 · 0 评论