| 
 
|  |  | 
	
		|  |  
		| 
            | Embedded Systems Training Overview 
 Linux, the free, Open Source operating system, is rapidly emerging as the leading platform for embedded devices using high-performance, 32-bit processors.  And as the cost of computing continues to plummet, these processors are showing up just about everywhere.  The ARM architecture, featuring a relatively high performance-to-power ratio, has become popular in a wide range of consumer and industrial electronic products including cell phones, set-top boxes and robots to name just a few.
 
 This 3-day seminar focuses on how Linux has been adapted for use in embedded environments, with specific emphasis on the ARM architecture. Through extensive hands-on lab work, you learn how to install a cross-development environment, build a compact version of Linux for an embedded device, install the build on the target system, and test its operation. You’ll create and test programs that exercise I/O as well as networking applications and also explore real-time extensions.
 
 Each participant receives a CD with a complete Linux kernel distribution, including source code, and ARM cross-development toolkit, which provides an ideal platform for embedding Linux into a wide range of consumer and industrial devices.
 
 Participants will have available for use during the class an ARM-based target single-board computer (SBC) kit. This is the same SBC supplied with the Embedded Linux Learning Kit and is offered at a substantial discount to class participants.
 
 Embedded Systems Training Course duration
 
 3 Days
 
 Embedded Systems Training Course outline
 
 1. Introduction
 
 What is Open Source and why do you care?
 
 Linux features and characteristics
 FilesystemsProtected memory
Processes
Foreground vs. background
Users and Groups
Root user
Graphical desktop environment—KDE 
 Development EnvironmentRoot filesystem
Privileges
Links
“Mounting” filesystems
Filesystem Hierarchy Standard (FHS)
 EclipseInstall software
Configure the host
Configure the target
Network Filesystem (NFS)
Our first program 
 2. Embedded Application ProgrammingCreating and building C projects
Debugging with Eclipse 
 
 Accessing hardware from User Space
 A simple simulation environment
Multi-processing vs. multi-threading—Pthreads
 Network programmingThreads
Mutexes
Adding settable parameters to thermostat 
 Configuring and building the kernelSockets
Client/server paradigm
Networked thermostat
Multiple monitor threads
Embedded web server 
 BusyboxBooting via TFTP
Root filesystem over NFS  
 
 Bootloader
 
 3. Linux and Real-time
 
 Why isn’t Linux real-time?  
 Possible solutions
 Introducing RTLinuxPre-emption improvement
Interrupt abstraction 
 
 Kernel modules
 
 Inter-task communication
 RTLinux in Kernel Space
 
 |  |  |  |