1. .su ファイルとはスタック領域を確認するファイル
GCC のオプションである "-fstack-usage" を使用してコンパイルをすると、ソフトウェアのスタック領域を .su ファイル で確認することができます。
Nios® II Command Shell 上で直接 GCC を実行してコンパイルする場合には、以下のコマンド例で .su ファイルを生成することができます。
gcc -fstack-usage HelloWorld.c
では、Nios® II Software Build Tools (SBT) for Eclipse でコンパイルする場合、-fstack-usage はどのように設定して、.su ファイルを生成するのでしょうか ?
次の章でご説明します。
2. Nios® II SBT for Eclipse における .su ファイルの生成手順
Nios® II SBT for Eclipse では、GCC に関するオプションを設定する場所が "Application Properties " と "BSP Properties " の2箇所にあります。
それぞれに "-fstack-usage" を設定することによって、それぞれの Makefile に GCC オプションを反映させます。
2-1. Application Properties の設定
図1 の様に、Nios® II SBT for Eclipse の Project Explorer から、対象のアプリケーションを右クリックして、Properties を選択します。
Nios® II Application Properties の User flags に "-fstack-usage" を設定します。
図1: Application Properties
2-2. BSP Properties の設定
図2 の様に、Nios® II SBT for Eclipse の Project Explorer から、対象の BSP を右クリックして、Properties を選択します。
Nios® II BSP Properties の User flags に "-fstack-usage" を設定します。
図2: BSP Properties
2-3. Makefile の反映確認
上記で設定した オプションが、図3 の様にそれぞれの Makefile に反映されているか確認します。
図3: Makefile の確認
2-4. .su ファイルの生成場所
Application、BSP 共に、Build を実施しますと、 各種関数ごとに .su ファイルがプロジェクトフォルダの obj ディレクトリ以下に生成されます。
図4: .su ファイルの生成場所
これで Nios® II SBT for Eclipse での .su ファイルの生成は完了です!
※注意点: .su ファイルで確認できるスタックサイズはあくまでも各関数単体のサイズとなります。
アプリケーション全体のスタックサイズを見積る際には、各関数の呼び出しツリーを考慮した上で、
関数毎のスタックサイズを足し合わせて最も大きくなる値を導出する必要がある点にご注意ください。
おすすめページ
弊社では Nios® II に関する各種情報とまとめた「Nios® II まとめページ」をご用意しております。本記事以外にも有用な情報が満載ですのでこちらも併せてご確認ください。