[an error occurred while processing this directive]

ColecoVision

[an error occurred while processing this directive]

ColecoVision

Games

Development

µC Tutorials

STM8

MCS-51

µC Tools

LLVM+SDCC

STM8 C compilers

STM8 RTOSes

[an error occurred while processing this directive]

Development

[an error occurred while processing this directive]
Tutorial

Introduction to sdcc

ColecoVision system

Playing music

Hardware

Homebrew kits

Homebrew kit CV

Homebrew kit CVs

Software

libcv and libcvu

png2cv

png2cvs

abc2cvm

cvmtuning

compression utilities

Games

[an error occurred while processing this directive]
Released

Schlange CV

Search for the stolen Crown Jewels

Monster Masher

Search for the stolen Crown Jewels 2

Cye

Search for the stolen Crown Jewels 3

Bankruptcy Builder

Shunting Puzzle

Ȼi̅x̅

In development

Colored Gravity

Tunnels & Trolls

[SK - name not final]

Io

[an error occurred while processing this directive]

Compiler Comparison
RTOS Availability

Tutorials

STM8L-DISCOVERY

LED Timer
Serial

STM8S-DISCOVERY

LED Timer
Serial

STM8A-DISCOVERY

STM8AF LED Timer
STM8AF Serial
STM8AF Benchmarks
STM8AL LED Timer
STM8AL Serial

EX-STM8-Q64a-207

LED Timer
Serial
Benchmarks

Open8S208Q80

LED Timer
Serial
Benchmarks

EX-STM8-Q48a-105

LED Timer
Serial

STM8/128-EVAL

LED Timer
Serial
Benchmarks

STM8L101-EVAL

Serial

[an error occurred while processing this directive]

Tutorials

EX-F320

LED Timer
Serial

C8051F340/380

LED Timer
Serial

C8051F V2.1 (F020)

LED Timer
Serial

C8051F300 Dev. B. Mod.

LED Timer
Serial

C8051F V2.1 (F120)

LED Timer
Serial
Benchmarks

51 MCU SCM

Serial

STC89 DEMO BOARD

LED Timer
Serial

EZ-USB FX2LP

LED Timer
Serial
Benchmarks

colecovision.eu

ColecoVision

[an error occurred while processing this directive]

How to buy

STM8

MCS-51

LLVM+SDCC

Contact

Availability of Real-Time Operating Systems for the STM8

This is a list of currently (mid-2024) available Real-Time Operating systems relevant to the STM8. The author tried to include all RTOSes available for the STM8, and also others of particular importance. The list is focused on availability and does thus not discuss code size, speed, etc. It considers aspects of availability, such as the license, the supported compilers, and availability of ports to the ST7 and STM32 architectures.

RTOSActiveLicenseSDCC STM8IAR STM8Cosmic STM8Raisonance STM8ST7STM32
Atomthreads?BSDYesYesYesYesNoYes
BuguRTOSYesGPL 3 + LEYesYesNoYesNoYes
ChibiOSYesGPL 3, APL 2, otherNoNo2.42.4NoYes
CMX-TINY+?otherNoNoYesNoYesYes
ContikiYesBSDNoNoNoNoNoYes
embOSYesotherNoYesNoNoYesYes
FreeRTOSYesMITNoNoNoNoNoYes
IntrOSYesGPL 3YesNoYesNoNoYes
µC/OS-IIYesApache 2NoNoNoNoNoYes
µC/OS-IIIYesApache 2NoNoNoNoNoYes
µKOS-IIINoGPL 3PlannedNoNoNoNoYes
mipOSYesMITYesNoYesYesYesYes
nOSYesMPL 2NoYesNoNoNoYes
NuttXYesBSDNoNoNoNoNoYes
Nut/OSYesBSDNoNoNoNoNoYes
OpenERIKAYesGPL 2 + LENoNoNoNoNoYes
OSANoBSDNoYesYesYesNoNo
RIOTYesLGPLNoNoNoNoNoYes
RTA-OSEKotherNoNoNoNoYesNo
scmRTOSYesMITNo (req. C++ ss.)YesNo (req. C++ ss.)No (req. C++ ss.)NoYes
StateOSYesGPL 3YesNoYesNoNoYes
TrampolineYesGPL 2NoNoNoNoNoYes
ZephyrYesApache 2NoNoNoNoNoYes

Real-Time Operating Systems

Atomthreads

Atomthreads is a free, lightweight, portable, real-time scheduler for embedded systems. It was the first RTOS for the STM8. Most development is done by Kelvin Lawson, but there also is a small community of contributors and users around Atomthreads.

BuguRTOS

