Course Summary
A technical training course introducing the Linux
Operating System and Embedded Linux Distributions. The course focuses on
the development and creation of Linux applications in an Embedded Linux
context. The first part of the course focuses on acquiring an
understanding of the Linux Operating System, highlighting areas of concern
for Linux application development. The latter part covers the embedded
Linux distributions including the use of the Board Support Package (BSP)
and the Software Development Kit (SDK).
Who Should Attend
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 when used in Embedded Systems.
Course Objectives
-
To provide a basic understanding of the Linux OS
-
To gain an understanding of the complexities of the
Embedded Linux Distribution and its processor dependencies
-
To give you the confidence to apply these new concepts
to your next Embedded Linux project
Outline
Course Schedule Day 1 (April 13)
Introduction to Embedded Linux
Terms
A Brief History of Linux
Linux Versioning
GNU and the GPL
Embedded Linux Directory Structure
The Linux Shell
Command Shells
Shell Commands
Shell Scripts
Course Schedule Day 2 (April 20)
Debugging Embedded Linux
The Linux Trace Tool (LTT)
Graphical IDEs
Scheduling of Processes
Processes and Threads
Introduction to Processes
The “clone”, “fork”, and “exec” System Calls
Other System Calls
POSIX
Threads
The NPTL
Course Schedule Day 3 (April 27
The Linux Memory Model
Paging
Allocating Memory from User Space
Allocating Memory from Kernel Space
Linux Scheduling
General Scheduling
Enhanced Scheduling
Real-Time Scheduling
Course Schedule Day 4 (May 4)
Linux Signals
Inter-Process Communications
Semaphores
Message
Queues
Shared Memory
Networked IPC
Course Schedule Day 5 (May 11)
Linux Timers
What are “jiffies”
Time of Day
The System Timer
Timer Interrupts
Busy Looping
The Linux I/O System
Modules
The fops Struct
Open, Close, Read and Write
Key Driver Types
The Select Facility
Interrupts
Linux File Systems
The Root File System
Native Linux File Systems
Other File Systems
Course Schedule Day 6 (May 18)
Configuring Embedded Linux
Important Configuration Files
Using oldconfig
Using menuconfig
Using xconfig
Saving Configurations
Building the Kernel
Booting Embedded Linux
The Init Process
Using PROM Monitors
Using NFS
Using a RAM-disk
Lecturer – Mike McCullough is President and CEO of MCC
Systems, Inc. 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 Wind River Systems, Lockheed Sanders, Stratus
Computer and Apollo Computer. MCC Systems is a provider of Eclipse-based
software development tools, training and consulting services for the
embedded systems market.