Deep Dive into Linux PCIe Device Driver Development

所在平台: Udemy

课程主页: https://www.udemy.com/course/linux-pcie-device-driver/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**Coursera 课程总结:Linux PCIe 设备驱动开发深度解析** 本课程深入探讨了 Linux PCIe(Peripheral Component Interconnect Express)设备驱动的开发。课程内容涵盖了 PCIe 的基础知识、Linux 内核中与 PCIe 相关的子系统,以及如何为不同类型的 PCIe 设备编写驱动程序。 **核心内容概览:** * **PCIe 基础知识:** * PCIe 总线架构、术语和拓扑结构。 * PCIe 配置空间(包括设备 ID、Vendor ID、扩展配置空间、能力结构和设备类定义)。 * **Linux PCIe 子系统:** * PCIe 设备在 Linux 内核中的表示。 * Sysfs / Procfs 在 PCI 设备信息暴露中的作用。 * PCI 设备 ID 结构。 * `pci_driver` 结构和 Linux 内核 PCI 访问 API。 * **特定设备驱动开发实例:** * **Intel LPC 控制器:** 功能和寄存器描述,ACPI Base 寄存器,系统管理 TCO 寄存器(用于看门狗)。 * **Linux PCIe SMBus 驱动:** I2C 驱动架构,I2C / SMBus 总线、适配器和框架。Linux 内核 I2C 适配器 API,SMBus 数据传输,I2C 算法结构。 * **Linux I2C 驱动:**Managed PCI 访问 API,IO 端口访问 API。 * **Linux PCIe 音频驱动:** Intel High Definition Audio Controller 简介,Linux Sound 子系统基础。新声卡的创建和初始化,声卡注册。新声卡设备的组件创建。Sound HDA Linux 内核 API。 * **Linux PCIe 以太网驱动:** PCIe 以太网驱动框架基础,Realtek RTL8111 寄存器描述。Linux PCIe 以太网驱动源代码 walkthrough。 * **Linux PCIe 端口驱动:** PCIe Host Bridge 基础,PCIe Host Bridge 寄存器描述。Linux PCIe 端口驱动源代码 walkthrough。 * **关键技术实践:** * **Direct Memory Access (DMA) 实现:** DMA 基础知识,Linux 内核 DMA API,Linux 内核 DMA 映射 API。课程将对 DMA 实现进行详细 walkthrough。 * **Message Signaled Interrupts (MSI) 实现:** MSI 基础知识,Linux 内核中断处理 API,Linux 内核中断处理功能流程。Linux 内核 MSI 中断处理 API。课程将对 MSI 实现进行详细 walkthrough。 总而言之,本课程为学习者提供了构建和理解 Linux PCIe 设备驱动程序的全面知识体系,并通过实际设备驱动的 walkthrough 强调了理论与实践的结合。

课程评论(0条)

课程详情

This course focuses on the following,Peripheral Component Interconnect Express (PCIe) FundamentalsPCIe Bus Architecture PCIe Bus Terminology PCIe Bus Topology PCIe Configuration Space PCIe Device ID, Vendor ID PCIe Extended Configuration Space PCIe Capability Structure PCIe Device Class definitionLinux PCIe Sub SystemPCIe Device RepresentationSysfs / Procfs PCI Device ID Structurepci_driver structureLinux Kernel PCI access APIsIntel LPC ControllerFunctional and Register DescriptionsACPI Base RegisterSystem Management TCO Register for WatchdogLinux PCIe SMBUS DriverLinux I2C Driver ArchitectureI2C / SMBus Bus, Adapater, FrameworkLinux Kernel I2C Adapter APIsI2C SMbus DataI2C Algorithm StructureManaged PCI Access APIsIO Port Access APIsLinux PCIe Audio DriverBrief information about Intel High Definition Audio ControllerFundamentals of Linux Sound Sub Systemsnew sound card creation and initializationsound card registerationNew sound device component creation Sound HDA Linux Kernel APIsDirect Memory Access Implementation Walk throughMessage Signal Interrupt Implementation WalkthroughLinux PCIe Message Signaled InterruptsMessage Signaled Interrupts (MSI) FundamentalsLinux Kernel Interrupt Handling APIsLinux Kernel Interrupt Handling Functional FlowLinux Kernel MSI Interrupt Handling APIsLinux PCIe Direct Memory Access FundamentalsDMA FundamentalsLinux Kernel DMA APIsLinux Kernel DMA Mapping APIsLinux Ethernet DriverPCIe Ethernet Driver Framework FundamentalsRealtek RTL8111 Register DescriptionsLinux PCIe Ethernet Driver Source code walkthoughDirect Memory Access Implementation Walk throughMessage Signal Interrupt Implementation WalkthroughLinux PCIe Port DriverLinux PCIe Host Bridge FundamentalsPCIe Host Bridge Register DescriptionsLinux PCIe Port Driver Source Code walkthroughDirect Memory Access Implementation Walk throughMessage Signal Interrupt Implementation Walkthrough

课程标签

0人关注该课程

主题相关的课程