ウインドリバー 組込みとモバイルソフトウェアの世界的なリーダー
ウインドリバーのオンラインサポートTechTip
ブックマーク/共有
ホーム : ウインドリバースクエア : ウインドリバーのオンラインサポートTechTip : 第5回 リアルタイムプロセス(RTP)後編
TechTip

第5回 リアルタイムプロセス(RTP)後編

前回に引き続きVxWorks6.xよりあらたに導入されたリアリタイムプロセスについて、解説します。今回は、cmdモードのシェルを使ったデバッグ方法とRTPの応用例などをご紹介いたします。

1. CMDモード

カーネルシェルやターゲットシェルにて通常のインタープリタモードからCMDモードに切り替えることで、Linuxライクな環境でデバッグができます。リアルタイムプロセス(RTP)のプログラムは、vxe拡張子のファイルで、実行する時、そのままファイル名を指定しますので、Linuxのような実行ができます。以下のコマンドが使用できます。

実行するRTPのパラメータもLinuxと同様ですので、パイプやリダイレクトを使いながらのデバッグができます。

では、RTPを実行してみましょう。

この実行例は、付属しているサンプルを実行したものです。(参照:New→Example→Wind River Real Time Process Sample Project)
RTPはメモリコンテキストを切り替えることができるので、①philosophersに切り替えるとlkupにてprintfの検索では3つ該当しますが、②全体に切り替えると10以上該当するのがわかります。RTPからの標準入出力はコンソールウインドウに表示されます。複数のRTPを実行している場合は下記のようにRTPごとにコンソールを切り替えることができます。③

2. RTPの応用例

RTPは、ユーザ空間で動作しているのと、カーネル空間や他のRTPとのメモリ保護機能があるので、非常にデバッグがしやすいというメリットがあります。そこで、デバッグ目的に通常のVxWorksアプリケーションをRTPで実行、デバッグすることもできます。わずかな修正でRTP化できますので、デバッグが終了したら、通常のVxWorksアプリケーションに戻す手法もあります。その場合、下記のようにdefineでプログラムを使い分けるとコンパイルのみで使い分けられます。

3.まとめ

2回に分けてRTPをご紹介しました。パフォーマンスではNativeには若干およびませんが、リアルタイム性も確保できていますし、安全面、デバッグにおいて多くのメリットがありますので、ぜひご利用ください。

Technical Tips一覧 »
ページの先頭へ戻る »