Serving Eastern Massachusetts
| Course Name: | C2 - Introduction to Embedded Linux |
| Time & Date: | 6:00 - 9:00 PM, Thursdays, March 8, 15, 22, 29 |
| Location: | Holiday Inn Select Hotel, 15 Middlesex Canal Park Road, Woburn, MA |
| Speaker: | Mike McCullough, CEO, RTETC |
This technical training course introduces the Linux Operating System and the use of Embedded Linux Distributions. The course focuses on the development and creation of applications in an Embedded Linux context using the Eclipse IDE. The first part of the course focuses on acquiring an understanding of the basic Linux Operating System, highlighting areas of concern for Embedded Linux applications development using Eclipse. The latter part covers the configuration and booting of Embedded Linux distributions including embedded cross-development and deployment considerations.
The course is designed for real-time engineers who are building Embedded Linux solutions. It is also targeted at experienced developers requiring a refresher course on Embedded Linux. This course will clearly demonstrate both the strengths and weaknesses of the Linux Operating System in Embedded Systems.
Linux Terminology, History and Versioning
The Linux Community: Desktop & Embedded
The GPL
Linux References (Books and Online)
Kernel Source Code
Building the Kernel
Embedded Linux Kernels
Linux 2.6
Process and Threads Management
Signals and System Calls
Synchronization, IPC and Error Handling
Timing and Timers
Memory Management and Paging
The I/O Subsystem: A Tale of Two Models
Modularization
Process-Level and System-Level Debug
GDB and KGDB
GDB Server and Remote Debugging
What are Processes and Threads?
Virtual Memory Mapping
Creating and Managing Processes and Threads
Thread-Specific Data (TSD)
POSIX
The Native POSIX Threading Library (NPTL)
Kernel Threads
Linux 2.4 and 2.6 Scheduling Models
The O(1) Scheduler
The Completely Fair Scheduler (CFS)
Via Global Data
Via Semaphores, Files and Signals
SMP Synchronization
Message Queues
Semaphores Revisited
Shared Memory
Pipes, FIFOs and Futexes
Remote Procedure Calls
Networking
errno and perror
strerror and strerror_r
oops, panics and Segmentation Faults
How Linux Tells Time
Kernel, POSIX and Interval Timers
High-Resolution Timers (HRTs)
Demand Paging and Virtual Memory
Allocating User and Kernel Memory
Mapping Device Memory
The Slab Allocator
The OOM Killer
Memory in Embedded Systems
Creating a Module and Module Loading
Dependency Issues
In Embedded Systems
A Shared Library Example
Static and Dynamic Libraries
The Original Device Driver Model
The Standard I/O Interface
The New Device Driver Model and Kernel Object Classes
Initialization
Platform Devices, Busses, Adapters and Drivers
Comparing the Two Models
The Root Filesystem
Desktop Linux Boot
Bootloaders
Embedded Linux Boot
Configuring and Building Linux
Desktop and Embedded Approaches
In Multicore Environments
Choosing and Building the Root Filesystem
Useful Embedded Filesystems
Module Decisions and Final IT Work
Development, Monitoring and Testing
Mike McCullough is President and CEO of RTETC, LLC. Mike has a BS in Computer Engineering and an MS in Systems Engineering from Boston University. A 20-year electronics veteran, he has held various positions at Tilera, Embedded Planet, Wind River Systems, Lockheed Sanders, Stratus Computer and Apollo Computer. RTETC, LLC is a provider of Eclipse-based development tools, training and consulting for the embedded systems market.
Payment received by February 23: IEEE Members $390
Payment received by February 23: Non-members $410
Payment received after February 23: IEEE Members $410
Payment received after February 23: Non-members $435