Skip to main content

Embedded & IoT Operating Systems

Overview and resources for various real-time and embedded operating systems.

General Information

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)
  • Apache Mynewt (Apache 2.0)
  • Zephyr Project (Apache 2.0)

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.