Real-time OS suitable for multitasking operation of small embedded devices
Overview
Scorpius is an ITRON-like real-time OS.
It achieves high-speed task scheduling operation with small code size, and is ideal for the needs shown below.
- I want to use the multitasking function in embedded devices with strict code size and memory restrictions such as IoT devices.
- Achieving high-speed task switching even with a weak CPU
- Even if you do not have advanced knowledge, you want to easily introduce a multitasking environment while looking at the Japanese manual
- I want to use the power saving function essential for IoT devices with a simple interface.
- I want a security function as an IoT device
- I want to check the internal operating status of the system, such as task transitions.
- Support is also required depending on the situation such as expansion support and operation analysis
Features
- task priority based scheduler
- Kernel code size is 0.95KB in minimum configuration
- Task switching is about 1us (Note 1)
- Supports all essential service functions for applications
- Easily portable to various processors
- Providing technical materials in Japanese and providing an inquiry environment through a forum
- Support for power saving and security functions will be available soon
- Visualize the operating status inside the system with the trace log function
- Basically provided free of charge (royalty not required)
Note 1: Measured time for dispatch processing (task context switching) when Cortex-M3/80MHz operation.
Features
specification | |
Kernel code size (Note 2) | 0.95 Kbyte (task function only) to 2.5 Kbyte (all functions) |
Memory area for each task management | About 80 bytes (Note 3) |
task dispatch time | 4.2us (Note 4) at ARM7/40MHz, 1us at Cortex-M3/80MHz |
Corresponding service call (Note 5) | Tasks, semaphores, event flags, Box, trace logs, energy saving (*6), memory pools (*6), security (*6) |
Trace log function | Compatible with the TOPPERS project trace log viewer “TraceLogVisualizer” (Note 7) |
Note 2: This is the result of compiling in our environment for ARM7 core.
Note 3: A memory area of the corresponding size is required for each additional task.
Note 4: For commercially available RTOS that support similar CPUs, the task dispatch time is 5 us when operating in a 60 MHz environment.
Note 5: You can create a kernel by selecting only the required functions.
Note 6: This will be supported in the near future.
Note 7: See http://www.toppers.jp/tlv.html.
corresponding device
- ARM7
- Cortex-M3/M4
- Nios® II (Standard)
Offerings
- 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 of task transition display by TraceLogVisualizer
Note 8: The trace log function may change the processing order of the entire system.
Note 9: It is necessary to implement the timer tick function separately.
Note 10: The time including the code of the trace log function is displayed.