Subscribe to our Erlang Factory newsletter to receive the latest updates and news

Omer Kilic
Embedded Systems Engineer
Erlang Solutions

Speaker
Omer is an Embedded Systems Engineer at Erlang Solutions working on Erlang Embedded, a Knowledge Transfer Partnership project in collaboration with University of Kent. He is bringing the benefits of concurrent systems development using Erlang to the field of embedded systems: through investigation, analysis, software development and evaluation.

Before joining Erlang Solutions, Omer was a research student in the Embedded Systems Lab at the University of Kent, working on a reconfigurable heterogeneous computing framework as part of his PhD thesis. He also is the technical editor for the Raspberry Pi User Guide published by Wiley.


Omer Kilic is Giving the Following Talks
Cloud, Distributed, Embedded: Erlang in the Heterogeneous Computing World

The future of computing will be heterogeneous and the traditional tools we are used to will not be able to handle the different paradigms required when developing for these systems. This talk will provide a brief overview of heterogeneous computing and discuss how Erlang can help with the orchestration of different processing platforms, using our latest experiment on the Parallella platform as a case study.

This talk will also introduce Erlang/ALE, our new framework for embedded systems and provide an update on the Erlang Embedded project.

Talk objectives: To provide an overview of some of the research projects we have been working on at Erlang Solutions in the field of embedded and heterogeneous systems.

Target audience: Hardware and software engineers interested in computer architectures, heterogeneous computing and hardware hacking.

Tutorial: Hands on Hardware Fun with the Raspberry Pi using Erlang/ALE

Target Audience:
   Engineers and programmers interested in designing the next generation of embedded systems.

Prerequisites:
   Basic understanding of Linux, hardware architectures and embedded systems and some experience with C and Erlang. Hardware will be provided on the day.

Objectives:
This tutorial will provide an overview of:
     * Current tools and methodologies employed in embedded systems
     * Embedded Linux and the ecosystem around it
     * Hardware drivers and interfacing
     * Erlang 101, focusing on features that are relevant to managing hardware
     * Erlang Embedded framework, a new proposal for architecting embedded systems

Duration: One day

Description:
While not a new concept, Embedded Linux is becoming more and more popular with the barriers for entry being lowered by projects such as the Raspberry Pi.

In this hands on tutorial we will design an Erlang powered embedded sensor node, running on the Raspberry Pi. We will take you through the steps required to build and deploy the Linux image, deal with hardware interfacing and backend connectivity.

Course Contents:

Module 1: Embedded Linux

In this module we will look at the elements of an Embedded Linux system, such as:
   * Cross compilers and build environments
   * The Kernel and the root file system
   * Bootloaders

We will also look at debugging, connectivity and deployment issues.

Exercise 1: Board bring up

We will bring up a Raspberry Pi board and establish communication with it over the network.

Module 2: Interfacing Hardware

Embedded devices generally consist of more than just the processor and as such we need to interface our applications processor to external chips/sensors/peripherals. This module looks at:
   * Different kinds of embedded protocols used to interface things together
   * How these protocols are utilised in hardware
   * Memory mapped peripherals and interfaces
   * Linux kernel support for common protocols

Exercise 2: Blinkenlights!

We will get some LEDs blinking using both the kernel abstractions and memory mapped bit twiddling.

Module 3: Erlang Embedded Framework

We think Erlang is a great fit for the new generation of Embedded Systems and we present the Erlang Embedded framework (Erlang/ALE) to tackle the common challenges we face today with these kind of systems. This module introduces our work and looks at:
   * The relevance and use of Erlang in Embedded Systems
   * System granularity and fail-safe supervision hierarchies
   * The mapping between the hardware world and Erlang system

Exercise 3: Designing the Sensor Node

We will start this set of exercises with a few tasks utilising the hardware demo board and then put together an architecture for our sensor node.