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.

[参考译文] TMS320F280049C:调试庞大的 BSS 部分

Guru**** 2592240 points
Other Parts Discussed in Thread: C2000WARE, CODECOMPOSER

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1013893/tms320f280049c-debug-huge-bss-section

器件型号:TMS320F280049C
主题中讨论的其他器件:C2000WARECODECMOSER

你(们)好。

我刚刚为我的项目编写了一个新模型、突然、BSS 部分变得非常大、可以存储到内存中。 我猜这是因为我找不到一些编码错误。 我现在的问题是 CCS 是否有任何工具可帮助我解决问题?
使用内存分配查看器、我可以确定问题模块2120 (我假设是字节?) 很大、但我希望有什么东西可以告诉我哪个变量或函数使用了所有这些空间?

我使用的是 CodeComposer 10.2.0 wotj tje TI v20.2.LTS 编译器和 C2000Ware 示例中的28004x_generic_flash_lnk.cmd 链接器脚本。

如果有任何建议、我们将不胜感激!

谢谢、

伦纳尔

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

    尊敬的 Lennar:

    您可以检查.map 文件以检查各个段及其大小。

    此致、

    Veena

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

    您好、Veena、

    除了"Memory Allocation"视图、我看不到映射文件如何帮助我。 这两个文件都显示了*。obj 的大小、它基本上是文件、但它们不会比这更详细。

    我可以在我的案例中找到问题、但通常会感兴趣的是、是否有一些很好的功能可以找到大型结构、内存泄漏等。

    谢谢、

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

    您好、Lenn、

    我认为.map 文件提供了详细的视图。

    例如:

    我在 CAN_ex1_loopback.c 文件中有以下代码

    uint32_t test_array[100];
    uint32_t test_array2[200];

    映射文件:

    它显示了每个全局变量的大小和函数。  

    这是否提供了您感兴趣的详细信息? 您是否正在寻找其他产品?

    此致、

    Veena

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

    您好、Lenn、

    忘记了、我在 CCS 项目中设置了以下标志。

    这告诉编译器将每个函数和结构/数组放在单独的子段中。

    此致、

    Veena

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

    您好、Veena、

    这看起来像是我想要的东西。 对我来说、如下所示:

                     0000a800   00000848    ETG_WVF.obj (.bss)
                     0000b048   00000020    ETG_IMV.obj (.bss)
    其中、我的 LUT 存储在 ETG_WVF.obj 中
    另一个问题是、如果不适合、则映射条目如下所示:

    .bss     0   00000000   00000861    无法分配

    这显然甚至没有什么帮助

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

    您好、Lenn、

    我想您 已禁用了标记 gen_func_subsections 和 gen_data_subsections。 您可以启用它们并尝试吗? 您可以在 Project Properties->C2000 Compiler->Advanced Options->Runtime Model Options 中找到它

    此致、

    Veena

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

    Jap 完全正确。 现在、它看起来像您的。 希望在中无法分配空间时、它看起来是一样的、但到目前为止、它看起来像我所寻找的。

    非常感谢您的提示!