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.

[参考译文] MSP432E411Y:如何在链接器命令文件部分中区分.priheap 和.sysmem。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1182680/msp432e411y-how-to-distinguish-between-priheap-and-sysmem-in-the-linker-command-file-section

器件型号:MSP432E411Y

您好!

我想知道如何在链接器命令文件部分中区分.priheap 和.sysmem。

这两种方法似乎都用于堆领域、但我不太理解它们各自发挥的作用。

谢谢、

Astro

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

    默认情况   下、由编译器创建的输出段记录在 TI ARM 编译器手册中、标题为指定在存储器中分配段的位置的子章节中。  这些段中有.sysmem,它记录为...

    用于动态内存分配(malloc 等)的内存池(堆)

    我不知道.priheap 输出段来自哪里。  在链接器映射文件中搜索它。  这将显示库的名称(如果有)和它来自的目标文件。  尝试找到该文件的文档。

    请告诉我这些建议是否能解决问题。

    谢谢、此致、

    乔治

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

    我认为 .priheap 段可以用于 TI-RTOS 模块 ti.sysbios.堆.堆.堆.HeapMem 所使用的堆缓冲区、这是基于线程 RTOS/MSP432E401Y:SDRAM 作为默认堆

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

    大家好、George、Chester

    文档中有关.priheap 的信息太少、难以确定它的用途。 您能否解释一下.sysmem 和.priheap 是如何以不同的方式使用的?

    用于动态内存分配的-sysmem…堆
    -主堆... 堆存储器中的缓冲区

    我不太理解上述内容的含义和关系。

    [问题背景]
    在示例代码链接器中、HEAPSIZE 为0x20000、并且也分配了内部 SRAM 最大大小的一半(0x40000)。 我正在考虑减小.priheap 段的大小、尤其是在不需要时。

    谢谢、

    Astro

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

    您好 Astro、

    请注意、对于许多人来说、这是假日季、因此会延迟回复。

    谢谢

    Ki

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

    您好 Astro、

    遗憾的是、提供的文档是我们能够提供的内容。   针对.priheap 的 TI-RTOS 实现不是由我们的团队完成的、我无法挖掘任何额外的资源来进一步解释这些堆之间的差异。

    与切斯特相关的帖子是关于该主题的官方文档之外的描述性帖子。

    当然、我不希望您以任何方式满意、但我对此特定请求没有任何要求。

    此致、

    Ralph Jacobi