簡體   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