Linux Device Drivers - Communicating with Hardware
Linux Kernel Programming for IO Mapped and Memory Mapped devices
What you will learn
IO Mapped IO
Memory Mapped IO
PCI
Kernel Modules for Keyboard and RTC
Why take this course?
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