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.

[参考译文] 编译器/MSP430F6659:编译器在使用 grlib 时指出内存不足

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/739679/compiler-msp430f6659-compiler-says-not-enough-memory-when-using-grlib

器件型号:MSP430F6659

工具/软件:TI C/C++编译器

我在控制台窗口中看到以下错误。  

说明资源路径位置类型
"="">processors.wiki.ti.com/.../10099"> 程序将不能放入可用的内存中。 对齐方式对".cinit"大小为0x2c1的段进行放置失败。 可用存储器范围:lnk_msp430f6659.cmd /DM10-18Project line 152 C/C++ problem

/lnk_msp430f6659.cmd"、第152行:错误#10099-D:程序将无法放入可用内存中。 对齐方式对".cinit"大小为0x2c1的段进行放置失败。 可用存储器范围:
闪存大小:0x7f80未使用:0x0最大空洞:0x0

如果我从此处更改链接命令文件;

  .cinit   :{}>闪存        /*初始化表    

至;

  .cinit   :{}>FLASH2       /*初始化表    

它会进行编译、但我不知道这是可以实现的吗?  我希望能够从内置 USB BSL 下载新固件、因此我不想单步执行为此保留的任何内存?  

请帮助。

谢谢

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

    可以将.cinit 分配给 FLASH2。  我不知道。  有关这一点的最后一个词需要来自提供链接器命令文件的 MSP430器件专家。  我将与他们联系、与他们讨论事情、然后让他们在这个主题中发帖。

    谢谢、此致、

    乔治

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

    为什么.cinit 这么大?

    这是否来自 grlib?

    您能否使用 View -> Memory Allocation 检查并发布.cinit memory 分配:

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

    您好 Jerry、

    您可能会像描述的那样将 cinit 移至 FLASH2。 就个人而言、我会执行该指令以允许将其放置在闪存或 FLASH2中。 这将类似于以下内容。

    .cinit :{}> FLASH | FLASH2 

    这会告诉 IDE 尝试将 cinit 放入闪存空间、如果不适合、则移至 FLASH2空间。  

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

    上一个帖子有一个小错误、我已更正。  我将在这里解释错误、以避免混淆。

    以下是不正确的语法...

    /*!!!!不要这么做!!! */
    .cinit :{}>> FLASH | FLASH2 

    请注意,使用>是正确的,但使用>>是错误的。  这很微妙、但很重要。  要了解差异、请访问 本文。  有更多特定于.cinit 的详细信息。  段.cinit 由于启动代码的处理方式而无法拆分。  它必须在存储器中是连续的。  如果尝试将其拆分、链接器会发出诊断。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通过 George 对您之前的帖子的回复、您可以看到隔离问题的重要性。
    让电源为您服务。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 George 添加了 cinit 无法拆分的信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢大家。 由于某种原因、我无法复制内存分配、但程序使用100% 的闪存和大约35%的闪存2。 和18%的 RAM。 是 GRlib 有一组字体、我存储了图像。 使用闪存或闪存2是否重要?