BuguRTOS is small portable OS-kernel for microcontrollers., which is developed by a single developer, shkolnick-kun. Source code comments are mostly in Russian.

ChibiOS

ChibiOS is a complete development environment for embedded applications including RTOS, an HAL, peripheral drivers, support files and tools. The STM8 was supported up to the 2.4 release. Then support was dropped, with an unsatisfactory toolchain situation stated as one of the reasons by the developers. However, the developers are considering bringing back STM8 support via SDCC.

CMX-TINY+

CMX-TINY+ provides slightly less functionality than the CMX-RTX RTOS. It was one of the first RTOSes available for the STM8.

Contiki

Contiki is an open source operating system for the Internet of Things. It is one of the more well-known OSes for small systems, but does not yet have an STM8 port.

embOS

embOS is a priority-controlled real time operating system, designed to be used as foundation for the development of embedded real-time applications.

FreeRTOS

FreeRTOS considers itself to be the market leading, de-facto standard and cross platform RTOS (though µC/OS below makes a similar claim). It is definitely one of the most common and important RTOSes. Unfortunately, it does not yet support the STM8.

IntrOS

IntrOS is a free cooperative operating system (OS) designed for deeply embedded applications, made by the same people as StateOS.

µC/OS

µC/OS considers itself the number one RTOS on earth (though FreeRTOS above makes a similar claim). It is a full-featured RTOS with full networking and file system. It is definitely one of the most common and important RTOSes. Unfortunately, it does not yet support the STM8.

µKOS-III

µKOS-III is a multi-tasking OS suitable for small embedded µController systems. An STM8 port wasplanned, but did not become yet available.

mipOS

is a cooperative multitasking RTOS designed for single-chip micro-controllers with severely limited RAM and ROM. Previously, it was apparently non-free and information or download links were hard to find, and some of it was available in Italian only. Now it can be found on GitHub under the MIT license.

nOS

nOS needs more documentation.

NuttX

NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. It is developed by an active community. It does not yet support the STM8.

Nu/OS

Nut/OS modular, open source, real time operating system for embedded platforms. It was originally developed by the community around the Ethernut boards.

OpenERIKA

OpenERIKA (formerly Erika Enterprise) is a free of charge open-source OSEK/VDX Hard Real Time Operating System (RTOS).

OSA

OSA is a cooperative multitasking real-time operating system. The community is mostly Russian, and the Russian documentation seems to be more complete than the English one. OSA is no longer under active development.

RIOT

RIOT considers itself the friendly Operating System for the Internet of Things. It is developed by a big and very active community. It is likely to become one of the most common and important RTOSes. Unfortunately, it does not yet support the STM8.

RTA-OSEK

RTA-OSEK provides a production real-time operating system for applications in all areas of automotive ECU design. It supports ST7, the predecessor of the STM8, but not yet the STM8.

scmRTOS

scmRTOS is a free tiny preemptive Real-Time Operating System intended for use with Single-Chip Microcontrollers. It is developed by an active community. Unlike most other RTOSes in this list, scmRTOS is not written in C, but in a subset of C++.

StateOS

StateOS is free, real-time operating system (RTOS) designed for deeply embedded applications with a focus on speed and code size. It is made by the same people as IntrOS.

Trampoline

Trampoline is a static RTOS for small embedded systems. Its API is aligned with OSEK/VDX OS and AUTOSAR OS 4.1 standards. It is developed by a small, active community.

Zephyr

Zephyr is a recenlty-risign star among RTOSes. There is no STM8 port yet.

Compilers

There are currently 4 mainstream C implementations for the STM8. A more extensive comparison of them is outside the scope of this document.

SDCC

SDCC is a free retargettable, optimizing Standard C (ANSI C89, ISO C99, ISO C11) compiler suite. Unlike the other compilers for the STM8 it does not use virtual registers, resulting in lower interŕupt latency at the price of bigger code size. SDCC added support for the STM8 later than others compilers, and SDCC support in RTOSes is not yet up to the level of other compilers.

IAR

IAR Embedded Workbench for STM8 is a completely integrated development environment incorporating a compiler, an assembler, a linker and a debugger. It nearly fully supports the ANSI C89 and ISO C99 standards. It tends to be best at optimizing for code speed. Even though IAR aded STM8 support later than Cosmic and Raisonance, IAR is supported by more RTOSes. IAR is the only compiler for STM8 that besides C also supports a subset of C++.

Cosmic

The Cosmic STM8 Cross Development Tools mostly support the ANSI C89 and ISO C99 standards. Its optimizations provide a reasonable balance between code size and code speed.

Raisonance

The Raisonance STM8, ST7 C Compiler mostly supports the ANSI C89 standard. It tends to be best at optimizing for code size.