【发布时间】:2011-07-13 19:53:38
【问题描述】:
cortex M3 处理器启动文件允许您指定专用于堆栈和堆的 RAM 数量。对于 C++ 代码库,是否有一般的经验法则或者更明确的方法来确定堆栈和堆大小的值?例如,您会计算唯一对象的数量和大小,还是使用编译后的代码大小?
【问题讨论】:
-
这更多的是编译器和运行时库的特定性,而不是特定的 CPU 架构。但最重要的是,决定内存使用的是您的代码。使用 MMU 或数据断点来捕获堆栈溢出。
-
@Ben:Cortex-M3 没有 MMU,但它确实支持数据访问硬件断点,这可能有助于测试,但不适用于部署。
-
@Michael:鉴于 Clifford 答案的工具链特定组件,我不认为这在功能上是重复的。不过,这是一个有用的指针。
标签: c++ embedded arm cortex-m3