如何检查应用程序的 cortex m3 的 SRAM 使用情况
How to check SRAM usage for cortex m3 for an application
对于 Cortex-M3,如何检查其上的嵌入式应用程序 运行 的最大 SRAM 使用率。我们应该检查 IAR 生成的链接器映射文件和堆栈使用情况,还是应该尝试编写一个函数来检查当前 SRAM 并在运行时在应用程序的不同位置调用它。应该用哪种方法。
不容易,因为堆栈的使用差异很大,并且在编译时无法知道,除非您有一些限制(例如没有适当的递归)。
也就是说,有一些工具可以帮助您获得 worst-case 堆栈使用率:
- 堆栈分析器(https://www.absint.com/stackanalyzer/index.htm)
- GNATstack (https://www.adacore.com/gnatpro/toolsuite/gnatstack)
(在 Rust 中也有关于这个主题的一些发展:https://blog.japaric.io/stack-analysis/)
对于 Cortex-M3,如何检查其上的嵌入式应用程序 运行 的最大 SRAM 使用率。我们应该检查 IAR 生成的链接器映射文件和堆栈使用情况,还是应该尝试编写一个函数来检查当前 SRAM 并在运行时在应用程序的不同位置调用它。应该用哪种方法。
不容易,因为堆栈的使用差异很大,并且在编译时无法知道,除非您有一些限制(例如没有适当的递归)。
也就是说,有一些工具可以帮助您获得 worst-case 堆栈使用率:
- 堆栈分析器(https://www.absint.com/stackanalyzer/index.htm)
- GNATstack (https://www.adacore.com/gnatpro/toolsuite/gnatstack)
(在 Rust 中也有关于这个主题的一些发展:https://blog.japaric.io/stack-analysis/)