このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
共有ライブラリを使用した開発用コンピューターのシミュレーターへのインターフェイス
この例では、開発用コンピューターで実行されるシミュレーターへのインターフェイスとして機能する共有ライブラリを生成します。システム ターゲット ファイル ert_shrlib.tlc
を使用することで、共有ライブラリを生成します。
モデルから共有ライブラリを作成して、そのライブラリをアプリケーションで使用するには、次のようにします。
1. モデルを開発します。この例では、モデル SharedLibraryCode
を開きます。書き込み可能な場所にモデルのコピーを保存します。
open_system('SharedLibraryCode');
モデルは、シングルレートの離散時間モデルです。8 ビット カウンターが Amplifier
という名前の Triggered Subsystem に送信を行います。パラメーター INC
、LIMIT
、RESET
に定数値 1、4、0 がそれぞれ設定されます。信号の equal_to_count
が真の場合、サブシステムは入力信号をゲイン ファクター K=3
で増幅し、出力信号は更新されます。
2. Embedded Coder アプリを開きます。
3. モデル コンフィギュレーション パラメーター [システム ターゲット ファイル] を ert_shrlib.tlc
に設定します。
4. 共有ライブラリ ファイルを作成します。コード ジェネレーターによって生成されるファイルは、開発プラットフォームによって異なります。たとえば、Windows® システムでは、コード ジェネレーターはライブラリ ファイル SharedLibraryCode_win64.dll
を生成します。
5. 共有ライブラリを使用するアプリケーション コードを作成します。この例では、次のファイルで使用可能なアプリケーション コードを使用します。
SharedLibraryCode_app.h
SharedLibraryCode_app.c
これらのファイルのソース コードを表示するには、モデル内で、.h
ファイルと .c
ファイルの白いボタンをクリックします。
6. ファイル アプリケーションと共有ライブラリ ファイルをコンパイルおよびリンクして、実行可能プログラムを生成します。次のスクリプトは、プログラムのコンパイル、ビルド、実行を行います。
run_SharedLibraryCode_app
=== Demo usage of ERT Shared Library Target === === Parameter List === LIMIT: 4; INC: 1; RESET: 0; K: 3 === Build SharedLibraryCode === ### Starting build procedure for: SharedLibraryCode ### Successful completion of build procedure for: SharedLibraryCode Build Summary Top model targets built: Model Action Rebuild Reason =================================================================================================== SharedLibraryCode Code generated and compiled. Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 9.196s Building with 'gcc'. MEX completed successfully. === Execute example application === Counter out(sum_out): 1 Amplifier in(Input): 0 out(Output): 0 Counter out(sum_out): 2 Amplifier in(Input): 1 out(Output): 0 Counter out(sum_out): 3 Amplifier in(Input): 2 out(Output): 0 Counter out(sum_out): 4 Amplifier in(Input): 3 out(Output): 0 Counter out(sum_out): 1 Amplifier in(Input): 4 out(Output): 12 Counter out(sum_out): 2 Amplifier in(Input): 5 out(Output): 12 Counter out(sum_out): 3 Amplifier in(Input): 6 out(Output): 12 Counter out(sum_out): 4 Amplifier in(Input): 7 out(Output): 12 Counter out(sum_out): 1 Amplifier in(Input): 8 out(Output): 24 Counter out(sum_out): 2 Amplifier in(Input): 9 out(Output): 24 Counter out(sum_out): 3 Amplifier in(Input): 10 out(Output): 24 Counter out(sum_out): 4 Amplifier in(Input): 11 out(Output): 24 Counter out(sum_out): 1 Amplifier in(Input): 12 out(Output): 36 === End of Demo ===
スクリプト コードを表示するには、モデル内で、.m
ファイルの白いボタンをクリックします。
モデルをビルドし、生成された共有ライブラリを使用するアプリケーションを実行するには、モデル内で、青いボタンをダブルクリックします。
共有ライブラリの使用の詳細については、生成コードを共有ライブラリとしてパッケージ化を参照してください。