Embedded systems development with Yocto Project

Embedded systems development with Yocto Project

Course Summary

Embedded system products have grown in size and functionality from small control and measurement devices to connected products with a wide range of applications.
They can be products with graphical user interfaces or web-based user interfaces that handle many network protocols with different standards such as TCP/IP.
Linux is today the most common choice when developing more powerful and connected embedded systems.
Linux runs on a number of different architectures such as PowerPC, ARM and MIPS and supports all kinds of applications.
It allows you to quickly get the most out of an embedded system using standard tools and applications. Yocto Projects is today the tool most people use to develop an embedded system in Linux.
Yocto
is an industry standard and has been around since 2010.
The project is run by the Linux Foundation and supported by several large companies.

After completing the training, you know what possibilities Yocto Project offers. You have the practical tools to develop an embedded Linux system with Yocto.

The target audience is developers who want to quickly get started developing embedded Linux systems with Yocto.

Participants are expected to have a basic knowledge of Linux and a basic understanding of software development.

The training material is available in both English and Swedish. The training is conducted in Swedish or English.

This course has no certification.

Info coming soon

In the course we go through how to start developing in Yocto and do a deep dive into the build system, development of recipes, layers and how to configure and optimize Yocto. It includes a number of exercises where you get to try out different aspects of the development process for an embedded Linux system. The exercises are performed on an ARM-based board called BeagleBone black.

What you learn:

  • What embedded systems are and what Yocto Project is
  • How to configure Yocto
  • How to create recipes and layers
  • How to expand and adapt existing stocks
  • How to create your own image and how to create your own distribution
  • How to create an SDK for application development
  • What classes are and how they work
  • How to patch source code and how to change the configuration of applications
  • How to create recipes and manage source code more efficiently with devtool
  • How to manage Yocto setup for a project and its project members
  • How to safely update an embedded system
  • What toasters are
  • How to troubleshoot

Introduction

  • Embedded Linux
  • The four elements

Introduction to Yocto

  • Poky
  • Overview of Yocto and how it all fits together
  • Example

Bitbake

  • Setting up the environment
  • Filter types
  • Tasks
  • Bitbake operations
  • The building catalog

Configuration

  • Individual buildings
  • Metastock configurations
  • Machine configurations in BSP warehouses

Recipe

  • How to write recipes
  • Appendix files
  • Sample files
  • External resources
  • License management
  • Virtual recipes/packages
  • Python tasks, datastore and events

Meta-warehouse

  • What is a warehouse and overview of warehouses
  • Standard stocks available
  • Create new layers
  • BSP bearing

Images & distributions

  • image recipes and image configuration
  • Distributors
  • Package groups

SDK – Software Development Kit

  • Overview and introduction
  • Available SDKs
  • Generic SDK and Image-based SDK
  • Installing and using the SDK

Optimizing and working more efficiently

  • Sstate cache
  • rm_work
  • downloading source code
  • Mirror sites and proxies

Classes

  • Introduction to classes
  • Regular classes
  • Heritage and inclusion

Patchar

  • Patcha source code
  • Change package configuration (bootloader, Linux kernel etc.)

Devtool

  • What devtool is
  • working with worklspace
  • Editing recipes
  • modify source code
  • update recipes
  • Testing the software on the target system
  • Example

Yocto setup

  • Setup
  • Setup with official tools
  • Introduction to KAS

Secure update of the target system

  • Why update
  • About updates
  • Symmetric and asymmetric updating
  • Submarine variables
  • Different software and examples with Mender
  • Atomic file update

Toaster & troubleshooting

  • Toaster
  • Troubleshooting

Summary and conclusion

Course Overview

26 950 kr

3 days

Can’t find a (suitable) date, but are interested in the course? Send in an expression of interest and we will do what we can to find a suitable opportunity.

Customized Courses

The course can be adapted from several perspectives:

  • Content and focus area
  • Extent and scope
  • Delivery approach

In interaction with the course leader, we ensure that the course meets your needs.

Skicka intresseanmälan för utbildningen

Send an expression of interest for the training