Frosted OS is an Open Source POSIX Operating System for Cortex-M Micro-controllers

Frosted, which stands for “Free Operating Systems for Tiny Embedded Devices”, is an OS with a POSIX-compliant system call API, borrowing the Linux kernel kconfig for configuration, and currently supporting ARM Cortex M0,M3,M4, and M7 MCU including Texas Instruments Stellaris LM3S, STMicro STM32F4/F7, and NXP LPC17XX micro-controllers. The developers are focusing on IoT applications, as well as porting retro-games such as Doom.

Doom on STM32F7 Board
Doom on STM32F7 Discovery Board

The kernel relies on libopencm3 for hardware abstraction, and the operating system can be built with GCC ARM for Frosted using the source code released under a GNU GPLv2 license.

The Wiki explains how to build and run the OS on either Qemu (in a Linux computer) used LM3S target, or an STM32F4 Cortex -M4 or STM32F7 Cortex-M7 board. The team also uploaded showing a video of Doom (fdoom) running on STM32F7 board, and possibly adapted from stm32doom port.

If you are interested in joining the project you can contact the developers on #frosted IRC channel, or use Github’s issues tab to report bugs and/or new features requests. There’s also a webpage here.

Thanks to Zoobab for the tip.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
6 Comments
oldest
newest
TC
TC
7 years ago

as long it can play doom im happy

ben
ben
7 years ago

Nest also released an open source version of their OS (Thread)!
https://github.com/openthread/openthread

Miha
Miha
7 years ago

*GPL and embedded.
I’m going to pass. Unsuitable for commercial use.

danielinux
danielinux
7 years ago

@Miha ,

please note that there is no link between the kernel and the userspace, they execute out of two separate flash areas, and share no code but the syscalls API.

LibC are Open and permissive, so you can run any proprietary application. Only kernel (and drivers) are GPL’ed.

JM
JM
7 years ago

@ben Thread is not an OS, it’s just (one more) mesh protocol

Khadas VIM4 SBC