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.

6
Leave a Reply

avatar
6 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
6 Comment authors
JMdanielinuxMihaben Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
TC
Guest
TC

as long it can play doom im happy

ben
Guest
ben

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

Miha
Guest
Miha

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

danielinux
Guest
danielinux

@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
Guest

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