Linux kurs

Develop Linux Based Embedded Systems

Interested? Contact us!
3 days
SEK 19.500
DKK 17.400
EUR 2.400 (FI Classroom)

Request more information

Heidi Lehtomäki – Finland
phone: +358 40 196 0142
heidi.lehtomaki@nohau.fi

Lena Bernhardsson – Sweden
+46 (0) 40 59 22 09
lena.bernhardsson@nohau.se

Training material, loan computers and lunch are included.

During the last years, the Embedded Systems used in many applications have gained in performance and complexity. More and more functionality have been added as requirements increase and this has been possible as a result of the increase in H/W performance.

The evolution has moved Embedded Systems from simple fixed function devices, like control and measurement of a simple application, to full feature, multi application devices with rich user interfaces (GUIs and web servers) and standard “PC” communication protocols like TCP/IP.

Linux, which is basically a UNIX, initially designed for PCs using Intel’s 386 CPU, got early on a design that made it suitable to port to other CPU architectures as well.

Many of today’s powerful CPUs for Embedded Systems (e.g. PowerPC, ARM, MIPS) have passed the 386 in performance and are well beyond it. This makes it possible and very attractive to use Linux in Embedded Systems.

Goal

On this “Develop Linux Based Embedded Systems” training course you will learn how to use a complete set of “Best of Breed” development tools to develop an Embedded Linux system. Emphasis will be on using and configure the breadth of functionality and applications available for Linux, combined with adding your own developed “top-level” application.

Participants

If you quickly and efficiently want to get going with the development of an Embedded Linux system, then this training is for you. It can also be very useful if you want to learn more about this hot topic and evaluate if Linux is the right alternative for your future embedded projects.

Previous knowledge

You know programming and have basic knowledge in the C-programming language, equal to the “C programming for embedded systems, part I” training. You should also have some prior experience using Linux/UNIX as a user, and have some experience on how to use development environments and debuggers for Embedded Systems.

Practical exercises / Tools

Approximately half of the time will be on hands-on exercises. They have been designed to highlight the development process for Embedded Linux projects. Students work in pairs with the exercises with guidance from the trainer.

YoctoWe use a PC as host for the development environment and connect to an ARM-based target system (BeagleBone). On the target we run Embedded Linux.

Yocto labWe will develop and debug the applications using software debugger (for example GDB) and tracing tools (e.g. perf and trace-cmd).

You will keep the BeagleBone, as well as USB-adapters, to be able to continue exploring embedded Linux after the training.

Content

Introduction

  • What’s Linux?
  • Material and tools used during training

Overview

  • Training contents and design
  • Terminology
  • Kernel, distribution, host/target system, tool chain, device drivers, file system, memory management and protection.

System design

  • What kind of system could be an Embedded Linux candidate?
  • Linux and Real-Time
  • Eclipse based tools

Efficient development methods

  • Difference and similarities in development methods.

Tools

  • Suitable development environment.

Configuration

  • Kernel configuration and target file system creation.

Dependencies

  • Standardards and Conventions
  • FHS (File system Hierarchy Standard)
  • Runlevels
  • Startup scripts

Application Development

  • How to develop your own Embedded Linux application
  • Static and dynamic libraries

System services and device drivers

  • Network services, TCP/IP
  • Dynamic loading of modules

Deployment

  • Different deployment models
  • ROM/flash, network, root disk

Debugging

  • The difference between debugging the kernel and applications
  • File formats and debug information
  • How to download/debug applications on a target system?
  • Profiling
  • Finding memory leaks

Resources

Where can I find more information?

Klar til at bestille? Eller bare til at høre mere?

Giv os et ring på 44 52 16 50, eller udfyld felterne, så ringer vi til dig!