Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Linux Device Drivers - Communicating with Hardware
Rating: 4.2 out of 5(158 ratings)
1,757 students

Linux Device Drivers - Communicating with Hardware

Linux Kernel Programming for IO Mapped and Memory Mapped devices
Created byLinux Trainer
Last updated 11/2020
English

What you'll learn

  • IO Mapped IO
  • Memory Mapped IO
  • PCI
  • Kernel Modules for Keyboard and RTC

Course content

9 sections84 lectures3h 11m total length
  • Introduction2:46
  • Registers in Hardware devices1:03
  • How does hardware distinguish between port IO and memory access3:54

Requirements

  • Should be able to write/compile/load/unload Hello World Linux Kernel Modules

Description

What you will learn in this course:

  • Two modes of communication with hardware - IO Mapped IO and Memory Mapped IO

  • Kernel Drivers/Modules for IO Mapped IO - Speaker, RTC, Keyboard

  • Kernel Drivers/Modules for Memory Mapped IO - Hardware Random Generator, GPIO, UART

  • Accessing IO Mapped IO and Memory Mapped IO from user space

  • PCI and SMBIOS

API's/Macros/Structures

  • inb, outb, inw, outw, inl, outl

  • inb_p, outb_p, inw_p, outw_p, inl_p, outl_p

  • struct resource, request_region, release_region

  • ioperm, iopl, geteuid

  • request_mem_region, release_mem_region, ioremap, iounmap, ioread8, ioread16, ioread32, iowrite8, iowrite16, iowrite32

  • ioport_map, ioport_unmap,mmap

Files:

/dev/port, /dev/mem, /proc/iomem, /proc/ioports

Commands

  • hwclock

  • date

  • showkey

  • hexdump

  • strings

  • dd

  • lspci

  • biosdecode

  • dmidecode

Who this course is for:

  • Kernel developers curious about learning how to communicate with hardware