arm-gccツールチェーンを使用して私の組み込みプログラムのスタック使用量を分析しようとしています。プログラムはシングルスレッドなので、通常は-fstack-usage
gccのパラメータを使ってスタックを解析できます。ARM-gccスタック使用ファイルが空です
通常、このオプションでは、コンパイル単位とともにファイル.su
が生成されます。これらは関数ごとのスタック使用量を記述します。しかし、私の場合、それらのファイルは空です。ここで
は(https://mcuoneclipse.com/2015/08/21/gnu-static-stack-usage-analysis/から).suファイルの内容の例である:
main.c:36:6:bar 48 static
main.c:41:5:foo 88 static
main.c:47:5:main 8 static
私はgcc-arm-none-eabi-5_4-2016q3
を使用していますが、問題もgcc-arm-none-eabi-5_3-2016q1
上に存在します。
問題のアイデアはありますか?またはスタックの使用を制御する別のソリューションですか?
コンパイルコマンドライン(行をリンクしない)に '-fstack-usage'オプションを指定しましたか?私はgcc-arm-none-eabi-4_9-2015q2でこれを試しました。 –
私はgcc(コンパイル用)とg ++(リンク用)の両方にパラメータを与えます。私はリンカーとしてldに切り替えるようにします。 – Gp2mv3
ldの代わりにgccを使用すると、このように通知されます。 –