我正在使用arm-gcc工具链分析嵌入式程序的堆栈使用情况。该程序是单线程的,因此我通常可以使用gcc的
通常,此选项会生成与编译单元一起的
以下是.su文件内容的示例(来自https://mcuoneclipse.com/2015/08/21/gnu-static-stack-usage-analysis/):
我正在使用
-fstack-usage
参数来分析堆栈。通常,此选项会生成与编译单元一起的
.su
文件。这些文件描述了每个函数的堆栈使用情况。但在我的情况下,这些文件为空。以下是.su文件内容的示例(来自https://mcuoneclipse.com/2015/08/21/gnu-static-stack-usage-analysis/):
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
上。
您对此问题有什么想法吗?或者有其他方法来控制堆栈使用情况吗?
arm-none-eabi-gcc -T gcc_arm.ld -mthumb -mcpu=cortex-m0 --specs=nano.specs -Wl,--gc-sections,--print-gc-sections -fstack-usage
- Gp2mv3arm-none-eabi-gcc -mthumb -mcpu=cortex-m0 -o main main.c -fstack-usage
。 - hesham_EE--specs=nosys.specs
参数进行编译。 - Gp2mv3