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.

[参考译文] LAUNCHXL-F28379D:在 CCS 中为 TMS320F28379D 项目分配内存时遇到困难

Guru**** 2562120 points
Other Parts Discussed in Thread: TMS320F28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1294574/launchxl-f28379d-difficulty-with-memory-allocation-in-ccs-for-tms320f28379d-project

器件型号:LAUNCHXL-F28379D
主题中讨论的其他器件:TMS320F28379D

您好、TI 社区:

我正在处理一个使用 TMS320F28379D 微控制器的项目、在 Code Composer Studio (CCS)中遇到了难题。 我正在寻求解决问题的指导或建议。

问题描述 :我在编译过程的链接阶段收到"内存不适合"错误。 具体的错误消息如下:

错误#10099-D:程序无法装入可用内存,或者该段包含的调用站点需要无法为此段生成 trampoline。 对齐/分块放置在".text"大小0x3398 page 0的段失败。 可用内存范围:RAMLS4大小:0x800未使用:0x800最大孔数:0x800


尝试解决

  1. 我已经尝试调整链接器命令文件(28379d_RAM_lnk_cpu1.cmd)、特别是将.text段分配更改为不同的存储器范围(RAMD0、RAMLS0等)。
  2. 我尝试减小代码大小并优化内存使用、但仍然面临同样的问题。

问题

  1. 什么原因可能导致此特定内存分配错误?
  2. 在连接器命令文件中为 TMS320F28379D 工程分配段、特别是关于.text段的做法是否有建议?
  3. CCS 或工程配置中是否存在可能导致此问题的设置?

我们非常感谢您提供任何见解、建议或示例。 下面附上了我的链接器命令文件的一个片段以供参考:


提前感谢您的帮助!

此致、
N





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

    添加编译器选项  -- gen_func_subsections 并重新构建。   

    我认为您不使用此选项。  它使每个函数被分配到一个单独的输入段。  这些较小的输入节通常可在所用的段拆分分配中实现更好的分配 .text

    请告诉我此建议是否解决了问题。

    谢谢。此致、

    -乔治

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

    您好、George、

    感谢您--gen_func_subsections向编译器设置添加选项的建议。 我对此非常陌生、我不确定应该在 Code Composer Studio 环境中的什么位置添加此命令。 您能指导我完成此过程吗?或者向我指出 CCS 中我可以在其中添加此编译器选项的正确部分吗?

    非常感谢您的帮助、期待您的指导。

    此致、  
    N

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


    这是否正确?

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

    感谢您使用--gen_func_subsections编译器选项的建议。 感谢你的帮助。

    n