gpt4 book ai didi

microcontroller - 微 Controller 中的堆栈内存分配

转载 作者:行者123 更新时间:2023-12-04 04:55:45 28 4
gpt4 key购买 nike

如何确定微 Controller 中特定程序所需的堆栈内存?
例如,假设我有一个内部可能有许多子例程或线程的程序。在我开始执行程序之前,我想修复这个程序的堆栈大小。我如何标记堆栈的终点。

最佳答案

我假设你在谈论一个 C 语言项目,没有动态分配内存。
堆栈使用的精确计算是非常漫长和复杂的。
您至少需要知道每个函数和调用图的堆栈使用情况(编译器可以提供此信息)。此外:有操作系统吗?每个线程都需要自己的堆栈。有中断程序吗?总堆栈使用量是每个当前执行流贡献的总和。

在许多情况下,经验方法更有效,即堆栈使用的运行时度量。例如,您可以用固定模式填充整个堆栈区域,然后运行有意义的测试,然后检查“脏”区域的大小。实际尺寸可以通过应用安全裕度来计算,例如 +50%。

关于microcontroller - 微 Controller 中的堆栈内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16772816/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com