|
|
|
|
Linux 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.
Linux Training Course duration
3 Days
Linux Training Course outline
1. 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
2. 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
3. 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
|
|
|
|
|