Monday

Room 4

09:00 - 17:00 (UTC+02)

2 Days

Hardware Interfacing with Yocto Project

Computing is all about hardware: a program that does not touch hardware is … not a program. This is especially true in the embedded domain.

C
C++
Embedded
Architecture
Software Design
Product Design

This two day hands-on workshop will give you a chance to explore numerous types of hardware interfacing, including:

  • GPIO
  • i2c
  • USB
  • Graphics

We will be looking at these from the point of view of embedded systems, including Linux based IoT devices. For the hands-on portion of the workshop we will be using Raspberry Pi boards to implement a smart door bell.

In the lectures, you will learn the theory necessary to implement such a device. Starting from power on, we will consider how Linux discovers what hardware is attached, and especially the role of the device tree in non PC systems. We will look how Linux represents hardware internally through the device driver model and the sysfs file system, and how it loads device drivers for each component of hardware. Then we will see how to interact with device drivers from user-space programs to make a working system.

We will be using the industry standard Yocto Project to build the disk images for the target. If you are not familiar with Yocto, don’t worry: we will be covering the fundamentals of Yocto as well.

The workshop is suitable for anyone working with Embedded Linux, or IoT devices, or is just curious about how things work

To get the best out of it you will need good command-line Linux skills (grep, find, bash), good C/C++ coding skills, and a basic knowledge of computer architecture (memory address spaces, interrupts, DMA)

Chris Simmonds

Chris Simmonds is a software consultant and trainer living in southern England. He has spent almost two decades designing and building open-source embedded systems of all shapes and sizes, and he has encapsulated much of that experience in his book, “Mastering Embedded Linux Programming”.

He is a frequent presenter at open source and embedded conferences, including the Embedded Linux Conference and Embedded World. You can see some of his work on the “Inner Penguin” blog at www.2net.co.uk