Monday
Room 2 - Level 3
09:00 - 17:00
(UTC+02)
2 Days
Hardware Interfacing with Embedded Linux
Many of the things around you have Linux embedded inside: WiFi routers, smart thermostats, smart door bells. When writing code for these devices you have to be aware of the techniques available to access the hardware at a low level.
This two day, hands-on, workshop will give you a chance to explore numerous types of hardware interfacing, including:
- GPIO
- i2c
- Camera
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. 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)