When & Where: | Tuesday 15:00 – 16:15, Room #400202 (Semiconductor Building) Thursday 16:30 – 17:45, Room #400126 (Semiconductor Building) |
Instructor | Dongkun Shin Professor Embedded Software Laboratory |
Course Description: |
This course provides the theory of embedded Linux kernel and practical labs. This course will enable students to develop or improve device drivers in the Linux kernel. The course makes you familiar with the essentials of kernel development: kernel architecture, the main APIs, integration of device drivers with other parts of the kernel and with user applications. At the end of this course, you will be ready to work on Linux device driver development projects. |
References: | Embedded Linux kernel and driver development training |
Grading: | Midterm (25%) Finals (25%) Assignments (50%) |
Teaching Assistant: |
Yunji Kang, #400309 Embedded Software Laboratory Kwangbae Lee, #400309 Embedded Software Laboratory Sooyun Lee, #400309 Embedded Software Laboratory Hoseung Kim, #400309 Embedded Software Laboratory |
Contact: | help.eslab@gmail.com |
Office Hours: |
Mon. / Fri., 19:00 ~ 21:00 at 400309 |
Schedule
- (03/05, 03/07) ESW01-Intro, Development Setup
- (03/14, 03/21) ESW02-Kernel Sources, Booting
- (03/26) ESW03-Kernel Modules
- (03/28, 04/04) ESW04-Device Model
- (04/09) ESW05-I2C
- (04/11, 04/16) ESW06-Kernel Frameworks, Input, Block
- (04/18, 04/25) No Class
- (04/30, 05/02) ESW07-Mem, IO, Port
- (05/09, 05/16) ESW08-Scheduling, Interrupt
- (05/23) ESW09-Locking, Debugging
- (05/30) ESW10-Power, DMA
- ( 06/11, 06/13) ESW11-Real Time Linux
- (06/18, 06/20) Final Exams
Practical Labs Schedule
- (03/12) Kernel sources, Raspberry Pi board setup
- (03/19) Kernel configuration, Kernel building
- If you don’t want to install the modules directly onto the SD card, follow the instructions on this link
- (04/02) Writing modules
- (04/23) Linux device model for an I2C driver
- (05/07) Communicate with the Nunchuk over I2C
- WiiNunchuk driver – skeleton code
- (05/14) Expose the Nunchuk functionality to user space
- Evtest – skeleton code
- (05/21) UART Communication Between RPI and Arduino
- (05/28) Locking Protocol and Atomic Operation
- (06/04) Locking, Investigating kernel faults
- (06/24) Term Project Due Date