This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS内存分配视图和动态分配的RAM

Guru**** 675280 points
Other Parts Discussed in Thread: TM4C1294NCZAD
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1091499/ccs-memory-allocation-view-and-dynamically-allocated-ram

主题中讨论的其他部件:TM4C1294NCZAD

您好,

我对CCS中的内存分配视图有一个简短的问题。

在 我 的内存分配视图(下面的屏幕截图)中,我看到当前程序占用了MCU上可用SRAM的64 % (TM4C1294NCZAD)。

这是否保证 程序在MCU上的总SRAM中不会占用64 % 以上的内存? 或者动态分配的RAM是否可能导致程序使用的总RAM超过该64 % 标记?

我想将TCP/IP堆栈添加到我的项目中,所以我想确保 有足够的RAM来备用。

我希望这个问题是合理的----如果我有任何错误的假设,请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    这是否保证 程序在MCU上的总SRAM中不会占用64 % 以上的内存? 或者动态分配的RAM是否可能导致程序使用的总RAM超过该64 % 标记?

    [/引述]

    是的,动态分配的RAM (如堆)可能会增加到超出64 % 标记的范围。 我还会请我们的编译器专家就您的问题发表意见。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是否保证 程序不会占用超过总报价中的64 % [/sRAM]

    要更准确地理解,请阅读文章 链接器命令文件入门中的第一部分。  重点了解术语 输出部分和 存储器范围。  这意味着分配给内存范围SRAM的输出部分占用了它的64 %。  也就是说,我看到了一些系统故意创建一个堆,它只使用输出部分来建立基本地址,而不是堆的大小。  在这种情况下,使用的不仅仅是SRAM的64 %。  仅从内存分配视图中,无法知道是否正在使用此方案或其他类似方案。

    谢谢,此致,

    -George