RXファミリ用リアルタイムOS [RI600/PX](保守製品)

現在ご採用中のお客様限定でユーザサポートのみを提供しています。
新規ご採用につきましては後継品 [RI600PX] をご検討ください。

概要

RI600/PXは、µITRON4.0仕様に基づいて開発されたRXファミリ用リアルタイムOS「RI600/4」に、「µITRON4.0仕様保護機能拡張」の仕様であるメモリ保護機能を追加した製品です。ランデブ以外のほぼ全てのサービスコールをサポートしています。

  • µITRON4.0保護機能拡張のメモリオブジェクト以外のカーネルオブジェクトの保護機能はサポートしていません。
  • µITRON仕様の著作権はトロンフォーラムに属しています。
  • TRON、ITRON、およびµITRONは、コンピュータの仕様に対する名称であり、特定の商品ないし商品群を指すものではありません。

リリース情報

最新Ver.: V1.00 Release 01

リリース日:2013/4/16

バージョンアップ内容(ツールニュース参照)

動作環境

契約形態

 ユーザーズマニュアル

特長

  1. µITRON4.0仕様に準拠
    RI600/PX は、µITRON仕様の最新バージョンであるµITRON4.0仕様に基づいて開発されたRI600/4をベースとし、µITRON4.0仕様保護機能拡張のメモリ保護機能を追加した製品です。このため、µITRON仕様関連の各種出版物やセミナー等で得た知識を、そのまま役立てることができます。
    また、µITRON仕様に準拠した他のリアルタイムOSを用いて開発したアプリケーションプログラムを、比較的容易にRI600/PXに移植することができます。
  2. 高速処理を実現
    メモリ保護機能は、RX600シリーズマイコンが持つMPU(Memory Protection Unit)を制御することで実現していますので、システムへの影響も最小限とし、高速処理に対応しています。
  3. 必要モジュールのみを自動選択することにより常に最小サイズのシステムを構築
    RI600/PXのカーネルは、ライブラリ形式で供給されています。したがって、リンケージエディタの持つ機能により、数あるカーネルの機能モジュールの 中からアプリケーションが使用しているモジュールのみが自動選択されます。このため、常に最小サイズのシステムを生成できます。
  4. 統合開発環境を利用して効率の良い開発が可能
    ルネサス統合開発環境High-performance Embedded Workshopを使用して、開発を行うことができます。High-performance Embedded Workshopでは、RI600/PX対応アプリケーション用のワークスペースを生成する機能をサポートしています。
  5. コンフィギュレータによる容易なカーネル構築
    RI600/PXでは、コマンドラインコンフィギュレータcfg600pxを装備しています。各種カーネル構築情報をテキスト形式のcfgファイルに記述することで、カーネルを構築することができます。テキスト形式なので、変更管理も容易です。

メモリ保護機能について

  • 高信頼性システム
    プログラムミスをプログラムデバッグ時に検出できず、シ ステムが市場に出荷された後で不具合が発生する可能性に対して、本OSはシステムの高信頼性化を実現します。メモリデータ破壊が、特にOS等を格納してい るメモリ領域で発生すると、システムの動作が異常になる等の危険な状態を招きます。しかし本OSではメモリデータが破壊されることはないため、システムは 正常な動作を継続でき、信頼性の高いシステムの実現に貢献します。
  • デバッグ支援
    メモリプロテクションの無いシス テムでは、一般にはポインタ不正などでメモリ内容が破壊されても、実際に不具合現象となってはじめて気付きます。バグの原因を特定するには、エミュレータ のトレース機能などを元に解析するしかなく、それには多くの時間を費やす必要がありました。RI600/PXでは、不正メモリアクセスの時点でそれが検出 されるので、デバッグ効率が飛躍的に高まります。
     

RI600/PXがサポートするメモリ保護機能を以下に示します。

  1. タスクによる不正アクセスの検出
    タスクは、いずれかのドメインに所属します。一方、アドレス空間はメモリオブジェクトに分割されます。各ドメインについて、どのメモリオブジェクトにどの ようなアクセス(リード/ライト/実行)が可能かを設定できます。タスクが許可されていない領域にアクセスした場合には、メモリアクセス違反ハンドラが起 動されます。
    なお、ハンドラはすべてのアドレス空間にアクセスできます。
  2. タスクスタックの保護
    タスクは、他のタスクのスタックにはアクセスできません。他のタスクのスタックにアクセスした場合は、メモリアクセス違反ハンドラが起動されます。
  3. カーネルによる不正アクセスの防止
    カーネルはハンドラと同様に全アドレス空間にアクセスできるため、サービスコールに不正なポインタパラメータが渡されると、カーネル自身が不正アクセスを 行ってしまうことになります。このような事態を避けるため、カーネルはサービスコールを呼び出したタスクがそのポインタ領域をアクセスできるかをチェック します。違反を検出した場合には、サービスコールはエラーを返します。

 

 

