繁体   English   中英

如何确定嵌入式程序正在使用多少堆栈空间

[英]How to Determine how much stack space an embeded program is using

我想知道确定程序使用多少堆栈空间的最佳方法,是否有任何技术或工具来生成统计信息,而不是手工计算?

该程序希望分析是否是代码编写器中的C程序,如果有区别的话。

谢谢

您可以用某种模式(例如0xDEADBEEF)填充堆栈ram,然后运行一段时间,然后检查堆栈以查看使用了多少内存。 如果应用程序有可能,您仍然必须进行分析以找到最深的路径,然后在此之上生成最深的嵌套中断。

有一个关于上运行TI网站上的静态分析工具,一些信息在这里 通常,静态分析会告诉您main()的最深调用树使用了多少堆栈,但其中不包括ISR。 您需要手动查看呼叫树并添加ISR呼叫深度。 如果您有多个ISRS优先级,请不要忘记,较高优先级的ISR会中断较低优先级的ISR。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM