Subscribe to Newsletter

Print

Embedded Training Course


(This course is offered only on-demand to a private batch and can be customized as per the business requirements)

Overview

The focus of this 3-day course is on the design and implementation of reliable embedded systems.

Techniques for the development of high reliability embedded systems is a great concern in safety-critical markets (e.g. the aerospace, medical and automotive industries), where system failures can have fatal consequences. However, embedded processors now also have an enormous impact in much broader areas of product development, including high-end consumer applications such as washing machines and set-top boxes. Manufacturers need to maximize the reliability of all such systems in order to reduce the cost of warranty repairs, minimize product recalls and ensure repeat orders.

Using a practical mixture of informal seminars and "hands on" training sessions, this 3-day course has been designed to introduce the key skills needed to design and implement reliable embedded systems in a range of different industry sectors.

Objectives

At the end of Embedded System training course, the participants will be able to:

  • Understand what an embedded system is;
  • Be able to write high-quality software for reliable embedded systems;
  • Understand how to test and debug existing embedded systems;
  • Understand the key concepts of real-time systems and the importance of timing behavior when creating reliable embedded systems.

Suggested Audience - Embedded system developers, Linux/FOSS enthusiast

Duration - 3 Days

Prerequisites - Knowledge of C programming

Syllabus

Day 1: Linux system programming
  • Introduction to Linux - FOSS, Linux history and brief introduction about Linux kernel architecture
  • System calls
  • Kernel components - Filesystems, Memory management, Process management, Device drivers
  • IPCs - FIFO, Message queues, Pipes, Signals, Sockets, Semaphores
  • Tracing & Debugging - tracing tools, GDB, mtrace, LTT
  • Exercise & Labs - Exercise programs and sample programs will demonstrated and discussed in Lab session
Day 2: Building Embedded systems on Linux/Android platform
  • Introduction to Embedded systems & its components - Host, target, Cross tool chains, BSP, IDE, Boot loaders
  • Building Embedded applications - Writing applications, cross compilation, simulating from host and Qemu
  • Linux kernel - Linux kernel configuration & compilation, Linux kernel image preparation
  • Boot loader - Boot loader compilation
  • Root filesystems - Root filesystem preparation, chroot, Buildroot
  • Porting embedded system into ARM Board - Access target board and porting on ARM9 Board and OMAP board
  • Android Embedded systems - Android kernel compilation and porting into ARM9 and OMAP Cortex board
Day 3: Developing Real Time applications by using RT Linux
  • Introduction to Xenomai RTLinux - Introduction to RTLinux, Types of RTLinux, Difference between Linux & RTLinux
  • Xenomai RTLinux internals-Xenomai RTLinux kernel structure and its components, Xenomai concepts
  • Pthreads programming - Pthreads programming
  • Xenomai RTLinux programming - Xenomai IPCs, User space Xenomai, Kernel space Xenomai, Xenomai APIs
  • Embedded RTLinux - Preparing Embedded RTLinux for x86 and ARM9 processor