[an error occurred while processing this directive]
Games
Development
µC Tutorials
STM8
MCS-51
µC Tools
LLVM+SDCC
STM8 C compilers
STM8 RTOSes
[an error occurred while processing this directive]
[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
[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
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.
RTOS | Active | License | SDCC STM8 | IAR STM8 | Cosmic STM8 | Raisonance STM8 | ST7 | STM32 |
Atomthreads | ? | BSD | Yes | Yes | Yes | Yes | No | Yes |
BuguRTOS | Yes | GPL 3 + LE | Yes | Yes | No | Yes | No | Yes |
ChibiOS | Yes | GPL 3, APL 2, other | No | No | 2.4 | 2.4 | No | Yes |
CMX-TINY+ | ? | other | No | No | Yes | No | Yes | Yes |
Contiki | Yes | BSD | No | No | No | No | No | Yes |
embOS | Yes | other | No | Yes | No | No | Yes | Yes |
FreeRTOS | Yes | MIT | No | No | No | No | No | Yes |
IntrOS | Yes | GPL 3 | Yes | No | Yes | No | No | Yes |
µC/OS-II | Yes | Apache 2 | No | No | No | No | No | Yes |
µC/OS-III | Yes | Apache 2 | No | No | No | No | No | Yes |
µKOS-III | No | GPL 3 | Planned | No | No | No | No | Yes |
mipOS | Yes | MIT | Yes | No | Yes | Yes | Yes | Yes |
nOS | Yes | MPL 2 | No | Yes | No | No | No | Yes |
NuttX | Yes | BSD | No | No | No | No | No | Yes |
Nut/OS | Yes | BSD | No | No | No | No | No | Yes |
OpenERIKA | Yes | GPL 2 + LE | No | No | No | No | No | Yes |
OSA | No | BSD | No | Yes | Yes | Yes | No | No |
RIOT | Yes | LGPL | No | No | No | No | No | Yes |
RTA-OSEK | | other | No | No | No | No | Yes | No |
scmRTOS | Yes | MIT | No (req. C++ ss.) | Yes | No (req. C++ ss.) | No (req. C++ ss.) | No | Yes |
StateOS | Yes | GPL 3 | Yes | No | Yes | No | No | Yes |
Trampoline | Yes | GPL 2 | No | No | No | No | No | Yes |
Zephyr | Yes | Apache 2 | No | No | No | No | No | Yes |
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.