EPOS Software


The main EPOS development tree is at the SVN server.


The main EPOS 2 development branch for ARM is also at the SVN server. This is the recommended tree for working with EPOSMoteIII. It is also recommended to always keep it up to date.

Didactic versions for teaching

A set of didactic versions of EPOS following an incremental design, from a minimalist system up to multicore, networked, CPS one is available here.

EPOS Releases

Copyright notice: Before downloading EPOS, please read the EPOS Software License Agreement.

OpenEPOS is a streamlined version of EPOS. Complex and less stable research components have been removed to produce a system that can be easily used for industrial or university applications. A detailed list of supported features can be found in the documentation here.

The latest releases can be accessed directly from the SVN repository.

OpenEPOS 2

OpenEPOS 1 (Legacy)

Some snapshots of release candidates that have been made available in the past are linked here for convenience:


Recent versions of EPOS can go with any (recent) GCC version. However, since EPOS is itself the operating system, the compiler cannot rely on a libc compiled for another OS (such as LINUX). A cross-compiler is needed even if your source and target machines are x86-based PCs. You can download a precompiled GCC for EPOS below or compile a newlib-based tool-chain yourself. 

Copyright notice: GCC compilers and other auxiliary tools (e.g., binutils and newlib) are licensed through the GNU General Public License Version 2. The binary versions made available below were generated using the original source code from the referenced projects. To automate the build process to different architectures, a build script was developed and is made available together with the tar-balls bellow.  

GCC 7.2.0

GCC 4.4.4

GCC 4.0.2

uIP TCP/IP stack

Copyright notice: uIP is licensed under a BSD-style license. The source-code distributed here has minor changes and a simple compatibility layer.


OSEK/EPOS is an implementation of the OSEK/VDX operating system specification which targets automotive systems. An OSEK operating system is designed to deal with several kinds of control units of automotive systems, many of them incompatible between themselves, by creating abstractions which could be used by the system developers. In this project we have mapped OSEK abstractions such as tasks, counters, and alarms to EPOS abstractions, providing a compliant OSEK operating system.