RTOS for IoT - Scorpius

Multi-task real-time OS for small embedded devices

Scorpius is an ITRON-like real-time OS for IoT applications.

 

High-speed task scheduling is provided with a mall-code footprint, making this operating system perfect for the needs below.

 

  • Multi-tasking on small embedded devices such as IOT devices where code size and memory limitations are critical
  • High-speed task switching even with a low performance CPU
  • Implementation of a multi-tasking environment without high-level OS expertise
  • Implementation of power saving functions that are essential for IoT devices
  • Implementation of a security function on IoT device
  • Monitoring of internal system operations including task transitions.
  • Future-proofing to allow software expansion and execution analysis

Features

  • Task priority based scheduler
  • 0.95 KB kernel size in the smallest configuration
  • Approximately 1us task switching (Note 1)
  • Supports all service functions required by small embedded device applications
  • Easy migration to various processors
  • Support for power saving and security functions (future option)
  • Trace-log function to visualize internal system operations
  • Royalty-free model

Specifications

Kernel Code Size(Note 2)0.95 KBytes (task functions only) to 2.5 KBytes (all functions)
Memory size for Each Task managementApproximately 80 Bytes (Note 3)
Task Dispatch Time4.2 us (Note 4) with ARM7/40 MHz, 1 us with Cortex-M3/80 MHz
Supported Service Calls(Note 5)Task, Semaphore, Event Flag, Mailbox, Trace Log, Energy Saving (Note 6) , Memory Pool (Note 6) , Security (Note 6)
Trace Log FunctionCompatible with TOPPERS Project trace log viewer TraceLogVisualizer (Note 7)

Supported Devices

  • ARM7
  • Cortex-M3/M4
  • Nios II (Standard)

Deliverables

  • Source code
  • User’s manual
  • Reference environment

Evaluation Environment

  • Silicon Labs EFM32TM Pearl Gecko Starter Kit
  • Silicon Labs EFM32TM Giant Gecko Starter Kit
  • Analog Devices ADuCM320 Evaluation Board
  • Terasic MAX® 10 Nios II Embedded Evaluation Kit

Example Task Transition Display Using TraceLogVisualizer

iuiu

(Note 1)  Measured time required for dispatch processing (task context switching) at Cortex-M3/80 MHz operation.

(Note 2)  Compilation result for ARM7 core using Macnica environment.

(Note 3)  Memory area size required for every additional task.

(Note 4)   In the case of typical commercially available RTOS supporting similar CPUs, task dispatch time is around 5 us at 60 MHz

(Note 5)  Kernel can be created with minimum required functions only.

(Note 6)  Support planned in near future.

(Note 7)  Refer to http://www.toppers.jp/en/index.html

(Note 8)  Trace log function may change overall system processing order.

(Note 9)  Requires implementation of a timer function.

(Note 10)  Displays execution time including the trace log function code.

Downloads