金宝appsimulink环境外の统合コード作成作成
生成コードビルドプロセス呼び出すためになとインターフェイスを特定します。
以下のについて说明し。。
金宝appsimulink®外部の统合の作成になをを收集。
外部変数外部关数と。。
モデル例关连例の详细について,,cコード生成のコントロールアルゴリズムの准备を参照しください。
必要なとファイルのビルドビルド
嵌入式编码器®が生成コードに,,,はがががががが必要必要です。。生成コードを専用ののビルドビルドシステムシステムなどのの别の开発开発环境にに移动するする场合ませんこれらのファイル,,Packngo
zipててファイルに化できできこのユーティリティ,可能可能イメージイメージをビルドビルドビルドししファイルファイルを见つけててパッケージしし。。ユーティリティユーティリティbuildinfo_data
構造体や関数Packngo
など含むをします。これらファイルは,[モデルモデルパラメーター]ダイアログダイアログ[コード生成]、[カスタム コード]ペインでするファイル含まれてます。ユーティリティはBuildinfo
垫子ファイルを模型
_ERT_RTW
フォルダーに保存します。
モデル例rtwdemo_pcg_eval_p5
を开きます。
このモデルコード生成后にPackngo
を実行するように構成されます。
手动ででファイル生成するには,を実行し。。。
ファイル
buildinfo.mat
(サブフォルダーrtwdemo_pcg_eval_p5_ert_rtw
内) を読み込みます。コマンド プロンプトで、コマンド
Packngo(BuildInfo)
を入力します。
zip ファイルに含まれるファイルの数は Embedded Coder® のバージョンと使用しているモデルの構成により変わります。コンパイラでは zip ファイルにファイルのサブセットが必要となる場合があります。コンパイルされた実行可能ファイルのサイズ (RAM/ROM) はリンク作成プロセスによって変わります。リンカーには必要なオブジェクト ファイルのみが含まれる可能性があります。
生成さたの既存システムへの统合
例で生成れたコードを既存のコードコードベースベースするする方法方法をを示し示し示し示し示しますますますますますますます。。。。。。。。このこのこのこのこの例例例例ではははははは,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,示し示しをのものです。
统合环境の概要
组み込み制御は,ハードウェアとソフトウェアののコンポーネントで构成れますます。。。制御制御制御アルゴリズムアルゴリズムアルゴリズム,コンポーネントコンポーネントコンポーネントののののののタイプタイプタイプタイプタイプタイプにませませんん
オペレーティングシステム(OS)
スケジュールレイヤー
物理的ハードウェアi/o
低水準ハードウェア デバイス ドライバー
,生成たはこれらののコンポーネントしませません代わり代わりににに,,生成生成生成生成さたコードににににはははこれらこれらこれらこれらののコンポーネントコンポーネントととと接続接続接続するするする含ま含ま含ま含ま含ま含ま。。。。。。。。。。。。,ハードウェアライブラリをししています。たとえばたとえば,,,,,,,,ブロックブロックブロックブロックライブラリをくださいください
この例,システムをするを示すためファイルが提供さされますます。メインexample_main.c
です。このファイルには、コードを演習するのに必要な基本アクションのみを実行する単純な main 関数が含まれています。
このファイルは次を行います。
关数インターフェイス定义(关数タイプ)。
外部データを宣言するファイルを含める。
外部
データを定义。データを初期化する。
シミュレートさハードウェアを呼び出す。
アルゴリズム関数を呼び出す。
关数の実行順序は、テスト ハーネス モデルおよびrtwdemo_pcg_eval_p5.h
内でのサブシステムの実行順序と一致します。example_main.c
での実行順を変更すると、実行可能イメージで作成される結果はシミュレーション結果と違ったものになります。
システムインターフェイスと一致
生成コード既存システムコードの统合,,,,,,インターフェイス“インターフェイス”关数“关数”インターフェイスインターフェイス一致していることがが必要必要ですです。。example_main.c
ファイルは#包括
ステートメントと外部
宣言ををインポートおよびスポートます。ファイル生成されれたコードコードから关数关数も。
入力データの接続
システムには 3 つの入力信号、pos_rqst
,fbk_1
,FBK_2
があります。生成されたコードはインポートされたグローバル変数 (ストレージ クラス进口Extextern
)を直接してつのつの信号にします。はインポートインポートされたポインター(ストレージImportedExternPointer
) を介して位置信号にアクセスします。
手书きのDefineImportedData.C
ファイル変数を定义します。変数ポインターはのによってによって定义さされるれるれるためため,生成生成さされたたコードでははさされれrtwdemo_pcg_eval_p5_Private.h
ファイルにインポートされたデータ (外部
) を宣言します。実際のシステムでは、データは通常、他のソフトウェア コンポーネントまたはハードウェア デバイスから取り込みます。
rtwdemo_pcg_eval_p5_Private.h
を表示し。
出力データの接続
この例では、システムの出力データにアクセスしません。生成コードのテストの例出力を标准ログファイルする方法を示し。。rtwdemo_pcg_eval_p5.h
ファイルをする出力データアクセスできます。
付加的データへのアクセス
生成されたコードには以下のような一般的に使用されるデータを保存するいくつかの構造体が含まれます。
ブロック状态(积分,关数)
ローカルパラメーター
時間
次の一般なデータ构造体を。モデル构成によりにより,生成生成さされれたたににののの构造构造构造体体体rtwdemo_pcg_eval_p5.h
ファイルでれ场合で,この例はデータにアクセスしませ。。
Data Type Data Name Data Purpose
常数| model_cp |常数参数常数| model_cb |常数块I/O输出| model_u |根和原子子系统输入输出| model_y |根和原子子系统输出内部数据| model_b |块的值输出内部数据| model_d |状态信息向量内部数据| model_m |时间和其他系统级数据内部数据| model_zero |零交叉参数| model_p |参数
关数呼び出しインターフェイスの一致
既定のでコードジェネレーターで生成れた关数にはvoid
功能
(空白)
原子サブまたはまたはまたはサブシステムシステム可能ななするするようようにに构成构成构成さされれている场合场合,,コードはははより复雑复雑ななexample_main
は有効な入力引数で生成された関数を呼び出します。
关数pi_cntrl_reusable
simulink®编码器™データ変数ないてさ化化体体构造构造のの金宝appのの构造体さデータデータデータデータ体体の组み合わせ组み合わせをを使用しします。。手书き手书きのコードrtwdemo_pcg_eval_p5.h
で定义さます。
Eclipse™环境でプロジェクトビルドビルド
Eclipse™gccwin™gccデバッガーデバッガーするするするビルドビルドビルドビルドでででデバッガーデバッガーデバッガーデバッガーデバッガーデバッガーデバッガーをし。。この例例には,両方ののファイルです。
Eclipse™ SDK 3.2
Eclipse™CDT 3.3
Cygwin™/GCC 3.4.4-1
Cygwin™/GDB 20060706-2
Eclipse™とgccのインストール使用方法详细,,,cygwinと日食のの使い方方を参照しください。
この例のファイルは、このハイパーリンクをクリックするとインストールできます。
あるいは,をし手动でファイルインストールします。
ビルド フォルダー (
eclipse_build_p5
) を作成します。rtwdemo_PCG_Eval_P5.zip
ファイルをビルド フォルダーに解凍します。rtwdemo_pcg_eval_p5.c
,ERT_MAIN.C
およびrt_logging.c
の各ファイルはexample_main.c
で置き換えられるために削除します。
Eclipse™ デバッガーを使用して、ステップ実行し、生成した C コードの実行動作を評価することができます。cygwinと日食のの使い方方の例を参照してください。
入力データを使用してモデルの演習を行うには、生成コードのテストを参照しください。