Renesas Synergy TM プラットフォーム ThreadX リアルタイム OS 紹介
アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2
Synergy プラットフォーム構成中核を担う ThreadX リアルタイム OS ご紹介部分 ページ 3
ThreadX とは 米国 Express Logic 社が開発した 組み込みシステム向けReal-Time Operating System コンシューマ機器 医療機器 産業用制御機器など 20 億台以上の機器への採用実績 高速 ( タスク切り替え時間 : 約 1μ 秒 @200MHz) コンパクト(ROM:2KB~ RAM:1KB~) スレッドやセマフォなどのオブジェクト数の制限無し タイムスライス コールバック スタックオーバフローチェック CPU 実行時間測定機能などを装備 API 名称 : 省略のない英単語で直感的にわかりやすい ページ 4
ThreadX の状態遷移 休止状態がないため スレッド終了 (Terminated/Completed) 後に再度スレッドを動作させたい場合は スレッドをリセット後再開 あるいは一旦スレッドを削除し再度スレッドを生成する必要あり ページ 5
ThreadX と μitron の機能比較 カテゴリ項目 ThreadX μitron 備考 全般 状態遷移 Ready, Executing, Suspended, Terminated, Completed カーネルオブジェクト生成 カーネルオブジェクト数 READY, RUNNING, WAITING, SUSPENDED, WAITING-SUSPENDED, DORMANT, NON- EXISTENT ThreadX には DORMANT( 休止状態 ) が存在しない 静的生成 / 動的生成 静的生成 / 動的生成 Synergyの静的生成は擬似的な静的生成 ( コンフィギュレータが動的生成コードを自動生成 ) 無制限 実装依存 待ち順序 FIFO 順 / 優先度順 FIFO 順 / 優先度順 ThreadXはAPIコール μitronはパラメータによる優 先度順指定となる ページ 6
カテゴリ項目 ThreadX μitron 備考 全般 システムタイマ 10ms ( デフォルト ) タイムアウト機能ありあり ポーリング機能ありあり 実装依存 コールバック関数 あり 実装依存 ThreadXではスレッド入口 / 出口 メッセージ送信 セマフォ開放時などにコールバック通知可能 スタックオーバフローチェック あり 実装依存 CPU 実行時間測定あり実装依存 Synergy では今後対応予定 サービスコールトレースあり実装依存 ページ 7
カテゴリ 項目 ThreadX μitron 備考 コンポーネント スレッド / タスク タスク例外 メッセージキュー / データキュー メールボックス メッセージバッファ セマフォ ミューテックス イベントフラグ ランデブ メモリブロックプール / 固定長メモリプール メモリバイトプール / 可変長メモリプール システム時刻管理 周期タイマ / 周期ハンドラ ワンショットタイマ / アラームハンドラ オーバランハンドラ ページ 8
カテゴリ項目 ThreadX μitron 備考 スレッド / タスク 最大優先度数 32~1024 実装依存 優先度範囲 0( 最高 )~ 1( 最高 )~ 優先度変更可能可能 ラウンドロビンスケジューリング 手動 ( サービスコール発行 )/ 自動 ( タイムスライス機能 ) 手動 ( サービスコール発行 ) スタック領域 ユーザ側で確保 カーネル側 / ユーザ側 を選択可能 ThreadX ではスレッド生成時にタイムスライス指定必須 (Synergy ではデフォルトでタイムスライス ON) Synergy ではコンフィギュレータを利用することでスタック領域の自動生成も可能 ページ 9
カテゴリ項目 ThreadX μitron 備考 メッセージキュー / データキュー データサイズ 4~64 バイト 4 バイト セマフォ カウンタ 0~ 4,294,967,295 (32ビット) 実装依存 ミューテックスプロトコル優先度継承優先度継承 / 優先度上限 イベントフラグビット数 32 ビット実装依存 システム状態管理 CPUロック 割り込み禁止 割り込み禁止および ディスパッチ禁止 ThreadX では割り込み禁止中でもプリエンプションされる可能性ある ディスパッチ禁止 不可 可能 ThreadXでは優先度 変更機能で代用 ページ 10
まとめ ThreadX の機能はμITRONなど他のRTOSとほぼ同等 装備していない機能については代替も可能 (μitronのメールボックスやメッセージバッファは条件付きで ThreadXのメッセージキューに代替可能 ) コールバック スタックオーバフローチェック CPU 実行時間測定などデバッグ用機能が充実 一部 μitronと概念や使い方が異なる部分がある ( スレッドリスタートはリセットおよび再開が必要 CPUロックは割り込みおよび優先度変更が必要 ) ThreadX とは別製品となるが μitron 資産を有効活用可能なμITRON4.0 仕様に準拠した ThreadX-μITRON ラッパー ( 株式会社グレープシステム社製 ) も Renesas Synergy ギャラリーサイトから入手可能 Renesas Synergy ギャラリー ( 下記 ) Renesas Synergy Gallery ( 初回は登録必要 ) ソフトウェアアドオン https://www.renesas.com/ja-jp/products/synergy/gallery.html ページ 11
免責事項 本資料に記載の ThreadX ソフトウェアは Express Logic が独占的所有権を有しています これらには Express Logic が著作権を有する情報が含まれています 本資料のいかなる部分も Express Logic およびルネサスによる事前の書面による同意なく 一部または全部を無断で転載 複写 複製することは禁止します 本マニュアルに記載されている内容は 予告無く変更されることがあります Express Logic は ThreadX の設計や信頼性を向上するため 本資料で示す仕様をいつでも予告なく変更する権利を保持します 本資料の内容の正確さには万全を期していますが Express Logic は 本資料の正確さを保証するものではありません 商標 ThreadX は Express Logic の登録商標です その他の製品名および企業名は それぞれの所有者の商標または登録商標です TRONは The Real-time Operating system Nucleus の略称です ITRONは Industrial TRON の略称です μitronは Micro Industrial TRON の略称です TRON,ITRON, およびμITRONは 特定の商品ないしは商品群を指す名称ではありません ページ 12
www.renesas.com