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.

[参考译文] TMS320F280025:内存分配

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1494526/tms320f280025-memory-allocation

器件型号:TMS320F280025

工具/软件:

您好论坛

我正在对 universal_motorcontrol_lab_f28002x 进行一些研究 、我发现一些数据已被放置在存储器的特定位置 、例如使用#pragma DATA_SECTION (hal、"hal_data"); 和  

HAL_data:> RAMM1D、
LOAD_START (loadStart_hal_data)、
load_end (loadEnd_hal_data)、
load_size (loadSize_hal_data)

命令文件中找到。 我的问题是:是否有任何具体原因手动分配内存? 为什么我们不将其留给链接器来决定内存分配?

感谢您的答复

此致 Arash

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

    您好、Arash、

    不同存储器的访问权限是不同的。 例如、M-RAM 只能由 C28内核访问、LS-RAM 在 C28和 CLA 之间共享(您需要在 Memcfg 中配置所有权)、GS-RAM 在多个内核(需要配置所有权)和 DMA 之间共享。

    对于 F28002x 器件、您需要确保将 DMA 需要访问的任何段都置于 GSRAM 中。 其余段可以放置在任何位置。 您也可以通过以下方式将其保留给链接器-.section:>> Ramm | RAMLS | RAMGS

    此致、

    Veena

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

    感谢您的答复、   

    对于我的问题中具体提到的存储器分配 、为什么要将 Hal_DATA 放置在 RAMM1D 中?

    在这种情况下、不涉及第二个内核、不涉及 DMA、也不涉及 CLA

    再次感谢您的答复

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

    尊敬的 Veena:  

    您是否看到我对您上一次回答我的问题的答复?  我仍在等待  

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

    您好、

    对不起、我没有收到你之前的答复。

    如前所述、这些段可以放置在任何存储器区域中。 在示例中、它被放置在 RAMM1D 中、没有特定的理由将其保持在该特定区域。

    此致、

    Veena