This course targets engineers who aim to develop embedded systems based on the Linux operating system, utilizing AI to streamline scripting, accelerate driver development, and advanced debugging.
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. A major focus of this modernized course is the strategic application of AI tools. During lab sessions, you will be encouraged to use AI, learning how to formulate appropriate technical prompts and rigorously verify AI-generated code. You will use AI to validate scripts, generate boilerplate driver skeletons, analyze existing kernel modules, and tackle complex multithreading errors. Finally, you will be able to understand the basics of how to modify and integrate existing device drivers and learn how to develop and debug user-space applications in an embedded environment.
Course Topics:
- Linux introduction.
- Linux Bash. Utilizing AI tools to write, validate, and optimize BASH scripts for system automation.
- Linux Build system. Applying AI to troubleshoot, explain, and validate complex Makefiles and build configurations.
- Introduction to embedded Linux.
- Configuring, (cross)compiling, and booting Linux kernel.
- Driver Development. Using AI to establish a driver “skeleton,” analyze existing in-kernel drivers, and safely generate functional driver code based on established kernel patterns.
- Linux POSIX Multithreading. Leveraging AI to analyze thread execution and successfully identify hidden concurrency issues such as data races, thread interleaving problems, and deadlocks.
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), Virgin installation, and access to modern AI code generation tools (e.g., ChatGPT, Claude, Copilot).
Prior knowledge: Students should have basic programming knowledge in C language.
