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.

[参考译文] LP-MSPM0L1306:使用 malloc () 时 RAM 的使用量会变大。

Guru**** 2578945 points
Other Parts Discussed in Thread: MSPM0L1306, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1572857/lp-mspm0l1306-ram-usage-size-becomes-huge-when-using-malloc

器件型号:LP-MSPM0L1306
Thread:MSPM0L1306SysConfig 中讨论的其他器件

工具/软件:

您好、

我使用 SDK 2.6.0.5 中的参考工程“gpio_toggle_output_LP_MSPM0L1306_nortos_ticlang"。“。

在我添加 malloc () 之前。 SRAM 仅使用 256B。

在我添加 malloc () 之后。 SRAM 变为 2319。

我只按如下方式分配 100B 内存。

  uint16_t *tmpbuf=(uint16_t *) malloc (100);
如果我使用下面的、它不会增加。
  uint16_t tmpbuf[100];
以下是源代码。 顺便说一下、ARM 编译器优化无关紧要。 我更改了不同的优化、没有任何帮助。

e2e.ti.com/.../gpio_5F00_toggle_5F00_output_5F00_fail.c

有什么想法吗?

BR、

Frank

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

    引用 malloc 会导致引用 (RAM) 段“.sysmem",“,该、该段由链接器创建、大小为“--heap_size"。“。

    如果没有引用.sysmem、则它是链接器“垃圾收集“的、因此不会占用 RAM。

    如果不需要太多堆、可以在“Build Settings“->"Build"->"Linker"->"Basic"->"Heap Size"“ Size"或“或(“ (我“我认为“认为)“)SysConfig“ SysConfig 中“ 中对(我认为)对其进行更改。