概要
説明
本製品は、組み込み用OSとして国内実績最大のµITRON仕様準拠のリアルタイムOSです。コンパクトな設計で、かつ優れたリアルタイム性能と豊富なサービスコールを持ち、高品質なリアルタイム・マルチタスク環境を備えた組み込みシステムを実現します。
また、ルネサス製コンパイラパッケージとの親和性やコンフィギュレータによる定義ファイルの自動生成機能により、アプリケーションを容易かつ短期間に開発できます。
特長
- µITRON4.0仕様に準拠
組み込み型制御用OSのアーキテクチャとして代表的なµITRON4.0仕様に準拠した設計です。 - 高性能を実現: 高速な割り込み応答
高速な割り込み応答時間を要求されるアプリケーションプログラムに対応できるように、OSのサービスコールを発行しない割り込みに対して、高速に応答できるように設計しています。 - ROM化に適したコンパクトサイズ
カーネルはライブラリ形式で提供しています。システム生成時に必要な機能のみをリンクすることで、 プログラムサイズを最小限に抑えることができます。 - コンフィギュレータ装備
OS構築パラメータの設定を容易にするコンフィギュレータを装備しています。GUIコンフィギュレータとコマンドラインベースのコンフィギュレータ (cfg308) を組み合わせて使用することにより、開発製品に依存したスタートアッププ ログラムやmakefileなどを自動生成できます。これにより、必要なライブラリを簡単にもれなく組み込むことができるなど、製品に特化した部分を簡単 にかつ確実に処理することができます。[詳細] - C言語/アセンブリ言語との優れたインタフェース
対応コンパイラパッケージと併用することで、以下のような機能をサポートします。- カーネルダイレクトコール機能 : カーネルをC言語インタフェースライブラリを介さずに直接呼び出すことができるため、コードサイズの縮小と実行速度の向上が図れます。
- タスクおよび各種ハンドラの記述の簡略化 : C言語ソースファイル中でタスクおよび各種ハンドラの開始関数を指定することにより、タスクおよび各種ハンドラの開始処理と終了処理の最適化が可能です。
- コンテキスト選択機能 : タスクの切り替え時に退避するレジスタを選択することができるため、不要なレジスタの退避がなくなり、スタックサイズの使用量削減と実行速度の向上が図れます。
- 統合開発環境High-performance Embedded Workshopとの連携
他のルネサスMCU用ツールチェーンと共通の操作によって、OS組み込みアプリケーションの開発ができます。 - 対応コンパイラ:M32C/xx, M16C/70,80シリーズ用CコンパイラM3T-NC308WA、アセンブラAS308
- Learn More
リリース情報
ターゲットデバイス
詳細情報
機能
M3T-MR308/4カーネルは以下の機能モジュールから構成されています。個々のモジュールはその機能を実現する関数群(サービスコール)で提供されます。
- スケジューラ
優先度に基づいて複数のタスクの実行順序を管理します。 - タスク管理
実行・実行可能・待ち・強制待ちなどのタスク状態を管理します。 - タスク付属同期
タスク付属同期タスクの状態を他のタスクから変化させ、タスク間の同期をとります。 - 割り込み処理
割り込みハンドラからの復帰、タスクの起床兼復帰処理、およびタスクごとの割り込み禁止/解除を行います。 - 時間管理
M3T-MR308/4カーネルで使用するシステムタイマの設定、ユーザの作成したアラームハンドラ、周期起動ハンドラの起動を行います。 - システム構成管理
カーネルのバージョン番号などの情報を報告します。 - システム状態管理
システムの状態を変更、参照するための機能です。 - 同期・通信
タスク間の同期・通信を行います。以下の4つの機能モジュールが用意されています。- イベントフラグ
カーネルが管理するフラグの状態により、タスク間の同期をとる機能です。 - セマフォ
カーネルが管理するセマフォカウンタ値により、タスク間の同期をとる機能です。 - メールボックス
タスク間でメッセージの送受信を行い、タスク間の同期をとる機能です。 - データキュー
タスク間で4バイトのデータ通信を行い、タスク間の同期をとる機能です。
- イベントフラグ
- メモリプール管理
タスクが使用するメモリ領域を動的に獲得/解放します。これによりメモリを有効に利用できます。 - 周期ハンドラ機能
周期的に起動されるハンドラの実行を制御します。 - アラームハンドラ機能
指定された相対時刻に起動されるハンドラの実行を制御します。
仕様一覧
ターゲットMCU | M32C/80, M16C/80, M16C/70シリーズ |
---|---|
最大タスク数 | 255 |
タスクの優先度数 | 255 |
最大イベントフラグ数 | 255 |
イベントフラグ幅 | 16ビット |
最大セマフォ数 | 255 |
セマフォの形式 | 計数型 |
最大メールボックス数 | 255 |
最大データキュー数 | 255 |
データキューサイズ | 32ビット(16ビットは、拡張機能サービスコールとしてサポート) |
最大固定長メモリプール数 | 255 |
最大可変長メモリプール数 | 255 |
最大周期ハンドラ数 | 255 |
最大アラームハンドラ数 | 255 |
サービスコール数 | 133 |
カーネル記述言語 | アセンブリ言語, C言語 |
性能(wup_tskを発行してから対象タスクの実行が始まるまでの時間) | 8μs (M32C/83, 30MHz) |
カーネルコードサイズ | 約3K~21Kバイト |
カーネルRAM 1タスクあたり | データ:19バイト スタック:12バイト |
評価ライセンス製品パッケージ内容
カーネルライブラリ | mr308.lib |
---|---|
カーネルライブラリのソースファイル | 含まれません(量産ライセンス製品パッケージでの提供となります) |
コンフィギュレータ | cfg308 |
その他ユーティリィティ | mr308tbl, echo308 |
デフォルトコンフィギュレーションファイル | default.cfg |
C言語インタフェースライブラリ | c308mr.lib |
C言語インタフェースライブラリのソースファイルおよびメイクファイル | 25ファイル |
C言語インクルードファイル | itron.h, kernel.h, kernel_api.h |
サンプルスタートアッププログラム | [NC308用]crt0mr.a30 [AS308用]start.a30 |
サンプルセクション定義ファイル | [NC308用]c_sec.inc [AS308用]asm_sec.inc |
システムRAM領域定義データベースファイル | sys_ram.inc |
makefile作成用データベースファイル | makefile.dos |
テーブルデータベースファイル | mrtable.tpl |
サービスコール発行機能用サービス コールファイル | isssys.mrc |
インクルードデータベースファイル | mr308.inc |
M3T-MR308/4バージョンファイル | version |
サンプルプログラム | demo.c, smp.cfg |
量産ライセンス製品パッケージ内容
(1) ソースコード付き量産ライセンスの場合
- 評価ライセンス製品パッケージ内容
- 量産権利(詳細は使用権許諾契約書をご覧ください)
- M3T-MR308/4カーネルライブラリ(mr308.lib)のソースファイル
(2) ソースコードなし量産ライセンスの場合
- 評価ライセンス製品パッケージ内容
- 量産権利(詳細は使用権許諾契約書をご覧ください)
処理フロー
画像