複数タスクの同時実行のサポート
カスタムの組み込みターゲットがマルチコア プラットフォームにおける複数タスクの同時実行をサポートする必要がある場合は、ターゲットは、ターゲットのコンフィギュレーション オプション ConcurrentExecutionCompliant
を設定して同時実行のサポートを宣言しなければなりません。そうしないと、マルチコア ターゲット モデルを同時実行用に設定できなくなります。
ConcurrentExecutionCompliant
がまだカスタム ターゲット向けに設定されていない場合は、以下の手順でオプションを設定できます。
以下のコード ディレクトリをシステム ターゲット ファイル (
) に直接含める。mytarget
.tlcrtwgensettings.SelectCallback = 'slConfigUISetVal(hDlg,hSrc,... ''ConcurrentExecutionCompliant'',''on'');'; rtwgensettings.ActivateCallback = 'slConfigUISetVal(hDlg,hSrc,... ''ConcurrentExecutionCompliant'',''on'');';
ConcurrentExecutionCompliant
オプションを設定するコールバック関数を実装して、システム ターゲット ファイルのrtwgensettings
構造体のSelectCallback
フィールドにコールバック関数をインストールする。コールバック関数は、システム ターゲット ファイル ブラウザーでターゲットが選択されるたびにトリガーされます。たとえば、次のシステム ターゲット ファイル コードは、custom_select_callback_handler
という名前の関数SelectCallback
をインストールします。rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
関数
SelectCallback
への引数 (hDlg
、hSrc
) は、コールバック API 関数によって使用されるプライベート データのハンドルです。これらのハンドルは、システム ターゲット ファイル コールバック関数内での使用に制限され、変更されることなく渡されます。コールバック関数は、次に示すように
ConcurrentExecutionCompliant
オプションを設定しなければなりません。slConfigUISetVal(hDlg,hSrc,'ConcurrentExecutionCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'ConcurrentExecutionCompliant',false); hSrc.getConfigSet.refreshDialog;
システム ターゲット ファイル コールバック API の詳細については、関数
slConfigUIGetVal
、slConfigUISetEnabled
およびslConfigUISetVal
のリファレンス ページを参照してください。
ConcurrentExecutionCompliant
ターゲットのコンフィギュレーション オプションを 'on'
に設定すると、カスタム ターゲットの選択とマルチコア ターゲット モデルの同時実行の設定を行うことができます。
カスタム ターゲットのオプション機能を設定する方法の例については、システム ターゲット ファイルのカスタマイズを参照してください。