我使用了太多的RAM。如何测量?
我想知道我在项目中使用了多少RAM,据我所知,没有办法真正解决这个问题(除了自己进行计算之外)。我进入了一个相当大的项目的阶段,在此我已经确定我的RAM用完了。 我已经确定了这一点,因为我可以添加一个节,然后在代码中的其他地方毫无理由地打破所有地狱。如果我有#ifndef其他问题,它将再次起作用。新代码在程序上没有任何问题。 我怀疑有一段时间我将要用完可用的RAM。我不认为我使用了太多堆栈(尽管有可能),确定我实际使用多少RAM的最佳方法是什么? 经历并尝试解决它,当我遇到枚举和结构时会遇到问题;它们需要多少内存? 第一次编辑:另外,自开始以来,我已经对草图进行了很多编辑,这些并不是我最初得到的实际结果,但是它们是我现在所得到的。 text data bss dec hex filename 17554 844 449 18847 499f HA15_20140317w.cpp.elf 16316 694 409 17419 440b HA15_20140317w.cpp.elf 17346 790 426 18562 4882 HA15_20140317w.cpp.elf 经过大量编辑后,第一行(带有文本17554)不起作用,第二行(带有文本16316)正在正常工作。 编辑:第三行可以正常工作,进行串行读取,执行新功能等。实际上,我删除了一些全局变量和重复的代码。我之所以这样说是因为(怀疑)这与每个sae的代码无关,而必须与RAM的使用有关。这使我回到了最初的问题,“如何最好地衡量它”,我仍在检查一些答案,谢谢。 我实际上如何解释以上信息? 到目前为止,我的理解是: `TEXT` is program instruction memory `DATA` is variables (unitialised?) in program memory `BSS` is variables occupying RAM …