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.
您好、E2E 专家、
你好。
我有一篇出色的文章"TI Linker Command Primer"
这回答了我的大部分问题、现在我可以再次链接该项目。
我还有一个问题似乎不在该条的范围内。
1) 1)我正在尝试确定堆分配到哪个 RAM 部分。 如何确定这一点?
2) 2)我也不知道堆的大小是否合适、是否有任何关于堆大小的指导原则?
更多信息、
在入门中、他们确实列出了 malloc 堆的 sysmem。
在我的链接器文件中,我有:.esysmem:>RAMLS5,page = 1,
在属性| C2000链接器|基本选项中,我必须将堆大小(我认为它最初是0x300或0x400)降低到0x170或我收到链接器错误。 我试过:.esysmem:>RAMLS5 | RAMLS6、page = 1、
然而,这似乎没有任何影响。
提前感谢您的支持。
此致、
CSC
1) 1)我正在尝试确定堆分配到哪个 RAM 部分。 如何确定这一点?
[/报价]堆段在 EABI 中命名为.sysmem、在 COFF 中命名为.esysmem
[引用 userid="480323" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000-microcontrollers---internal/f/c2000-microcontrollers---internal-forum/1166453/tms320f280049c-link-command-primer。] 我试过:.esysmem:>RAMLS5 | RAMLS6,PAGE = 1,使用> LS5 | LS 意味着该段被分配给 LS5或 LS6。 您可以使用>> LS5|LS6、这将使链接器拆分并将其放置在 LS5和6中。 但为我们堆一个无法拆分的段。 您可以将 LS5和6组合成一个更大的内存块、并将其用于堆
此致、
Veena
您好、Veena、
你好。
如何确定合适的堆大小? 什么被认为太小?
提前感谢您。
此致、
CSC
您好!
这取决于应用程序要求、运行时分配的内存大小
一种方法是将大量内存配置为堆、运行应用程序并检查实际使用的内存大小。
此致、
Veena
您好、Veena、
你好。
我如何确定运行时使用的堆的量?
此致、
CSC
一个选项是将存储器设置为已知模式、运行应用程序并检查运行时更改了多少存储器。
对于堆栈、您还可以在 CCS 中使用"Stack Usage"视图
此致、
Veena