- Level Expert
- المدة 40 ساعات hours
- الطبع بواسطة University of Colorado Boulder
-
Offered by
عن
This course provides an introduction to Kernel Driver development for the Linux operating system. The Yocto build system is introduced, which students use to build their own custom Embedded Linux system through programming assignments. Linux Kernel Programming and Introduction to Yocto Project can also be taken for academic credit as ECEA 5306, part of CU Boulder’s Master of Science in Electrical Engineering. This course builds on the assignments and knowledge obtained in the Linux System Programming and Introduction to Buildroot, which must be completed before starting this course.الوحدات
Introduction to Device Drivers
2
Videos
- Introduction to Device Drivers
- Device Drivers Overview
1
Quiz
- Intro to Device Drivers
Introduction to Kernel Modules
3
Videos
- Introduction to Kernel Modules
- Building and Loading Kernel Modules
- Kernel Module Design Basics
1
Quiz
- Building and Running Kernel Modules
Introduction to Yocto
1
Peer Review
- Assignment 6 Peer Review
6
Videos
- Introduction to Yocto
- Building a Yocto Image
- Yocto/Buildroot Comparison
- Assignment 6 Part 1: Threading and Linked Lists
- Assignment 6 Part 1: Socket Server Threading Demo
- Assignment 6 Part 2: Yocto Environment Bringup Demo
2
Readings
- Assignment 6 Part 1 Instructions
- Assignment 6 Part 2 Instructions
Linux Character Drivers
5
Videos
- Connecting to Userspace
- Device Driver File Operations
- Device Driver and Userspace Continued
- Circular Buffer Implementation
- Assignment 7 Part 1 Demo: Circular Buffer Assignment overview and demo
1
Readings
- Assignment 7 Part 1 Instructions
1
Quiz
- Character Device Drivers
Buildroot/Yocto kernel driver builds
1
Peer Review
- Assignment 7 Peer Review
2
Videos
- Kernel Debugging
- Assignment 7 Part 2 Demo: Yocto and Buildroot Kernel Driver Builds
1
Readings
- Assignment 7 Part 2 Instructions
1
Quiz
- Kernel Debugging Techniques
Linux Kernel Concurrency
4
Videos
- Concurrency and Race Conditions
- Kernel Critical Sections
- Additional Kernel Locking Options
- More fun with Locking
1
Quiz
- Concurrency
Kernel Driver Development
1
Peer Review
- Assignment 8 Peer Review
4
Videos
- Assignment 8 Overview
- Additional Kernel Debug
- Assignment 8 FAQ
- Assignment 8 Demo: Char Driver and Multithreading Concepts
1
Readings
- Assignment 8 Instructions
Lesson 1 Advanced Char Driver Operations
4
Videos
- ioctl
- Sleeping in the Kernel
- Kernel Sleep Continued
- Poll and Select
1
Quiz
- Advanced Char Driver Operations
Kernel Driver Ioctl Implementation
1
Peer Review
- Assignment 9: Advanced Char Driver Operations
2
Videos
- Assignment 9 Overview
- Assignment 9 Demo: Advanced Char Driver Operations
1
Readings
- Assignment 9 Instructions
Auto Summary
Discover the intricate world of Linux Kernel Programming and the Yocto Project with this expert-level course designed for IT and Computer Science professionals. Led by Coursera, this immersive program delves into the development of Kernel Drivers for Linux, providing a solid foundation in the Yocto build system. Throughout the course, you will engage in hands-on programming assignments to construct your own custom Embedded Linux system. This advanced course is also available for academic credit as part of CU Boulder’s Master of Science in Electrical Engineering (ECEA 5306). It builds upon the essential skills and assignments from the prerequisite course, Linux System Programming and Introduction to Buildroot. Spanning over 2400 hours, this in-depth course offers two subscription options: Starter and Professional, catering to individuals seeking comprehensive knowledge and practical expertise in Linux Kernel Programming. Ideal for seasoned IT professionals and computer science enthusiasts aiming to elevate their technical acumen, this course is your gateway to mastering the complexities of Linux and embedded systems.

Daniel Walkes