Developing Embedded Real-Time Applications with Heterogeneous Multiprocessing Systems (*Attendee Action Required - See Abstract*)

Event Time

Tuesday, August 27 9:00 AM - 1:00 PM

Event Location

Location: Room 201


Event Information

Badge Type: Paid Conference

Lots of embedded applications have conflicting requirements like high throughput and data processing, responsive user interface, low-latency operations and determinism to handle hard real-time events. It is very cumbersome (and most of the times impossible) to meet all these requirements with just a single processor.

A common approach to meet these conflicting requirements is to use multiple heterogeneous processors, where a high-end processor takes care of general computing like network communication, user interface and data processing, and a low-end processor is responsible to handle low-latency and real-time events. These type of systems are called Heterogeneous Multiprocessing Systems or HMP.

In this workshop, we will present all the theory behind embedded applications development using heterogeneous multiprocessing systems and practice it with some hands-on exercises. We will use a board with a heterogeneous multicore SoC. It contains both a Cortex-A and a Cortex-M processor, capable of running a different operating system on each core.

The hands-on will have two parts. The first will focus on running an RTOS (FreeRTOS) with the low-end processor to handle deterministic and real-time events and report them to the communication channel. The second part compromises the deployment of a full-featured OS (GNU/Linux), on the high-end processor, which will log the events and communicate them to the user. We will use this hands-on to show how the communication between the cores works by using an implementation of the OpenAMP standard.

**Note: Hardware will be provided for up to 40 attendees, and attendees can work in pairs, if necessary. You will need to bring a laptop in order to participate in this session.**

Keywords: Heterogeneous Multiprocessing, Real-Time Systems, OpenAMP, embedded applications, data processing, low-latency, Cortex-A, Cortex-M, RTOS, FreeRTOS, Linux, OpenAMP standard