メモリ保護の概要

 

機能

RI600/PXカーネルは以下の機能モジュールから構成されています。個々のモジュールはその機能を実現する関数群(サービスコール)で提供されます。

  • スケジューラ
    優先度に基づいて複数のタスクの実行順序を管理します。
  • タスク管理
    実行・実行可能・待ち・強制待ちなどのタスク状態を管理します。
  • タスク付属同期
    タスク付属同期タスクの状態を他のタスクから変化させ、タスク間の同期をとります。
  • 割り込み処理
    割り込みハンドラからの復帰を行います。
  • 時間管理
    RI600/PXカーネルで使用するシステムタイマの設定、ユーザの作成したアラームハンドラ、周期ハンドラの起動を行います。
  • システム構成管理
    カーネルのバージョン番号などの情報を報告します。
  • 同期・通信
    タスク間の同期・通信を行います。以下の4つの機能モジュールが用意されています。
    • イベントフラグ:
      カーネルが管理するフラグの状態により、タスク間の同期をとる機能です。
    • セマフォ:
      カーネルが管理するセマフォカウンタ値により、タスク間の同期をとる機能です。
    • メールボックス:
      タスク間でメッセージの送受信を行い、タスク間の同期をとる機能です。
    • データキュー:
      タスク間で4バイトのデータ通信を行い、タスク間の同期をとる機能です。
  • 拡張同期・通信機能
    タスク間の同期・通信を行います。以下の2つの機能モジュールが用意されています。
    • メッセージバッファ:
      可変長のデータ通信によりタスク間の同期をとる機能です。
    • ミューテックス:
      優先度逆転現象を回避するための優先度上限プロトコルにより、タスク間の同期をとる機能です。
  • メモリプール管理
    タスクが使用するメモリ領域を動的に獲得/解放します。これによりメモリを有効に利用できます。
  • タスク例外処理機能
    タスク例外の定義、起動などタスク例外の実行を制御します。
  • 周期ハンドラ機能
    周期的に起動されるハンドラの実行を制御します。
  • アラームハンドラ機能
    指定された相対時刻に起動されるハンドラの実行を制御します。
  • システム構成管理
    カーネルのバージョン番号などの情報を報告します。
  • メモリ保護機能
    以下のメモリ保護機能をサポートします。
    1.タスクによる不正アクセスの検出
    2.タスクスタックの保護
    3.カーネルによる不正アクセスの防止

仕様一覧

ターゲットMCU MPU(Memory Protection Unit)を搭載した
RXファミリRX600シリーズ
最大タスク数 255
タスクの優先度数 255
性能(wup_tskを発行してから 3.2マイクロ秒(RX630、100MHz)
対象タスクの実行が始まるまでの時間)
カーネルコードサイズ 約6.3K~33.5Kバイト
カーネルRAM 1タスクあたり データ:20バイト
スタック:44バイト

  

製品パッケージ内容

項目 説明 備考
カーネルソースプログラム カーネル本体ソースプログラム ソースコード付き量産契約の場合にのみ提供
カーネル本体ライブラリ システム構築用カーネルライブラリ ビッグ/リトルエンディアンに対応
標準ヘッダファイル ・ITRON共通定義ファイル
・カーネル仕様定義ファイル
・その他定義ファイル
ヘッダファイルはC言語用を提供
コマンドラインコンフィギュレータ
(cfg600px)
テキスト形式で構築パラメータを記述したcfgファイルから、各種定義ファイルを出力します。
テーブル生成ユーティリティ
(mkritblpx)
ベクタテーブル・サービスコールジャンプテーブルを生成するユーティリティ
マニュアル ユーザーズマニュアル PDF形式

  

処理フロー

メモリ算出ツール

ダウンロード

メモリ算出ツールで以下のメモリ算出作業を行えます。

  • カーネルプログラムのコードサイズ
  • カーネル定数コード(ROM)サイズ
  • カーネル変数コード(RAM)サイズ
  • スタックサイズ

算出方法はダウンロードデータに含まれる各エクセルファイルをご参照ください。

ターゲットデバイス

ファミリ グループ
RX Family

開発ツール サポート情報

タイトル 概要
My Renesas MY RENESASに登録いただくと、各種ドキュメントの改訂情報、
ツール製品などのダウンロードサービスやメールニュースなどの
各種サービスをご利用いただけるようになります。
セミナー マイコン学習のための情報が掲載されています。
FAQ よくあるお問合せ、開発のヒントが掲載されています。
フォーラム ルネサスの総合コミュニティサイトです。
ツールニュース ツールのリリース情報、注意事項などが掲載されています。
動作環境 ツール製品の最新バージョンの動作環境をご案内しています。
旧製品/保守製品 すでに新規供給を終了しているルネサス開発環境製品の一覧が掲載されています。