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.

[参考译文] 编译器/TM4C1294NCPDT:当.BSS部分大小大于RAM大小的一半时,如何将变量放入SRAM中间?

Guru**** 2595805 points
Other Parts Discussed in Thread: TM4C1294NCPDT

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/640648/compiler-tm4c1294ncpdt-how-to-place-a-variable-into-the-middle-of-the-sram-while-bss-section-size-is-larger-than-half-of-ram-size

零件号:TM4C1294NCPDT

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


tm4c1294ncpdt
CCSE 6.1 Tm3.
tirtos_tivac_2_10_01_38
编译器:TI 5.1
XDC:3.30 .4.52

tm4c1294ncpdt具有256K RAM (0x4万)。 我的应用程序的.bss大小约为200k。 现在,我想在SRAM中间添加一个变量(以及其它一些固定位置,以便使用MPU调试内存问题)。
我可以使用“__attribute___(location)"或“#pragma data_section"将变量放置在固定地址,但链接器需要大于200k的区域,并且失败。 以下是错误消息:

错误#1.0099万-D:程序不适合可用内存。对".bss"节大小0x34cf7执行定位失败。 可用内存范围:
SRAM大小:0x4万未使用:0x3f8a0最大孔:0x1fca0 



我搜索了论坛并阅读了链接器用户指南,但没有找到答案。 那么,是否有办法命令链接器将部分放入不连续的RAM区域? 谢谢