Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Deep Dive into Linux PCIe Device Driver Development
Rating: 2.2 out of 5(10 ratings)
58 students

Deep Dive into Linux PCIe Device Driver Development

Linux PCIe Device Driver Development using UDOO-X86 Board based on Intel Braswell N3160 Processor System on Chip
Last updated 5/2021
English

What you'll learn

  • Peripheral Component Interconnect Express (PCIe) Fundamentals
  • Linux PCIe Driver Framework
  • Linux PCIe Watchdog driver implementation
  • Linux PCIe SMBus Driver implementation
  • Linux PCIe Direct Memory Access Study
  • Linux PCIe Ethernet Driver Source code walk through
  • Linux PCIe Port Driver Source Code Walk Through

Course content

3 sections10 lectures14h 9m total length
  • Introduction to PCIe4:00
  • PCIe Topology6:41
  • PCIe Terminology6:55
  • PCIe Fundamentals2:18:35

    PCIe Bus Architecture, Terminology, Topology, Configuration Space, Device ID, Vendor ID, PCIe Extended Configuration Space, Capability Structure, Device Class information

Requirements

  • linux application development
  • linux kernel module development

Description

This course focuses on the following,

Peripheral Component Interconnect Express (PCIe) Fundamentals

  • PCIe 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 definition

Linux PCIe Sub System

  • PCIe Device Representation

  • Sysfs / Procfs

  • PCI Device ID Structure

  • pci_driver structure

  • Linux Kernel PCI access APIs

Intel LPC Controller

  • Functional and Register Descriptions

  • ACPI Base Register

  • System Management TCO Register for Watchdog

Linux PCIe SMBUS Driver

  • Linux I2C Driver Architecture

  • I2C / SMBus Bus, Adapater, Framework

  • Linux Kernel I2C Adapter APIs

  • I2C SMbus Data

  • I2C Algorithm Structure

  • Managed PCI Access APIs

  • IO Port Access APIs

Linux PCIe Audio Driver

  • Brief information about Intel High Definition Audio Controller

  • Fundamentals of Linux Sound Sub Systems

  • new sound card creation and initialization

  • sound card registeration

  • New sound device component creation

  • Sound HDA Linux Kernel APIs

  • Direct Memory Access Implementation Walk through

  • Message Signal Interrupt Implementation Walkthrough

Linux PCIe Message Signaled Interrupts

  • Message Signaled Interrupts (MSI) Fundamentals

  • Linux Kernel Interrupt Handling APIs

  • Linux Kernel Interrupt Handling Functional Flow

  • Linux Kernel MSI Interrupt Handling APIs

Linux PCIe Direct Memory Access Fundamentals

  • DMA Fundamentals

  • Linux Kernel DMA APIs

  • Linux Kernel DMA Mapping APIs

Linux Ethernet Driver

  • PCIe Ethernet Driver Framework Fundamentals

  • Realtek RTL8111 Register Descriptions

  • Linux PCIe Ethernet Driver Source code walkthough

  • Direct Memory Access Implementation Walk through

  • Message Signal Interrupt Implementation Walkthrough

Linux PCIe Port Driver

  • Linux PCIe Host Bridge Fundamentals

  • PCIe Host Bridge Register Descriptions

  • Linux PCIe Port Driver Source Code walkthrough

  • Direct Memory Access Implementation Walk through

  • Message Signal Interrupt Implementation Walkthrough

Who this course is for:

  • Passionate to learn on PCIe
  • Linux Kernel / Device Driver Developers