Wednesday 21 February 2018

Developing & Delivering KnowHow

Home > Training > Developing With Embedded Linux ONLINE

Doulos Live Online trainingDeveloping With Embedded Linux ONLINE

Standard Level - 5 sessions

view dates and locations

PLEASE NOTE: This is a LIVE INSTRUCTOR-LED training event delivered ONLINE.

It covers the same scope and content, and delivers similar learning outcomes, as a scheduled face-to face class.


Linux is being used more and more on embedded systems driven by increasingly complex devices and a greater requirement for connectivity & multimedia. Working with Linux for embedded systems can be difficult, with a vast array of choices available for tools and software. Developing With Embedded Linux provides the practical skills and knowledge required to work with Linux in this environment.

TuxThe course provides an overview of what an embedded Linux system is compromised of and provides practical information about how to work with each of the components. At each stage there is a strong focus on what tools are available in Linux to understand and debug problems. How to configure an embedded Linux system is considered in detail, looking at the changes that need to be made as a project moves from a development phase into a product. The aim is to equip attendees with the skills they need to develop and maintain their embedded Linux based products in an efficient and effective way.

Course Overview Video


Who should attend?

This course is designed for anyone wishing to get started quickly on working with Linux for embedded systems.

Format

The format of Live ONLINE training from Doulos is focused on delivery of a single 4 hour intensive session per day. This includes live tuition and class interaction with the Doulos subject matter expert during the full scope of each session.

Labs are incorporated within the 4 hour sessions with the Doulos lab platform providing individual (private) tutor support at all times for each delegate. On occasion, labs may require time outside of the 4 hour session to complete. Additional lab material is available in some subjects for individuals to reinforce their understanding of the course content.

What will you learn?

  • An understanding of the structure of an embedded Linux system and how to work with the component parts
  • Practical information about developing, analysing and debugging kernel and user space applications using a wide range of freely available Linux tools
  • How to configure embedded Linux on the target, including the filesystem and the booting process.

Pre-requisites

  • Basic knowledge of Unix/Linux on the desktop
  • Experience of working with embedded systems (e.g. using RTOS or bare machine)
  • Some familiarity with C programming is useful.

Course materials

Doulos course materials are renowned for being the most comprehensive and user friendly available. Their unique style, content and coverage has made them sought after resources in their own right. The materials include fully indexed class notes creating a complete reference manual.

Structure and Content

Session 1

Introduction

  • Course Objectives
  • Linux Background
  • Open-Source Software
  • Licensing

Linux Distributions

  • Embedded Linux distribution
  • Desktop Linux distributions
  • Distribution builders
  • Development platforms
  • Version control

Anatomy of an Embedded Linux System

  • Toolchain
  • Bootloader
  • Linux kernel
  • Filesystem
  • Host to target communications

Session 2

Working with the Linux Kernel

  • Scheduling, real-time and memory
  • Kernel configuration
  • Building and booting the kernel
  • Board support
  • Linux device drivers
  • Kernel modules

Debugging the Linux Kernel

  • Kernel logs
  • JTAG
  • KGDB

Session 3

Building Applications

  • Compiling on the target
  • Cross-compiling
  • Static and shared libraries
  • Using Autotools
  • Using an IDE

Debugging Applications

  • Compiling for debugging
  • Target debugging
  • Cross debugging
  • Other user space tools
  • Debugging user space seg faults

Session 4

Linux Applications

  • Filesystem types and locations
    • How a Linux application can be structured
    • Managing processes and threads
    • Inter-process communications
    • Interfacing with the kernel

Configuring Filesystems 1 & 2

  • Filesystem contents
  • BusyBox
  • Filesystem types and locations
    • NFS
    • RAM filesystems
    • Block-based filesystems
    • Flash filesystems (JFFS2, UBIFS)

Session 5

Configuring the Bootloader

  • The bootloader
  • Bootloader choices
  • Working with U-Boot
  • Porting U-Boot to a new board

Trace & Profile

  • Linux trace technology
    • OProfile
    • SystemTap
    • SysProf
    • LTTng
    • FTrace
    • Perf
    • Other Tools
  • Use case examples

Looking for team-based training, or other locations?

Complete an on-line form and a Doulos representative will get back to you »

Price on request


Back to top