Article header sw ip header  1

IoT機器向けRTOS(Scorpius)

2017.05.09

小型組込み機器のマルチタスク動作に最適なリアルタイムOS

概要

Article header iot%e6%a9%9f%e5%99%a8%e5%90%91%e3%81%91rtos%ef%bc%88scorpius%ef%bc%891  3

Scorpiusは、ITRONライクなリアルタイムOSです。
小さなコードサイズで高速なタスクスケジューリング動作を実現しており、以下に示すようなニーズに最適です。

  • IoT機器のようなコードサイズやメモリの制限が厳しい組込み機器でマルチタスク機能を利用したい
  • 非力なCPUでも高速なタスク切替を実現したい
  • 高度な知識を持っていなくとも、日本語マニュアルを見ながら簡単にマルチタスク環境を導入したい
  • IoT機器に必須の省電力機能を簡単なインタフェースで利用したい
  • IoT機器としてセキュリティ機能も欲しい
  • タスク遷移などシステム内部の動作状態を確認したい
  • 拡張対応や動作解析など状況によってサポートも必要

特長

  • タスク優先度ベーススケジューラ
  • カーネルコードサイズは最小構成で0.95KB
  • タスクスイッチングは約1us(注1)
  • アプリケーションに必須なサービス機能を漏れなくサポート
  • 各種プロセッサへ容易に移植可能
  • 日本語による技術資料の提供と、フォーラムによる問い合わせ環境を用意
  • 近日中に省電力とセキュリティ機能に対応予定
  • トレースログ機能により、システム内部の動作状態を可視化
  • 基本的に無償提供(ロイヤリティ不要)

注1:Cortex-M3/80MHz動作時、ディスパッチ処理(タスクコンテキスト切替)にかかる時間を測定した値です。

特長

仕  様
カーネルコードサイズ(注2)0.95Kbyte(タスク機能のみ)~2.5KByte(全機能)
各タスク管理用メモリ領域約80Byte(注3)
タスクディスパッチ時間ARM7/40MHzで4.2us(注4)、Cortex-M3/80MHzで1us
対応サービスコール(注5)タスク、セマフォ、イベントフラグ、メールボックス、トレースログ、エナジーセービング(注6)、メモリプール(注6) 、セキュリティ(注6)
トレースログ機能TOPPERSプロジェクトのトレースログビューワ“TraceLogVisualizer”(注7) に対応
注2:ARM7 コアを対象に、弊社環境でコンパイルした結果です。
注3:タスクを1つ増やすごとに該当サイズのメモリ領域が必要です。
注4:同様のCPUをサポートする市販RTOSの場合、60MHz環境での動作で、タスクディスパッチ時間は、5usとなります。
注5:必要な機能のみ選択してカーネルを作成することができます。
注6:近日中に対応予定です。
注7:http://www.toppers.jp/tlv.htmlを参照してください。

対応デバイス

  • ARM 7
  • Cortex-M3/M4
  • Nios® II (Standard)

提供物

  • ソースコード
  • ユーザーズマニュアル
  • リファレンス環境

評価環境

  • シリコンラボ社EFM32TM Pearl Geckoスターターキット
  • シリコンラボ社EFM32TM Giant Geckoスターターキット
  • アナログ・デバイセズ社ADuCM320評価ボード
  • Terasic社 MAX® 10 Nios® II Embedded Evaluation Kit

TraceLogVisualizer によるタスク遷移表示例

Article header iot%e6%a9%9f%e5%99%a8%e5%90%91%e3%81%91rtos%ef%bc%88scorpius%ef%bc%892  2

注8:トレースログ機能により、システム全体の処理順序が変わる可能性があります。
注9:別途タイマティック機能を実装する必要があります。
注10:トレースログ機能のコードを含めた時間が表示されます。