Real-Time Workshop User's Guide | ![]() ![]() |
モデルの解析
ビルドプロセスは、Simulinkブロック線図の解析から始まります。解析プロセスは、以下のタスクで構成されます。
このフェーズの間に、Real-Time Workshopは、モデルファイル(model
.mdl
) を読み込み、モデルの中間の表現をコンパイルします。この中間状態の記述は、言語に依存しない形式で、model
.rtw
というASCIIファイルに格納されます。model
.rtwファイルは、ビルドプロセスのつぎの段階への入力情報です。
model
.rtw
ファイルは、Simulinkモデル(.mdl
) ファイルの形式と同じです。「model.rtw ファイルの概要」には、 .rtw
ファイルの基本的な特徴が説明されています。model
.rtw
ファイルの内容に関する詳細は、Target Language Compiler Reference Guideを参照してください。
Target Language Compilerによるコード生成
ビルドプロセスの第二段階では、Target Language Compilerがmodel
.rtw
ファイルに格納されたモデルの中間記述をターゲット固有のコードに変換します。
Target Language Compilerは、モデルの記述をコードに変換する目的のためのみに設計されたインタプリタ型プログラミング言語です。Target Language Compilerは、複数のターゲットファイルtarget files (.tlc
ファイル)からなるTLCプログラムを実行します。TLCプログラムは、model
.rtw
ファイルを入力として使って、モデルからのコードの生成方法を指定します。
システムターゲットファイルは、エントリポイントまたはメインファイルです。
Simulinkモデル内の各ブロックに対して、ブロックをターゲット固有のコードに変換する方法を指定するブロックターゲットファイルがあります。
Target Language Compilerファンクションライブラリには、コード生成プロセスをサポートする関数が含まれます。
Target Language Compilerは、model
.rtw
ファイルを読み込みことから開始します。その後ターゲットファイル内(最初にシステムターゲットファイル、そのつぎに個々のブロックターゲットファイル)のコマンドを実行します。Target Language Compilerの出力は、Simulinkブロック線図のソースコードです。
カスタマイズされたMakefileの生成
ビルドプロセスの第三段階は、カスタマイズされたmakefile, model
.mk
を生成することです。生成されたmakefileは、make
ユーティリティに、要求されるハーネスプログラム、ライブラリ、ユーザ定義のモジュールと同様にモデルから生成されたコードをコンパイルおよびリンクするように指示します。
Real-Time Workshopは、システムテンプレートmakefilesystem
.tmf
からmodel
.mk
を作成します。システムテンプレートmakefileは、ユーザのターゲット環境に対して設計されます。テンプレートmakefileを使って、実行ファイルの作成中に用いられるコンパイラ、コンパイラのオプション、その他の情報を指定できます。
model
.mk
ファイルは、system
.tmf
の内容をコピーし、ユーザのモデルの設定を記述するトークンを付け加えて作成されます。
Real-Time Workshopは、固有のターゲット環境および開発システム用に設定された多くのシステムテンプレートmakefilesを提供します。System Target File Browserには、Real-Time Workshopにバンドルされているすべてのテンプレートmakefileの一覧があります。
既存のテンプレートmakefileを変更したり、ユーザ独自のテンプレートmakefileを与えることによって、ビルドプロセスをカスタマイズすることができます。
実行ファイルの作成
実行プログラムの作成は、ビルドプロセスの最終段階です。この段階は、図 2-5に示されているようにオプションです。
組み込みマイクロコントローラやDSPボードのようなシステムをターゲットとする場合、ソースコードのみを生成することを選択できます。その後コードをクロスコンパイルし、ターゲットハードウェアにダウンロードできます。第3章の「実行ファイルの作成」 では、ビルドによって実行ファイルを作成するかどうかを制御するオプションを説明します。
実行ファイルの作成は、可能ならば、model
.mk
ファイルが作成された後で行います。このとき、ビルドプロセスは、コンパイラを起動するmake
ユーティリティを呼び出します。不必要なCファイルのリコンパイルを防ぐために、make
ユーティリティは、オブジェクトとCファイルの間の依存性について日付チェックを行います。期限切れのソースファイルのみがコンパイルされます。
オプションで、make
は実行ファイルをターゲットハードウェアにダウンロードすることができます。
ビルドプロセスで作成されるファイルのまとめ
model
.*
ファイルは、Real-Time Workshopにおいて特定の機能があります。
model
.mdl
は、Simulinkによって作成され、高水準のプログラミング言語のソースファイルと似ています。model
.rtw
は、Real-Time Workshopビルドプロセスによって作成され、高水準言語のソースプログラムから作成されるオブジェクトファイルと似ています。model
.c
は、Target Language Compilerによって作成され、model
.mdl
ファイルに対応するCソースコードです。model
.h
は、Target Language Compilerによって作成され、モデル内のブロック間リンクの割り当てをするヘッダファイルです。model
_export.h
は、Target Language Compilerによって作成され、エクスポートされた信号、パラメータ、関数のシンボルを含むヘッダファイルです。model
.mk
は、Real-Time Workshopビルドプロセスによって作成され、実行ファイルのビルドのためにカスタマイズされたmakefileです。model
.exe
(PC) または
model
(UNIX)は、実行プログラムで、ユーザの開発システムによってmake
ユーティリティの制御のもとに作成されます。model.rtwファイルの概要
この節では、model
.rtw
ファイルの基本的な機能を調べます。 .rtw
ファイルは、以下のようなソースモデルから生成されます。
このモデルは、example.mdl
いうファイルに保存されます。Real-Time WorkshopはASCIIファイルexample.rtw
を生成します。example.rtw
ファイルは、レコードで構成される階層構造に格納された、パラメータ名とパラメータ値で構成されます。
.rtw
ファイルの詳細については、Target Language Compiler Reference Guideを参照してください。model
.rtw
ファイルの内容の詳しい説明が含まれています。
![]() | 自動プログラムビルド | コード生成とビルドプロセス | ![]() |