Real-Time Workshop User's Guide | ![]() ![]() |
スタック領域割り当ての制御
Real-Time Workshopは、信号がモデル内でどのように格納されるか、また生成コード内でどのように表わされるかを制御する多くのオプションを提供します。この節では、以下のオプションを説明します。
信号のストレージオプションの詳しい説明は、「信号: ストレージ、最適化、インタフェース」を参照してください。
信号をスタック領域に格納したい場合は、Local block outputsをonにする必要があります。そのために、以下を行います。
ユーザの組み込みアプリケーションは、スタック領域の制限により制約を受ける場合があります。Local block outputs オプションがonのとき、以下のTarget Language Compiler変数を使って、スタック領域の使用を制限することができます。
MaxStackSize
: 関数内で宣言されるローカル変数の割り当てサイズの総量は、MaxStackSize
(バイト単位)を超えません。MaxStackSize
は、任意の正の整数です。ローカル変数の総サイズがこの最大値を超える場合、Target Language Compilerは残りの変数をローカルメモリではなくグローバルメモリに割り当てます。MaxStackVariableSize
: 関数で宣言されるローカル変数のサイズをN
に制限します。ここで、N>0
です、サイズがMaxStackVariableSize
を超える変数は、ローカルメモリではなくグローバルメモリに割り当てられます。これらの変数を設定するには、以下の例のようにシステムターゲットファイル (ert.tlc
)内でassign
ステートメントを使います。
%assign MaxStackSize = 4096
システムターゲットファイルのConfigure RTW code generation settings
部で%assign
ステートメントを書くことを推奨します。
%assignステートメントは、Target Language Compiler Reference Guide に記述されています。
Integer Code Only
このオプションが選択されているときは、非整数データまたは式がモデルのコンパイル中に生じた場合は、エラーが発生します。エラーメッセージは、違反するブロックまたはパラメータを表示します。
Create Simulink (S-Function) Block
この機能に関する情報は、「ERTを使った自動S-ファンクションラッパー」を参照してください。
その他の最適化
すべてのコードフォーマットに共有なコード最適化手法に関する情報は、「第8章、コード生成に対するモデルの最適化」を参照してください。
![]() | コード生成オプション | 必要条件と制約 | ![]() |