<分区>
有谁知道一些工具可以为将在微 Controller (Cortex-M3) 上运行的 C 应用程序创建调用树?它可以从源代码(不理想)、目标代码(首选解决方案)或运行时(可接受)生成。我看过 gprof,但要让它在嵌入式系统上运行,仍然有很多缺失。
一个额外的好处是该工具还提供最大堆栈深度。
更新:解决方案最好是免费的。
<分区>
有谁知道一些工具可以为将在微 Controller (Cortex-M3) 上运行的 C 应用程序创建调用树?它可以从源代码(不理想)、目标代码(首选解决方案)或运行时(可接受)生成。我看过 gprof,但要让它在嵌入式系统上运行,仍然有很多缺失。
一个额外的好处是该工具还提供最大堆栈深度。
更新:解决方案最好是免费的。
最佳答案
实现此目的的一个好方法是对作为 RVCT 一部分的 ARM 链接器 (armlink) 使用 --callgraph
选项(不是免费的)。
更多详情 - callgraph documentation .
我从其中一条评论中了解到您正在寻找基于 gcc 的解决方案,但事实并非如此。但它可能仍然有用。
关于嵌入式软件的调用树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/978704/