主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

リアルタイムシステムのビルドプロセスワークフロー

ビルドプロセスには,モデルからのCまたはc++でのコード生成と,生成されたコードからの実行可能プログラムのビルドが含まれます。この例では,コード生成用の汎用リアルタイム (GRT) または組み込みリアルタイム (ERT) のシステム ターゲット ファイル (STF) を使用できます。結果として得られるスタンドアロン プログラムは、外部のタイミングやイベントとは無関係に開発用コンピューター上で実行されます。

作業フォルダー

この例では,slexAircraftExampleモデルのローカルコピーを使用しており,それは自身のフォルダーaircraftexampleに保存されています。”“作業フォルダーを次のように設定します。

  1. MATLAB®の現在のフォルダーブラウザーで,書き込みアクセス権があるフォルダーに移動します。

  2. 作業フォルダーを作成するには,以下のMATLABコマンドを入力します。

    mkdir aircraftexample
  3. aircraftexampleを作業フォルダーにします。

    cd aircraftexample
  4. slexAircraftExampleモデルを開きます。

    slexAircraftExample

    モデルが金宝app仿真软件®エディターのモデルウィンドウに表示されます。

  5. モデルウィンドウで,[ファイル](名前を付けて保存)を選択します。作業フォルダーaircraftexampleに移動します。slexAircraftExampleモデルのコピーをmyAircraftExampleとして保存します。

ビルドフォルダーとコード生成フォルダー

コードを生成する際,コードジェネレーターは作業フォルダー内に”“ビルドフォルダーを作成します。ビルドフォルダーの名前は模型_目标_rtwで,ソースモデルと選択したシステムターゲットファイルの名前に基づいています。ビルドフォルダーには,生成されたソース コードとビルド プロセス中に作成されたその他のファイルが格納されます。この例の最後に、ビルド フォルダーの内容を確認します。

モデルに模型ブロック(他のモデルに対する参照)が含まれている場合,参照モデルのコードを整理するために,モデルビルドはコード生成フォルダーに特殊なサブフォルダーを作成します。これらのコード生成フォルダーは製品のビルドフォルダーと併設され,slprjと命名されます。詳細については,モデル参照階層向けのコードの生成を参照してください。

slprjフォルダーの下にある_sharedutilsという名前のサブフォルダーに,モデル間で共有できる生成されたコードが含まれます。

コード生成のためのモデルパラメーターの設定

モデルからコードを生成するには,一部のモデルコンフィギュレーションパラメーターを変更しなければなりません。特に,汎用リアルタイム(GRT)システムターゲットファイルと他の大部分のシステムターゲットファイルでは,モデルで固定ステップソルバーを指定する必要があります。

メモ

可変ステップソルバーを指定するモデルについて,モデルでもラピッドシミュレーション(rsim)またはs函数システムターゲットファイルが指定されている場合のみ,コードジェネレーターはコードを作成します。

  1. myAircraftExampleモデルがまだ開かれていなければ,開きます。

  2. [コンフィギュレーションパラメーター]ダイアログボックスで,ソルバーのコンフィギュレーションパラメーターの値を指定します。

    • 開始時間0.0

    • 終了時間60

    • タイプ固定ステップ

    • ソルバー[ode5 (Dormand-Prince))

    • 固定ステップサイズ(基本サンプル時間)0.1

    • 各離散レートを個別のタスクとして扱う

  3. [適用]をクリックします。

  4. モデルを保存します。

ビルドプロセスの構成

モデルのビルドプロセスを構成するには,システムターゲットファイル,ツールチェーンまたはテンプレートmakefile,使コマンドを選択します。

これらの例とほとんどのアプリケーションでは,これらのパラメーターを個々に指定する必要はありません。この例では,すぐ実行できる汎用リアルタイム ターゲット (GRT) のコンフィギュレーションを使用します。GRT システム ターゲット ファイルは、デスクトップ コンピューターで実行されるスタンドアロンの実行可能プログラムをビルドします。

锐信システムターゲットファイルを選択するには,以下を行います。

  1. myAircraftExampleモデルがまだ開かれていなければ,開きます。

  2. [コンフィギュレーションパラメーター]ダイアログボックスの[システムターゲットファイル]フィールドで,grt.tlcと入力します。[適用]をクリックします。

    [ツールチェーン][自动定位安装的工具链])および[ビルド構成)(更快的构建))の選択肢が表示されます。

  3. モデルを保存します。

メモ

[参照]をクリックすると,システムターゲットファイルブラウザーが開き,MATLABパス上のシステムターゲットファイルが表示されます。一部のシステムターゲットファイルには,追加製品が必要です。たとえば,ert.tlcには嵌入式编码器®が必要です。

コード生成パラメーターの設定

  1. myAircraftExampleモデルがまだ開かれていなければ,開きます。

  2. [コンフィギュレーションパラメーター]ダイアログボックスで,設定を指定します。

    1. [コード生成)のビルドの詳細とデバッグを制御する詳細設定パラメーターについては,既定の設定を使用します。

      • [詳細なビルド(コマンド表示))RTWVerbose

      • [.rtwファイルを残す]RetainRTWFile

      • (TLCプロファイル]ProfileTLC

      • [コード生成時にTLCデバッガーを実行)TLCDebug

      • [コード生成時にTLCカバレッジを実行)TLCCoverage

      • (TLCアサーションを有効にする]TLCAssert

    2. 既定の[コード生成)[コメント]設定を使用します。

    3. [コード生成)[識別子]のオプションは,生成コードの外観を制御します。既定の設定を使用します。

    4. [コード生成)[インターフェイス]を選択します。

      1. (共有コードの配置)リストから,[共有場所]を選択します。ビルドプロセスによって,ユーティリティの生成コードがコード生成フォルダー内のサブフォルダーに配置されます。

      2. [詳細設定パラメーター]の下で,[クラシックコールインターフェイス]チェックボックスをオフにします。

      3. [詳細設定パラメーター]の下で,[1つの出力/更新関数)チェックボックスをオンにします。

    5. [コード生成)[レポート]で,[コード生成レポートを作成)および[レポートを自動的に開く]を選択します。このアクションにより,ソフトウェアはmyAircraftExampleモデルのコード生成レポートを作成し,表示できるようになります。

  3. [適用]をクリックしてモデルを保存します。

