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.

[参考译文] CCS/TMS320F2.8379万D:是否可以安全地忽略出现的.stack和.esysmem 1.021万-D警告? 即使它们在*.cmd文件中定义。

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/624791/ccs-tms320f28379d-can-the-stack-and-esysmem-10210-d-warnings-that-arise-be-safely-ignored-even-though-they-are-defined-in-the-cmd-file

部件号:TMS320F2.8379万D
主题中讨论的其他部件:C2000WAREcontrolSUITE

工具/软件:Code Composer Studio

是否可以安全地忽略出现的.stack和.esysmem 1.021万-D警告?  即使它们在*.cmd文件中定义。

警告#1.021万-D:创建默认大小为0x400的".stack"部分;使用-stack选项更改默认大小
警告#1.021万-D:创建默认大小为0x400的".esysme"部分;使用-heap选项更改默认大小 

正确的内存大小会显示在Memory Allocation (内存分配)视图中。

如果是,为什么这些警告在正确定义时仍然存在?

亲切,

Graham

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

    我不知道这是怎么发生的。  请将链接器命令文件附加到下一篇文章。  因此文件不会被拒绝,请将扩展名".txt"添加到其中。  还显示整个链接程序命令调用以及随后的所有诊断。  从控制台视图而不是问题视图复制和粘贴。

    谢谢,此致,

    -George

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

    谢谢George。  已发布*cmd文件。  以下是链接程序命令调用:

    正在构建目标:program.out

    调用:C2000 Linker

    "/Applications/ti/Ccssv7/tools/compiler/ti-CGT-C2000_c2000_c2000.sts/bin/cl2000"<xmt-block0>2000 17.62000. 17.6</xmt-block>2000 -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tc2c_support=tc200_verbe_support=tc3_vm=t_support=tm/verbos-f0/ 17.6 支持-f0/dip_t_vm_t_support=t_tm/dip-f0/支持-dip_cm-f0/dip_dip_dip-dip-dip_dip_dip-f0/dip-dip-dip-dip_dip-f0/dip-dip-dip-dip-dip-dip-dip_dip-f0/dip-dip-dip-dip-dip-dip-dip-dip_dip-dip-dip-dip-dip-dip-dip_dip-f0/ 17.6 支持   

    链接>

    警告#1.021万-D:创建默认大小为0x400的".stack"部分;使用-stack选项更改默认大小

    警告#1.021万-D:创建默认大小为0x400的".esysmem"部分;使用-heap选项更改默认大小

    已完成构建目标:program.out

    ****构建已完成****

    e2e.ti.com/.../F2837xD_5F00_RAM_5F00_CPU1.txt

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

    问题是您从不使用选项-stack或-heap。  链接程序调用中不显示任何选项。  附加链接器命令文件F2837xD_RAM_CPU1.txt。  它中没有任何选项。  链接程序调用始终不会引用此文件。  它指的是以下两个链接程序命令文件:

    [报价用户="Graham Reitz29"]-LC_Motive _2837xD_RAM_CPU1.cmd -lF2837xD_Headers_nonBIOS_CPU1.cmd [/报价]

    我没有第一个文件,但它几乎肯定不包含-stack或-heap。  我从 controlSUITE的安装中查看了F2837xD_Headers_nonBIOS_CPU1.cmd,并验证它没有-stack或-heap。

    如果您明智地使用了选项--warn_sections,避免这些诊断的唯一方法就是将选项-stack和-heap添加到链接程序调用中。

    谢谢,此致,

    -George

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

    以前,我尝试手动 删除一些信息,但在链接程序调用中遗漏了一些项目。  这就是文件名不匹配的原因。  肯定会使用*.cmd文件。   该信息已发布到该回复中,未被改动。

    附加了Memory Allocation (内存分配)视图的图像。  很明显,链接程序有选择地忽略了.stack和.esysmem部分。  应该为它们分配8192 字节。  而是只有4906 (0x400),默认值可用。  但有趣的是,它被分配到RAM的正确区域。  某些功能无法正常工作。

    此外,如果添加了-stack和-linker选项,它们将覆盖*.cmd文件中的内容,对吗?  这是不可取的。

    调用:C2000 Linker

    "/Applications/ti/Ccssv7/tools/compiler/ti-CGT-C2000_C2000_c2000.sts/bin/cl2000"<xmt-block0>2000 17.62000. 17.6</xmt-block>2000 -v28 -ml -mt --CLA_support=claus1 --float_support=fpu32 --tmu_support=tc2000_lib_support=tsm_tm_support=tmut0 -sm_support=tc0 -vu_mccm/dip_support=t_support=tcps-dip_dip_dip_dip_dip-dip/dip-dip-dip-dip_dip-dip-dip/dip-dip-dip_dip-dip-dip_dip-f0/dip-dip-dip-dip_j-dip-dip-dip_dip-f0/ip-dip-dip-dip-dip-dip-dip_j-dip/ip-dip-dip-dip-dip-dip_dip-dip-dip 17.6 17.6  

    链接>

    警告#1.021万-D:创建默认大小为0x400的".stack"部分;使用-stack选项更改默认大小

    警告#1.021万-D:创建默认大小为0x400的".esysmem"部分;使用-heap选项更改默认大小

    已完成建造目标:c-Motive。out

    ****构建已完成****

    亲切,

    Graham

    e2e.ti.com/.../5531.C_5F00_Motive_5F00_2837xD_5F00_RAM_5F00_CPU1.txt</s>2837

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

    见上文的后续答复。

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

    Graham Reitz29 说:
    此外,如果添加了-stack和-linker选项,它们将覆盖*.cmd文件中的内容,正确吗?[/QUOT]

    不正确。  此行来自C_Motive _2837xD_RAM_CPU1.cmd ...

    堆栈 :> RAMGS13toGS14,第= 1页 

    ...说明堆栈的走向。  但这并不表示堆栈有多大。  这就是选项-stack的作用。  这与堆类似。

    请添加相应的-stack和-heap选项。

    谢谢,此致,

    -George

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

    很棒! 谢谢George。

    我相信在上一个线程中,其中一个主持人回答了我的-stack和-heap行为错误。  查看线程中第二个到最后一个帖子。


    亲切,
    Graham

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

    我相信在上一个线程中,其中一位主持人回答了我的-stack和-heap行为错误。 [/引述]

    我认为,说他没有考虑一个可能的案件,是比较准确的。  他所想到的情况是,如果在项目设置和链接程序命令文件中指定-stack选项,则链接程序命令文件中的选项优先。  更具体一点:链接器看到的最后一个是使用的那个。  除非采取了不寻常的步骤,否则CCS会将链接程序命令文件放置在链接程序调用的末尾或接近末尾。  未考虑的情况:根本未指定-stack。

    谢谢,此致,

    -George