BeRTOS Documentation

Overview

BeRTOS is a real-time operating system designed for building applications for embedded systems, like reference boards, test boards, or custom boards.

It has a modular structure: its components can be used in very different environments, from 8-bit processor to Linux and Win32 hosted application (for debug purpose), using a wide range of compilers.

History and Motivation

BeRTOS was born as a collection of useful, highly optimized and fine-tuned libraries for embedded systems. Each library had its own scope and could be used singularly in a project, though they were also meant to cooperate to build the whole underlying software layer commonly called "operating system".

We have grown it following our guidelines: simplicity and beauty. These guidelines made it possible to evolve it in a full-featured real time operating system, with more modularity than many other embedded OSes, without giving up reliability and performace.

To achieve the highest possible reusability, most BeRTOS components are designed for fine-grained modularity and minimal external dependencies. Most non-essential features can be configured out for application with small memory footprint requirements.

Features

Directory Structure

The modules are sorted in subdirectories by their category:

The top-level directory contains a few support headers that are meant to be usable by any C/C++ embedded or hosted application.

License

BeRTOS is provided under the term of the GNU General Public License (see LICENSE.GPL) with following exception:


As a special exception, you may use this file as part of a free software
library without restriction.  Specifically, if other files instantiate
templates or use macros or inline functions from this file, or you compile
this file and link it with other files to produce an executable, this
file does not by itself cause the resulting executable to be covered by
the GNU General Public License.  This exception does not however
invalidate any other reasons why the executable file might be covered by
the GNU General Public License.