Tutorial: The eChronos Real-Time Operating System - Just what you want, when you want it

Опубликовано: 03 Ноябрь 2024
на канале: Linux.conf.au 2016 -- Geelong, Australia
1,604
5

Stefan Götz
https://linux.conf.au/schedule/30189/...
Learn eChronos, a newly open-sourced Real Time operating system for MMU-less systems and the Internet of Things!

In this tutorial you will learn:
-- What eChronos is for and good at
-- How to build a system using eChronos
-- How to run that system for testing on QEMU
-- How to deploy the system onto real hardware

Participants are expected to understand basic OS concepts and have basic familiarity with the Linux command line.

Sometimes you want to run some very time-critical code on a device that doesn't have a lot of memory. This device might be so tiny that it mightn't even support memory protection - but you don't care, because you wouldn't run any code on this device anyway that you didn't fully trust. The code you do run, however, has to run on time and like clockwork, because that code drives a medical device or a ground or air vehicle, and lives are depending on it.

Perhaps you may have felt that this code of yours would be best expressed as a set of tasks that each have a clearly defined role, and you may be looking for an operating system that offers you just the means of specifying when those tasks need to happen, how long they get to run for, and how they should synchronize with each other when they need to coordinate their access to something. At the same time, you might need this code to compile to a binary that occupies no more memory than it strictly has to, because the power consumption or physical size of your device is a significant limiting factor in its deployment.

The eChronos Real-Time Operating System offers you a way to configure and build a statically resourced system of tasks, running code that you've written, to a schedule of your choosing. In this tutorial, we will teach you how to write, specify, and build systems that run on eChronos, and run them on the QEMU system emulator for ARMv7-M or PowerPC e500. We will also open the hood on the way the eChronos code base (available under the AGPLv3 license, on GitHub) is structured and maintained (with a view towards ease of certification), so that you can plan how you might port the eChronos RTOS to your own choice of hardware.