Real-Time Workshop User's Guide | ![]() ![]() |
基本的な概念
この節では、Real-Time Workshopを使用する前に知っておくべき概念と用語を紹介します。
ターゲットとホスト
ターゲット とは、生成コードが実行される環境-- ハードウェアまたはオペレーティングシステム-- です。この環境を指定するプロセスは、ターゲッティングと呼ばれます。
ターゲット固有のコードを生成するプロセスは、システムターゲットファイル, テンプレートmakefile、, make コマンドによって制御されます。希望するターゲットを選択するためには、3つの項目を個々に指定するか、多くの既成のコンフィグレーションから選択することができます。
ホスト は、MATLAB, Simulink, Real-Time Workshopを実行するために利用するシステムです。ホスト上でビルドツールを使って、ターゲットシステム上で実行するコードおよび実行ファイルを作成します。
利用可能なターゲット構成
Real-Time Workshopは、多くのターゲット環境をサポートします。これらには、既成のコンフィグレーションとサードパーティターゲットが含まれます。ユーザ独自のカスタムターゲットを開発することも可能です。
バンドルされているターゲット構成 The MathWorksは、つぎのターゲット構成を提供します。
バンドルされているターゲットと関連するシステムターゲットファイルおよびテンプレートmakefileの一覧は、「System Target Fileブラウザ」を参照してください。
サードパーティターゲット 多くのソフトウェアベンダは、Real-Time Workshopに対してカスタマイズされたターゲットを開発しています。サードパーティのターゲットの最新の一覧は、MATLAB Connections Webページ
http://www.mathworks.com/products/connections
を参照してください。Third-Party Solutions by Product Typeを表示してから RTW Targetを選択してください。
Custom Targets. 主として、カスタムハードウェアをターゲットとするためには、ターゲットシステムが生成コードを実行するためのハーネス(メイン) プログラムや、ハードウェアとの通信を行うI/Oデバイスドライバを作成する必要があります。また、システムターゲットファイルとテンプレートmakefileを作る必要があります。
Real-Time Workshopは、一般的なハーネスプログラムをカスタムターゲッティングの出発点として提供しています。第17章「リアルタイムシステムターゲット」 には、カスタムターゲットを開発するために必要な情報があります。
コードフォーマット
コードフォーマット は、固有のアプリケーションに対して適したコード生成のための枠組みを指定します。
ターゲット構成を選択する際に、暗示的にコードフォーマットを選択します。たとえば、組み込みリアルタイム(ERT)ターゲットを利用する場合は、生成されたコードは、組み込み C フォーマットです。 組み込み C コードフォーマットは、プロダクションコード生成のために設計されたコンパクトなフォーマットです。コードサイズ、メモリ使用量が小さく、呼び出しの構造がシンプルなので、組み込みのアプリケーションに対して最適です。/p>
一般的なリアルタイム(GRT)ターゲットのようなその他の多くのターゲットは、リアルタイム コードフォーマットを利用します。このフォーマットは、あまりコンパクトではありませんが、フレキシブルで、ラピッドプロトタイピングアプリケーションに対して最適です。
利用可能なコードフォーマットの詳細な説明については、第4章の「生成コードフォーマット」を参照してください。
一般的リアルタイムターゲット
Real-Time Workshopは、一般的リアルタイム開発ターゲットを提供します。一般的リアルタイム(GRT)ターゲットは、シングルタスクモードまたはマルチタスクモードでの固定ステップモデルのシミュレーションのための環境を提供します。GRTターゲットを用いて生成されたプログラムは、ユーザワークステーション上のプログラムとしてシミュレートされた時間でモデルを実行します。
GRTターゲットを使って、システム出力、状態、シミュレーション時間をデータファイルにロギングすることにより、コードの検証を行うことができます。データファイルは、その後データ解析とオリジナルモデルの出力との比較のため、MATLABワークスペースにロードされます。
GRTターゲットは、カスタムハードウェアのターゲッティングのための出発点を提供します。GRTハーネスプログラム grt_main.c
を変更して、リアルタイムクロックの制御下で、割り込みレベルにおいてモデルから生成されたコードを実行することができます
Target Language Compiler ファイル
Real-Time Workshop は、Target Language Compiler ファイル (またはTLC ファイル) を使って、Simulinkモデルをコードに変換します。Target Language Compilerは、コード生成とビルドプロセス中に2つのタイプのTLCファイルを使用します。システムターゲットファイルは、選択されたターゲットに対してコードを生成する方法を記述したもので、実行ファイルを作成するTLCプログラムに対するエントリポイントです。 ブロックターゲットファイル は、コードがモデル内のSimulinkブロックを検索する方法を定義します。
システムターゲットファイルとブロックターゲットファイルは、拡張子 .tlc
をもちます。 規約によって、システムターゲットファイルは、ターゲットに対応する名前をもちます。たとえば、grt.tlc
は、一般的リアルタイム(GRT)ターゲットに対するシステムターゲットファイルです。
テンプレートMakefiles
Real-Time Workshopは、テンプレートmakefileを使って生成コードから実行ファイルをビルドします。
Real-Time Workshopのビルドプロセスは、テンプレートmakefileからmakefileを作成します。テンプレートmakefile内の各行は、makefileにコピーされ、このプロセス中のトークンは、makefileに拡張されます。
ビルドプロセスによって作成されるmakefileの名前は、model
.mk
です。model
.mk
ファイルは、make ユーティリティに渡されます。make ユーティリティは、ファイルの集合から実行ファイルをコンパイルしリンクします。
規約によって、テンプレートmakefileは拡張子をもち、ターゲットとコンパイラに対応した名前をもちます。たとえば、grt_vc.tmf
は、Visual C/C++においての一般的リアルタイムプログラムをビルドするためのテンプレートmakefileです。
ビルドプロセス
上流のM-ファイルコマンドは、Real-Time Workshopのビルドプロセスを制御します。ほとんどのターゲットで使用されるデフォルトのコマンドは、make_rtw
です。ビルドを開始するとき、Real-Time Workshopはmake_rtw
を呼びます。make_rtw
コマンドは、つぎにTarget Language Compilerやmake
のようなその他のユーティリティを呼びます。ビルドプロセスは、つぎのステージで構成されます。
make_rtw
は、ブロック線図をコンパイルし、モデル記述ファイルmodel
.rtw
を生成します。make_rtw
は、Target Language Compilerを呼び、選択されたシステムターゲットファイルによって指定されたように model
.rtw
を処理して、ターゲット固有コードを生成します。make_rtw
は、選択されたテンプレートmakefileからmakefile,model
.mk
を作成しますmake
が呼ばれます。make
は、生成されたmakefileで指示された通りに生成コードからプログラムをコンパイルし、リンクします。第2章の自動プログラムビルドには、ビルドプロセスの概要が記述されています。第3章「コード生成とビルドプロセス」 には、コード生成とビルドオプションおよびパラメータに関する詳細が記述されています。
モデルパラメータとコード生成
モデルのシミュレーションパラメータは、コード生成とプログラムのビルドに直接影響を与えます。たとえば、モデルが60秒後に実行を停止するように設定されている場合は、モデルから生成されたプログラムも、60秒間実行します。Real-Time Workshopは、コードが生成されるモデルにおける必要条件と制限を与えます。
コードを生成し、実行ファイルをビルドする前に、 Simulation Parametersダイアログボックスでモデルパラメータを正確に設定したことを確認しなければなりません。詳細は、第3章の「シミュレーションパラメータとコード生成」 を参照してください。
![]() | オープンで拡張可能なモデリング環境 | クイックスタートチュートリアル | ![]() |