Embedded Linux Education Kit
Teaching materials now available on GitHub
You can download the materials by clicking the button below which will take you to Arm Education's official GitHub pages.
Kit specification:
- A full set of lecture slides, ready for use in a typical 10-12-week undergraduate course (see full syllabus).
- Lab manual with code solutions for faculty. Labs are based on low-cost but powerful Arm-based hardware platforms.
- Prerequisites: Basics of operating systems, basics of software programming in C.
Course Aim
To produce students who can develop an embedded Linux system on low-cost yet powerful Arm based platforms, including customer peripheral development for various applications using standard software tools.
Learning Outcomes
- Knowledge and understanding of
- Embedded Linux operating system architecture
- Linux-based embedded system component stack
- Linux kernel modules
- System configuration and boot process
- Communication between kernel space and user space
- System debugging and profiling
- Intellectual
- Ability to choose between different software tools for the development of an embedded Linux system
- Ability to evaluate implementation results (e.g. speed, cost, power) and correlate them with the corresponding system
- Practical
- Ability to use industry standard tools to configure and build an embedded Linux system stack
- Ability to develop kernel modules for customer peripherals
- Ability to debug and profile embedded Linux systems using industry standard software tools
Syllabus
1 | Introduction to Linux and Embedded Systems |
2 | Linux-based Embedded System Component Stack |
3 | Anatomy of a Linux-based System |
4 | Configuration and Build Process |
5 | Linux Kernel Modules |
6 | Communication Between Kernel and User Space |
7 | Application Demo: Building a Ranging Sensor Kernel Module |
8 | System Debugging and Profiling |
Recommended Online Course
Embedded Linux Online Course
This course provides learners with an understanding of the Linux architecture and acquire the practical skills required to build an embedded Linux system, as well as debug and profile application performance.