Home
Company Profile
Our Clients
Training
Courses
course list
roadmap
all dates
forthcoming
booking
Graduate
Training
Mentoring
Location
Links
Contact us

 sign up for Feabhas e-news

 


Embedded Linux Training Courses

Developing for Embedded Linux

Course code: EL-503
Length
: 5 days
Cost: £2057
Course description - see below or view PDF
Check course dates - click here
Booking information - click here

Training Course Detail

Course Description:
Embedded Linux is rapidly becoming an Operating System of choice for many embedded developers. According to the LinuxDevices.com website, the significant reasons are that the source code is available, there are no runtime royalties and it is a robust reliable operating system which has excellent networking support.

This course, like other Feabhas courses, teaches embedded skills using an embedded environment. Unlike most Linux courses, that use PC’s as the target, this course uses Power PC target hardware – a true embedded environment.

Overview:
Linux has a world wide support database, and probably the largest supported device driver base of any operating system. However, for the Linux novice the choices can be bewildering and confusing (e.g. what is the difference between Red Hat Linux and Blue Cat Linux?).

This course is unique in a number of areas. First it is not aimed at Linux gurus; it is aimed at existing developers using traditional RTOS’s in embedded environments. Second, it proposes that Linux is not suitable for all applications. It is as important to understand what Linux cannot do as much as what it can do. Third, and most significant, it isn’t based on traditional x86 PC hardware. This course uses a true embedded environment (a Power PC card) that does not have a floppy or hard disk. An environment most embedded engineers are familiar with.

This course demonstrates, through extensive hands-on, how to build small, fast applications with embedded Linux. Note, it does not promote any vendors tools.

Course Objectives:
• To get real-world exposure to embedded Linux
• To develop an application to run on an embedded Linux system
• To understand what is required to set-up a Linux cross development environment
• To understand the different approaches to making Linux “realtime” Delegates will learn:
• How to configure a standard Linux kernel for use in a cross development system.
• The steps to write, compile, download and debug an embedded Linux application with real hardware.
• How threaded applications fit into Linux.

Who Should Attend:
Software engineers who are developing applications for embedded or real-time Linux. Engineers wishing to assess the suitability of Linux for their next application.

Pre-Requisites:
• Good ‘C’ programming skills
• General knowledge of an RTOS or embedded operating systems
• Knowledge of Linux or Unix will be useful, but not essential
• Be able to use basic Linux/Unix commands (e.g. ls, cat, vi).

Duration:
Five days.

Course Materials:
Student workbook.

Related Courses:
• EL-504 Developing Linux Device Drivers
• EL-301 Graphics for embedded Linux

Course Workshop:
The course presents embedded and real-time concepts applied to Linux, using a Power PC development board as the target (TQ PPC starter kit). The host development system will be a standard PC running RedHat. We use the target as an example of a simple embedded system which can control hardware via a simple digital I/O interface.

Lab sessions follow a logical sequence, and result in “the world’s first Linux-powered web-controlled washing machine”. A distinction is made between the development host and the target throughout.

Course Outline:

Introduction
- An overview of Linux’s strengths and weaknesses

Setting up the development
environment

- What tools are needed, where to get them and how to install them.

Introduction to the Linux kernel
- What is in the kernel?
- Configuring and booting the kernel.

The root file system
- Root file directories, /bin /etc/lib etc.

More about Linux file systems
- Types of file system: Disk, RAM, Flash, Network

Some debug techniques
- Syslog and strace. GDB and DDD

TCP/IP Networking
- Network configuration and web servers

Device control from user space
- Accessing hardware directly

Multi processing on Linux and Inter Process Communication
- Linux process model and IPCs

Multithreading using pThreads
- Threads vs. Processes and pThreads

Linux and Real-Time
- Standard kernel problems and patches

Real-time sub kernels
- RTLinux and RTAI

RTAI
- Using RTAI

Conclusion

 telelogic website

 read our blog

Training Courses
C Training Courses
C++ Training Courses
C#.NET Training Courses
Embedded Linux
Training Courses

Java Training Courses
Microsoft Embedded Training Courses
MISRA-C Training Courses
Python Training Courses
RTOS Training Courses
Software Engineering Training Courses
SNMP Training Courses
SysML Training Courses
TCP/IP Training Courses
Testing Training Courses
Microsoft Windows Device Driver Courses
UML Training Courses

Feabhas Codes
AC-401
AC++-501
AWDM-501
CE-501
C-501
C++-303
C++-501
C++-502
C++-503
C#-501
DP-402
EL-201
EL-202
EL-301
EL-503
EL-504
J-501
J-502
MC-101
MSDN-2530
MSDN-2535
MSDN-2540
MSDN-2545
MSDN-2540N
NDIS-501
OO-101
OO-301
OO-503
PY-401
RB-201
RTOS-201
SE-401
SE-501
SNMP-301
T-401
TCP-401
WDF-501
WDM-501