Embedded & IoT Operating Systems
Overview and resources for various real-time and embedded operating systems.
General Information
- Wikipedia - Real-time Operating System (RTOS)
- Wikipedia - Comparison of RTOS
- Top IoT Operating Systems and Microsoft (Medium)
- Open Source IoT Operating Systems (HackerEarth)
Major Embedded OS/RTOS
- FreeRTOS (MIT)
- Active support for ARM, AVR, AVR32, ColdFire, IA-32, Cortex-M, MSP430, PIC, STM32, etc.
- Official Site
- RIOT OS (LGPL)
- Supports ARM, MSP430, AVR, x86.
- Official Site
- Apache Mynewt (Apache 2.0)
- Supports ARM Cortex-M, MIPS32, PIC32, RISC-V.
- Official Site
- Zephyr Project (Apache 2.0)
- Supports x86, ARM, ARC, NIOS2, XTensa, RISC-V.
- Official Site
Android Things (Brillo)
Internals & Daemons
/system/bin/peripheralman: C++ System Service for peripheral I/O.dumpsys com.google.android.things.pio.IPeripheralManager- Peripheral Manager Source
peripheral_io.h: The header for the new HAL.- HAL Path:
/system/lib/hw/peripheral_io.<board_name>.so
Device Classes & Protocols
- Classes: Vibrator, Battery, Audio, Modem, Bluetooth, Camera, IR, Display, GPS, Lights, NFC, Sensors, Wifi.
- Greybus Device Classes: standardizing communication.
- Protocols: USB, GPIO, SPI, UART, PWM, I2C, SDIO.