プログラムのビルドおよび実行

ビルドプロセスは,モデルからCコードを生成します。次にそれをコンパイルし,生成したプログラムにリンクして実行可能なイメージを生成します。プログラムをビルドおよび実行するには,次の手順に従います。

  1. myAircraftExampleモデルを開いたまま,次のいずれかの手順を実行します。

    • [アプリ]タブで,(金宝app仿真软件编码器)アプリを開きます。[Cコード]タブで,[ビルド]をクリックします。

    • Ctrl + Bキーを押します。

    • MATLABコマンドラインからslbuildコマンドを実行します。

    • MATLABコマンドラインからslbuildコマンドを実行します。

    コード生成とコンパイルのメッセージがコマンドウィンドウに表示されます。初期のメッセージは以下のとおりです。

    ###启动模型的构建过程:myAircraftExample

    その後の多くのメッセージの内容は,コンパイラとオペレーティングシステムによって異なります。最終メッセージは,以下のとおりです。

    ### create HTML report file myAircraftExample_codegen_rpt.html ###创建HTML报告文件

    これで,コード生成フォルダーに実行可能ファイルmyAircraftExample.exe(微软®窗户®プラットフォーム)またはmyAircraftExample(UNIX®プラットフォーム)が格納されます。さらにビルドプロセスによって,コード生成フォルダー内にslprjフォルダーとmyAircraftExample_grt_rtwフォルダーが作成されています。

    メモ

    myAircraftExampleモデルのコード生成後,ビルドプロセスでコード生成レポートが表示されます。コード生成レポートの作成および使用方法の詳細については,レポート生成を参照してください。

  2. ビルド後に作業フォルダーの内容を確認するには,dirまたはlsコマンドを入力してください。

    >>dir.myAircraftExample。基金slprj . .myAircraftExample.slx.autosave myAircraftExample.exe myAircraftExample_grt_rtw
  3. コマンドウィンドウから実行可能プログラムを実行するには,”myAircraftExample !“と入力します。「“では,後続のコマンドがオペレーティングシステムに渡され,オペレーティングシステムによってスタンドアロンのmyAircraftExampleプログラムが実行されます。

    >>myAircraftExample !**启动模型** ** created myAircraftExample。垫* *
  4. ビルドフォルダーに生成されたファイルを表示するには,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という名前が付けられています。

ビルドフォルダーには以下の生成ファイルが含まれます。

ファイル 説明

myAircraftExample.c

モデルを実装するスタンドアロンのCコード

myAircraftExample.h

パラメーターと状態変数の定義を含む包括ヘッダーファイル

myAircraftExample_private.h

共通の包括定義を含むヘッダーファイル

myAircraftExample_types.h

コードで使用されるデータ型の事前宣言

rtmodel.h

静的メインプログラムに生成コードを含めるためのマスターヘッダーファイル(名前は不変で,単にmyAircraftExample.hを格納します)

myAircraftExampleモデルに作成したコード生成レポートで,各ファイルのリンクが表示されます。リンクをクリックしてファイルの内容を確認できます。

ビルドフォルダーには,ビルドプロセスで使用された他のファイルが含まれています。次のようなものがあります。

  • myAircraftExample.mk——指定されたツールチェーンを使用して実行可能ファイルをビルドするためのmakefile

  • オブジェクト(.obj)ファイル

  • myAircraftExample.bat——バッチコントロールファイル

  • rtw_proj.tmw——マーカーファイル

  • buildInfo.mat——生成コードを別の開発環境に再配置するためのビルド情報

  • defines.txt——生成コードのコンパイルに必要なプリプロセッサ定義

  • myAircraftExample_ref.rsp——コマンドライン引数を墨西哥人に含めるためのデータ(Windowsシステムのみ)

ビルドフォルダーには,超文本标记语言サブフォルダーも含まれています。このサブフォルダーには,コード生成レポートを構成するファイルが格納されています。詳細については,コード生成レポートを参照してください。

カスタムmakefileの生成

コードの生成後,コードジェネレーターはカスタマイズされたmakefile模型楼上を生成します。生成されたmakefileは,モデルやハーネスプログラム,ライブラリ,ユーザー提供のモジュールから生成されたソースコードのコンパイルとリンクを使システムユーティリティに指示します。コードジェネレーターは,ビルドプロセスの制御に使用するアプローチに関係なく,ファイル模型楼上を生成します。

  • ツールチェーンアプローチを使用する場合,コードジェネレーターはモデルの[ツールチェーン設定)に基づいて模型楼上を作成します。使file の生成はrtwmakecfg.mAPIから変更できます。

  • テンプレートmakefileアプローチを使用する場合,コードジェネレーターは模型楼上をシステムテンプレートファイル系统.tmf(ここで系统は選択したシステムターゲットファイルの名前)から作成します。システムテンプレートmakefileはシステムターゲットファイルに合わせて設計されています。テンプレートmakefileを変更して,コンパイラ,コンパイラのオプション,および実行可能ファイルの作成に使用する追加の情報を指定することができます。

詳細については,ビルドアプローチの選択およびビルドプロセスの設定を参照してください。

関連するトピック