Products built on embedded systems are now ubiquitous, powering devices ranging from small control and measurement units to high end home entertainment systems.

Linux is the natural choice for high performance embedded systems, with native support for architectures such as ARM, Mips and PowerPC. The array of developer tools and vast library support makes it quick and painless to get a system up and running, allowing developers to focus on their product.

Linux Embedded Development
Linux Embedded Development


Throughout the course you will be taken through a set of tools for embedded systems development in Linux. You will also gain a birds-eye view of build tools, kernel- and boat loader-functionality as well as a walkthrough of key libraries. Finally, we will introduce you to kernel configuration as well as kernel module programming.

During the course exercises, you'll be able to try out various tasks in the embedded development process using an ARM-based Linux-system called BeagleBone. The exercises are conducted using Buildroot paired Eclipse and gdb.

After completing the course you'll have the tools for developing an embedded system using Linux.


Developers who want to get started with embedded systems development using Linux.

A basic understanding of Linux is an advantage in this course.

Participants are expected to possess a basic understanding of the C programming language, and to be familiar with the basics of Unix/Linux.

Combine this course with course No 303 Embedded Development in Yocto for best learning effect.

Linux Embedded Development

Due to Covid-19, and the uncertain travel recommendations for Autumn 2020, it is decided that this course is planned to run Online only. The daily schedule will be adjusted to fit remote training, with less hours per day divided into extra days. Make a preliminary booking and we will keep you updated.

Day 1

    • Introduction to Embedded Linux
    • Introduction to Linux Kernel Configuration
      • Building root-filesystem
      • Init system (boot scripts)
    • Deployment; flash & bootloaders

Day 2

    • Introduction to Open Source Software Licenses
    • Application Development
      • Libraries T
      • Tools
      • Tracing/profiling
      • Real-time options
    • Introduction to Kernel development