|
Embedded & Real Time
Linux Development Training
This three-day course provides the knowledge and skills to develop an embedded Linux product. The course shows attendees how to configure a small Linux kernel, and develop code within the kernel for support of their target platform and application.
The course begins with a complete, simple, project that walks the attendees through the entire process of creating a special version of the Linux kernel, populating a root file system, including just the libraries that are needed, and constructing a custom boot sequence.
The course covers the key issues in embedding Linux. Such questions as: why Linux and how to embed Linux are examined. The attendees will gain experience in developing applications and system programs.
Attendees will spend approximately 50 percent of the class time actually gaining hands-on experience with these topics, with personal attention and insider knowledge from an experienced embedded Linux developer.
Course Objectives
• To provide an understanding of the essentials of embedded Linux.
• To give you practical experience in developing an embedded Linux system.
The following modules will be covered during the class:
Introduction
- What is Open Source and why do you care?
- Linux features and characteristics
- Protected memory
- Processes
- Foreground vs. background
- Users and Groups
- Root user
- Graphical desktop environment—KDE
- Filesystems
- Root filesystem
- Privileges
- Links
- “Mounting” filesystems
- Filesystem Hierarchy Standard (FHS)
- Development Environment
- Install software
- Configure the host
- Configure the target
- Network Filesystem (NFS)
- Our first program
- Eclipse
- Creating and building C projects
- Debugging with Eclipse
Embedded Application Programming
- Accessing hardware from User Space
- A simple simulation environment
- Multi-processing vs. multi-threading—Pthreads
- Threads
- Mutexes
- Adding settable parameters to thermostat
- Network programming
- Sockets
- Client/server paradigm
- Networked thermostat
- Multiple monitor threads
- Embedded web server
- Configuring and building the kernel
- Booting via TFTP
- Root filesystem over NFS
- Busybox
- Bootloader
Linux and Real-time
- Why isn’t Linux real-time?
- Possible solutions
- Pre-emption improvement
- Interrupt abstraction
- Introducing RTLinux
- Kernel modules
- Inter-task communication
- RTLinux in Kernel Space
Class Duration: Three days
Enrollment Form
Prerequisites: The course is designed for embedded engineers who are new to embedded Linux. Attendees should have experience with the C programming language, processor architectures, memory management and basic Unix knowledge.
If you have any questions about the difficulty level of the class, please contact us at: classes (at) linuxcertified.com
Optional: All attendees will get a Linux laptop to be used during the class. You have the option of purchasing this laptop with an additional course fee.
On-site: If you would like to arrange an on-site Embedded Linux class, please contact us at: classes (at) linuxcertified.com
If you don't see this class scheduled in the timeframe/place of your preference, please let us know your preference for timeframe (which month etc.) and any particular geography preference. Send email with your interest to classes@linuxcertified.com
|