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.
工具/软件:Code Composer Studio
#pragma loc位置(Test, 0x800.04万);
Int32测试;
但警告:忽略#pragma location [-wunkown pragma ], 并且未将变量"Test"分配给地址 0x800.04万。
编译器支持在源代码级别指定变量的运行时地址。 这可以通过位置pragma完成。 但是如何使用pragma?
这...
Gaoqiang Deng 说:警告:忽略#pragma位置[-wunkown pragma ]
...是GCC编译器发出的诊断。 这使我认为您使用的是GCC ARM编译器,而不是TI ARM编译器。 位置pragma仅受TI ARM编译器支持。
谢谢,此致,
-George
Gaoqiang Deng 说:不是TI的ARM编译器,但GCC不是GNU。
GCC和GNU是指同一编译器的不同方式。
Gaoquiang Deng 说:关键是如何为变量分配地址。[/QUOT]
虽然我还没有尝试过,但我相信 这里介绍的方法 (不是TI提供的方法)将解决您的问题。
谢谢,此致,
-George
位置pragma仅受TI ARM编译器支持,而不受GCC ARM编译器支持。 无论它是使用#pragma还是使用__attribute__编写的,都是如此。 我不熟悉"at"属性。
Gaoqiang Deng 说:由于我的公司有一个文件加密系统,因此无法编辑CMD文件,因此我无法使用您推荐的方法[/QUOT]
在GCC ARM工具中,将特定C变量分配给特定地址的唯一解决方案是将该变量放在您命名的部分中,即修改链接器命令文件以将该部分分配给特定地址。 注意:文件扩展名.cmd只是一种常见的约定。 您可以使用任何文件扩展名,如.txt。
谢谢,此致,
-George
Gaoquiang Deng 说:当我修改link.cmd文件时,无法加载程序[/QUOT]
要更好地理解链接器命令文件,请参阅文章 链接器命令文件入门。
谢谢,此致,
-George