Disclosure: when you buy through links on our site, we may earn an affiliate commission.

Linux Device Drivers – Communicating with Hardware

Linux Kernel Programming for IO Mapped and Memory Mapped devices
4.3
4.3/5
(57 reviews)
859 students
Created by

8.5

CourseMarks Score®

8.2

Freshness

8.0

Feedback

8.6

Content

Platform: Udemy
Video: 3h 11m
Language: English
Next start: On Demand

Table of contents

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

You will learn

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

Requirements

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

This course is for

• Kernel developers curious about learning how to communicate with hardware
Trainer at Linux Weekend Learning
I have been working on Linux for more than 7 years. I have seen many people still lack their skills on Linux. So, i am working on courses for Linux which will make them Learn Linux in an easy way. The agenda of my courses will be more practical and less theoretical. Show more examples and you will easily grab the concepts.
Order of Learning
1. Learn Linux User Space Debugging
2. Learn Linux Kernel Programming
3. Character Device Drivers in Deep
4. Memory management in Linux Kernel
5. Synchronization in Linux Kernel Programming
6. Linux Kernel Development Model and Compilation
7. Linux Device Drivers – Communicating with Hardware
8. Interrupts and Bottom Halves in Linux Kernel
9. System calls in deep
10. Timing Subsystem in deep
11. Embedded Linux using Yocto
12. Embedded Linux using Yocto Part 2
13. Embedded Linux using Yocto Part 3
14. Embedded Linux using Yocto Part 4
15. Testing Linux Kernel
16. Debugging Linux kernel in deep – Part 1
17. Debugging Linux kernel in deep – Part 2
Browse all courses by on Coursemarks.
Platform: Udemy
Video: 3h 11m
Language: English
Next start: On Demand

Students are also interested in