このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
ビルドプロセスには,モデルからのCまたはc++でのコード生成と,生成されたコードからの実行可能プログラムのビルドが含まれます。この例では,コード生成用の汎用リアルタイム (GRT) または組み込みリアルタイム (ERT) のシステム ターゲット ファイル (STF) を使用できます。結果として得られるスタンドアロン プログラムは、外部のタイミングやイベントとは無関係に開発用コンピューター上で実行されます。
この例では,slexAircraftExample
モデルのローカルコピーを使用しており,それは自身のフォルダーaircraftexample
に保存されています。”“作業フォルダーを次のように設定します。
MATLAB®の現在のフォルダーブラウザーで,書き込みアクセス権があるフォルダーに移動します。
作業フォルダーを作成するには,以下のMATLABコマンドを入力します。
mkdir aircraftexample
aircraftexample
を作業フォルダーにします。
cd aircraftexample
slexAircraftExample
モデルを開きます。
slexAircraftExample
モデルが金宝app仿真软件®エディターのモデルウィンドウに表示されます。
モデルウィンドウで,[ファイル]、(名前を付けて保存)を選択します。作業フォルダーaircraftexample
に移動します。slexAircraftExample
モデルのコピーをmyAircraftExample
として保存します。
コードを生成する際,コードジェネレーターは作業フォルダー内に”“ビルドフォルダーを作成します。ビルドフォルダーの名前は
で,ソースモデルと選択したシステムターゲットファイルの名前に基づいています。ビルドフォルダーには,生成されたソース コードとビルド プロセス中に作成されたその他のファイルが格納されます。この例の最後に、ビルド フォルダーの内容を確認します。模型
_目标
_rtw
モデルに模型ブロック(他のモデルに対する参照)が含まれている場合,参照モデルのコードを整理するために,モデルビルドはコード生成フォルダーに特殊なサブフォルダーを作成します。これらのコード生成フォルダーは製品のビルドフォルダーと併設され,slprj
と命名されます。詳細については,モデル参照階層向けのコードの生成を参照してください。
slprj
フォルダーの下にある_sharedutils
という名前のサブフォルダーに,モデル間で共有できる生成されたコードが含まれます。
モデルからコードを生成するには,一部のモデルコンフィギュレーションパラメーターを変更しなければなりません。特に,汎用リアルタイム(GRT)システムターゲットファイルと他の大部分のシステムターゲットファイルでは,モデルで固定ステップソルバーを指定する必要があります。
メモ
可変ステップソルバーを指定するモデルについて,モデルでもラピッドシミュレーション(rsim
)またはs函数システムターゲットファイルが指定されている場合のみ,コードジェネレーターはコードを作成します。
myAircraftExample
モデルがまだ開かれていなければ,開きます。
[コンフィギュレーションパラメーター]ダイアログボックスで,ソルバーのコンフィギュレーションパラメーターの値を指定します。
開始時間:0.0
終了時間:60
タイプ:固定ステップ
ソルバー:[ode5 (Dormand-Prince))
固定ステップサイズ(基本サンプル時間):0.1
各離散レートを個別のタスクとして扱う:从
[適用]をクリックします。
モデルを保存します。
モデルのビルドプロセスを構成するには,システムターゲットファイル,ツールチェーンまたはテンプレートmakefile,使
コマンドを選択します。
これらの例とほとんどのアプリケーションでは,これらのパラメーターを個々に指定する必要はありません。この例では,すぐ実行できる汎用リアルタイム ターゲット (GRT) のコンフィギュレーションを使用します。GRT システム ターゲット ファイルは、デスクトップ コンピューターで実行されるスタンドアロンの実行可能プログラムをビルドします。
锐信システムターゲットファイルを選択するには,以下を行います。
myAircraftExample
モデルがまだ開かれていなければ,開きます。
[コンフィギュレーションパラメーター]ダイアログボックスの[システムターゲットファイル]フィールドで,grt.tlc
と入力します。[適用]をクリックします。
[ツールチェーン]([自动定位安装的工具链]
)および[ビルド構成)((更快的构建)
)の選択肢が表示されます。
モデルを保存します。
メモ
[参照]をクリックすると,システムターゲットファイルブラウザーが開き,MATLABパス上のシステムターゲットファイルが表示されます。一部のシステムターゲットファイルには,追加製品が必要です。たとえば,ert.tlc
には嵌入式编码器®が必要です。
myAircraftExample
モデルがまだ開かれていなければ,開きます。
[コンフィギュレーションパラメーター]ダイアログボックスで,設定を指定します。
[コード生成)のビルドの詳細とデバッグを制御する詳細設定パラメーターについては,既定の設定を使用します。
[詳細なビルド(コマンド表示))(RTWVerbose
)
[.rtwファイルを残す](RetainRTWFile
)
(TLCプロファイル](ProfileTLC
)
[コード生成時にTLCデバッガーを実行)(TLCDebug
)
[コード生成時にTLCカバレッジを実行)(TLCCoverage
)
(TLCアサーションを有効にする](TLCAssert
)
[コード生成)、[インターフェイス]を選択します。
(共有コードの配置)リストから,[共有場所]
を選択します。ビルドプロセスによって,ユーティリティの生成コードがコード生成フォルダー内のサブフォルダーに配置されます。
[詳細設定パラメーター]の下で,[クラシックコールインターフェイス]チェックボックスをオフにします。
[詳細設定パラメーター]の下で,[1つの出力/更新関数)チェックボックスをオンにします。
[コード生成)、[レポート]で,[コード生成レポートを作成)および[レポートを自動的に開く]を選択します。このアクションにより,ソフトウェアはmyAircraftExample
モデルのコード生成レポートを作成し,表示できるようになります。
[適用]をクリックしてモデルを保存します。
ビルドプロセスは,モデルからCコードを生成します。次にそれをコンパイルし,生成したプログラムにリンクして実行可能なイメージを生成します。プログラムをビルドおよび実行するには,次の手順に従います。
myAircraftExample
モデルを開いたまま,次のいずれかの手順を実行します。
コード生成とコンパイルのメッセージがコマンドウィンドウに表示されます。初期のメッセージは以下のとおりです。
###启动模型的构建过程:myAircraftExample
その後の多くのメッセージの内容は,コンパイラとオペレーティングシステムによって異なります。最終メッセージは,以下のとおりです。
### create HTML report file myAircraftExample_codegen_rpt.html ###创建HTML报告文件
これで,コード生成フォルダーに実行可能ファイルmyAircraftExample.exe
(微软®窗户®プラットフォーム)またはmyAircraftExample
(UNIX®プラットフォーム)が格納されます。さらにビルドプロセスによって,コード生成フォルダー内にslprj
フォルダーとmyAircraftExample_grt_rtw
フォルダーが作成されています。
メモ
myAircraftExample
モデルのコード生成後,ビルドプロセスでコード生成レポートが表示されます。コード生成レポートの作成および使用方法の詳細については,レポート生成を参照してください。
ビルド後に作業フォルダーの内容を確認するには,dir
またはls
コマンドを入力してください。
>>dir.myAircraftExample。基金slprj . .myAircraftExample.slx.autosave myAircraftExample.exe myAircraftExample_grt_rtw
コマンドウィンドウから実行可能プログラムを実行するには,”myAircraftExample !
“と入力します。「!
“では,後続のコマンドがオペレーティングシステムに渡され,オペレーティングシステムによってスタンドアロンのmyAircraftExample
プログラムが実行されます。
>>myAircraftExample !**启动模型** ** created myAircraftExample。垫* *
ビルドフォルダーに生成されたファイルを表示するには,dir
またはls
コマンドを再び使用します。生成されるファイルの一覧は,MATLABのプラットフォームとバージョンによって異なります。次にWindowsプラットフォームの一覧の例を示します。
>>dir myAircraftExample_grt_rtw.rt_main。obj myAircraftExample_data.c . .rtmodel.h myAircraftExample_data。obj buildInfo。垫rtw_proj。tmw myAircraftExample_private.h codeInfo。垫myAircraftExample.bat myAircraftExample_ref。rsp definitions .txt myAircraftExample.c myAircraftExample_types.h html myAircraftExample.h modelsources.txt myAircraftExample.h可rt_logging。obj myAircraftExample.obj
ビルドプロセスでは,ビルドフォルダーが作成され,
という名前が付けられます。ここで,模型
_目标
_rtw
はソースモデルの名前で,模型
はモデルに対して選択されたシステムターゲットファイルです。この例では,ビルドフォルダーに目标
myAircraftExample_grt_rtw
という名前が付けられています。
ビルドフォルダーには以下の生成ファイルが含まれます。
ファイル | 説明 |
---|---|
|
モデルを実装するスタンドアロンのCコード |
|
パラメーターと状態変数の定義を含む包括ヘッダーファイル |
|
共通の包括定義を含むヘッダーファイル |
|
コードで使用されるデータ型の事前宣言 |
|
静的メインプログラムに生成コードを含めるためのマスターヘッダーファイル(名前は不変で,単に |
myAircraftExample
モデルに作成したコード生成レポートで,各ファイルのリンクが表示されます。リンクをクリックしてファイルの内容を確認できます。
ビルドフォルダーには,ビルドプロセスで使用された他のファイルが含まれています。次のようなものがあります。
myAircraftExample.mk
——指定されたツールチェーンを使用して実行可能ファイルをビルドするためのmakefile
オブジェクト(.obj
)ファイル
myAircraftExample.bat
——バッチコントロールファイル
rtw_proj.tmw
——マーカーファイル
buildInfo.mat
——生成コードを別の開発環境に再配置するためのビルド情報
defines.txt
——生成コードのコンパイルに必要なプリプロセッサ定義
myAircraftExample_ref.rsp
——コマンドライン引数を墨西哥人
に含めるためのデータ(Windowsシステムのみ)
ビルドフォルダーには,超文本标记语言
サブフォルダーも含まれています。このサブフォルダーには,コード生成レポートを構成するファイルが格納されています。詳細については,コード生成レポートを参照してください。
コードの生成後,コードジェネレーターはカスタマイズされたmakefile模型
楼上
を生成します。生成されたmakefileは,モデルやハーネスプログラム,ライブラリ,ユーザー提供のモジュールから生成されたソースコードのコンパイルとリンクを使
システムユーティリティに指示します。コードジェネレーターは,ビルドプロセスの制御に使用するアプローチに関係なく,ファイル模型
楼上
を生成します。
ツールチェーンアプローチを使用する場合,コードジェネレーターはモデルの[ツールチェーン設定)に基づいて模型
楼上
を作成します。使file の生成はrtwmakecfg.m
APIから変更できます。
テンプレートmakefileアプローチを使用する場合,コードジェネレーターは模型
楼上
をシステムテンプレートファイル系统
.tmf
(ここで系统
は選択したシステムターゲットファイルの名前)から作成します。システムテンプレートmakefileはシステムターゲットファイルに合わせて設計されています。テンプレートmakefileを変更して,コンパイラ,コンパイラのオプション,および実行可能ファイルの作成に使用する追加の情報を指定することができます。
詳細については,ビルドアプローチの選択およびビルドプロセスの設定を参照してください。