クイック スタート ツールを使用したコードの生成
クイック スタート ツールを使用すると、可読性が高く効率的なコードを生成するためのモデルを準備できます。ツールを起動するには、Embedded Coder® アプリを開きます。[C コード] タブで [クイック スタート] をクリックします。
ツールの起動後、生成するコードについて以下の質問の回答を用意しなくてはなりません。
コード生成用のモデルまたはサブシステムはどれか
生成コードのコード出力のタイプは何か
アプリケーションに再呼び出し可能なマルチインスタンス コードが必要かどうか
ターゲット ハードウェアのプロセッサ タイプは何か
コード生成の主要な目的は何か
ツールにより、モデルに対して選択項目が検証され、コードの生成に必要なパラメーターの変更が示されます。コード生成を選択すると、ツールによりパラメーターの変更がコンフィギュレーション セットに適用され、コードが生成されます。コードの生成後に、コード生成レポートを表示して、コードのビルド、カスタマイズ、最適化、パッケージ化に関する情報を確認できます。コード生成レポートの詳細については、コード生成レポートを参照してください。
生成コードをさらにカスタマイズするには、[終了] をクリックし、Embedded Coder アプリのコード パースペクティブ環境を使用します。コード パースペクティブには、生成コードにおけるモデルのデータや関数の名前と表示を制御するツールが用意されています。詳細については、C Data Code Interface Configuration for Model Interface Elementsを参照してください。
クイック スタートでのモデルの解析
クイック スタート ツールでは、プロセスの各ステップで選択項目と照合してモデルが検証されます。ツールによってモデルが調べられ、コード生成の進行を妨げる状況がないか確認されます。ツールの解析ステップでは、モデルまたはサブシステムを調べて以下の点も確認しなければなりません。この情報はコード展開用の最適なコンフィギュレーションを特定するのに役立ちます。
システム内にいくつのサンプルレートが存在しますか?
クイック スタート ツールによるモデルの評価で、システムの周期的なサンプル レートの数が調べられます。
シングル レート | モデルに周期的なサンプル レートが 1 つだけあります。生成コードには、サンプル レートの時間間隔で実行される単一のエントリ ポイント関数が含まれます。 |
マルチレート | モデルに周期的なサンプル レートが複数あります。生成されたコードが同じ時間間隔で実行されない可能性があります。解析ステップの後に、サンプル レートごとに単一のエントリポイント関数を生成するか、サンプル レートごとに異なるエントリポイント関数を生成するかを選択できます。 マルチタスキング コードを生成するように選択した場合、コード ジェネレーターで複数のエントリポイント関数が生成されます。これらの関数は複数のタスクとして実行されます。各エントリポイント関数は、モデルのサンプル レートの設定で定義された間隔で呼び出されます。 |
モデルに非同期レートがある場合、特定の割り込みの時点で実行される追加のエントリポイント関数が生成されます。
サンプル レートの詳細については、時間ベースのスケジューリングとコード生成を参照してください。
システムに連続状態が含まれていますか?
クイック スタート ツールによるモデルの評価で、使用する適切なソルバーを特定するために連続ブロックがあるかどうかが調べられます。
なし | システムに連続状態が含まれていない場合、特定のソルバーを選択していなければ、モデルのコード生成に固定ステップ離散ソルバーを使用するようにクイック スタート ツールで設定されます。 |
あり | システムに連続状態が含まれている場合、特定のソルバーを選択していなければ、モデルのコード生成に固定ステップ連続ソルバーを使用するようにクイック スタート ツールで設定されます。SupportContinuous コンフィギュレーション パラメーターもツールで選択されます。 |
ソルバーの詳細については、ソルバーの選択基準を参照してください。
システムはエクスポート関数の呼び出しに対して構成されていますか?
クイック スタート ツールによるモデルの評価で、スケジューラ コードを生成しなければならないかどうかが確認されます。
なし | システムがエクスポート関数の呼び出しに対して構成されていない場合、生成コードにシステムのアルゴリズムのコードとスケジューラ コードが含まれます。 |
あり | システムがエクスポート関数の呼び出しに対して構成されている場合、生成コードにシステムのアルゴリズムのコードが含まれます。スケジューラ コードについては、手動で記述するか他のモデルから生成できます。 |
詳細については、エクスポート関数モデルの概要を参照してください。
システム内に参照モデルが存在しますか?
クイック スタート ツールによるモデルの評価で、モデルが他のモデルのコードに依存しているかどうかが確認されます。
なし | システムに参照モデルが含まれていない場合、生成コードは他のモデルのコードに依存しません。 |
あり | システムに参照モデルが含まれている場合、モデルの生成コードは参照モデルから生成される他のモジュールに依存します。コード ジェネレーターでは、モデルと参照モデルの関係が認識されるため生成コードを最適化できます。クイック スタート ツールによってコンフィギュレーション パラメーターの変更がモデルに適用されると、参照モデルにも変更が適用されます。 |
詳細については、モデル参照階層向けのコードの生成を参照してください。
コンフィギュレーション参照をもつモデルのコンフィギュレーション パラメーターの変更
アクティブなコンフィギュレーション参照をもつモデルにコンフィギュレーション パラメーターの変更を適用するために、クイック スタート ツールは次を行います。
元のコンフィギュレーション セットを含むワークスペースまたはデータ ディクショナリに、
Simulink.ConfigSet
オブジェクトQuickStart_
を作成します。新しいオブジェクトは、元のコンフィギュレーション セットのコピーで、パラメーターの変更が適用されています。timestamp
新しいコンフィギュレーション セット オブジェクトを指す
Simulink.ConfigSetRef
オブジェクトを作成します。新しいコンフィギュレーション参照をモデルに接続して、アクティブなコンフィギュレーションにします。
システムに元のコンフィギュレーション セットを共有する参照モデルが含まれている場合は、ツールにより、新しいコンフィギュレーション参照が参照モデルに接続され、新しいコンフィギュレーション参照がアクティブなコンフィギュレーションとなります。
元のコンフィギュレーション セットを復元するには、元の Simulink.ConfigSetRef
オブジェクトをアクティブにします。
メモ
クイック スタート ツールによって MATLAB® ワークスペースにコンフィギュレーション セット オブジェクトが作成された場合は、MATLAB セッションの終了後もコンフィギュレーション セットを保持するためにオブジェクトを保存しなければなりません。詳細については、コンフィギュレーション セットを保存するを参照してください。
次のステップ
クイック スタート ツールを使用してコードを生成すると、ツールにより以下の想定される次のステップが示されます。
Embedded Coder アプリまたはコード生成レポートでの生成コードの表示。
SIL シミュレーションおよび PIL シミュレーションを使用した生成コードのテスト。
Service Interfacesを使用した展開用の生成コードの構成 (使用するモデルがサービス インターフェイス構成をサポートしている場合)。
その他の次のステップは以下のとおりです。
生成コードにおけるモデルのデータや関数の名前と表示を制御するには、Embedded Coder アプリのコード マッピング エディターとモデル データ エディターを使用します。詳細については、C Data Code Interface Configuration for Model Interface Elementsを参照してください。
関連するトピック
- Stateflow ブロックからの C または C++ コードの生成 (Stateflow)