This course targets engineers who aim to develop embedded systems based on the Linux operating system.
Gain a detailed overview of the internal structure and functionalities of the Linux operating system, emphasizing its usage in embedded systems, such as cars, cellphones, TVs, etc. Through theory, practical labs, and hands-on examples, you will get familiar with the architecture of an embedded Linux system, and with setting up and configuring the cross-compiling environment for the target embedded system. You will also learn how to take advantage of the open-source components for reducing development costs when implementing system features. Finally, you will be able to understand the basics of how to modify and integrate existing device drivers both with the kernel and the user-space applications and learn how to develop and debug user-space applications in an embedded environment.
Course Topics:
- Linux introduction
- Linux Bash
- Linux Build system
- Introduction to embedded Linux
- Configuring, (cross)compiling, and booting Linux kernel
- Driver Development
- Linux POSIX Multithreading
Requirements
Hardware: A working computer (recommended configuration 8GB RAM or more, at least Intel i7 CPU or equivalent), Raspberry Pi 2b+ Toolkit
Software: Windows 10 or later, Virtualization feature enabled in BIOS, Latest Oracle VirtualBox (at least 6.1), Virgine installation
Prior knowledge: Students should have basic programming knowledge in C language.