The performance and stability of a system ultimately depends on how well you use the resources of the underlying operating system. This class explains how to make effective use of the facilities of the POSIX compliant Linux GNU C library when implementing embedded devices. Attendees will begin with the basics of file handling, device I/O and memory and process management. They will learn how to use signals safely, how to compartmentalize an application into multiple processes and threads and the trade-offs between various types of Inter Process Communication using sockets, message queues and shared memory.
The material and lab sessions are designed for engineers working on embedded devices, and hence there is an emphasis throughout on robust design, efficient use of resources and real-time behaviour. All lab exercises are cross-compiled and tested on a BeagleBone embedded development board.
Download course details as a PDF
Click here for information about booking a course
4 days
£1950 (excluding VAT)
None scheduled: contact us to request a quote
Essential
Recommended
Copies of the presentations and lab notes, plus sample code and worked solutions for the labs.
An essential part of the training are the lab sessions, which take approximately 50% of the time. We normally work in pairs using a modern development board such as the Beaglebone. Each group will also need a laptop or desktop to run the system development tools. We will provide a bootable USB memory stick with an appropriate version of Linux and cross tool-chain so there is no need to install Linux beforehand.
Developing for embedded Linux
Debugging
Files and devices
Processes
Memory
Signals
Real-time Linux kernels
Inter-process communication
POSIX Threads
Thread synchronisation
Time and timers