EPOS Software

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.


You can download the current development version of OpenEPOS from LISHA's GitLab.

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. If you are an instructor, please request access via epos@lisha.ufsc.br.

OpenEPOS Releases

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 use your distro's cross-compilers, 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 13.2.0 (EPOS 2.2)

GCC 11.1.0 (EPOS 2.2)

GCC 10.2.0 (EPOS 2.2)

GCC 7.2.0 (EPOS 2.1)

GCC 4.4.4 (EPOS 2.0)

GCC 4.0.2 (EPOS 1.0)

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 that 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.