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.

[参考译文] 编译器/TMS320F28379D:#10210-D 空:创建".esysmem"默认大小为0x400的段;

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/672497/compiler-tms320f28379d-10210-d-null-creating-esysmem-section-with-default-size-of-0x400

器件型号:TMS320F28379D

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

我导入了闪烁示例以开始。

我将 blinky.c 中的所有内容复制到 main.cpp 中、并删除了 blinky.c

一切都很好,没有警告

现在、我向项目中添加了现有的.cpp 和.h 文件。
如果不编辑代码、我现在会收到警告

#10210-D null:创建默认大小为0x400的".esysmim"段;
我正在使用来自 blinky 示例的标准 Linker-Command 文件。




因此定义了.esysmem-size。

为什么仅在添加其他.cpp 和.h 文件后才会出现错误

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

    您好、Marcel

    ".esysmem"是动态内存分配的一个段。 C 不使用动态存储器、但 C++使用动态存储器、这就是为什么在添加"*。cpp"文件后会收到警告的原因。

    接下来、此警告表示该段的大小未明确定义、因此将其设置为默认值0x400字。 在链接器文件中、您已将"esysmem"放置在 RAMLS5中、但尚未定义该段的大小。 "放置"与"尺寸定义"不同。

    您可以在项目属性"CCS Build - C2000 Linker - Basic options"-"Heap Size"字段中显式设置 esysmem 大小。