[英]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.