工具/软件:Code Composer Studio
CCS 7.0 .Version:7.0 Win10中的Win.Win10 0.0.0043万
我已从较旧的IAR (V5.x)导入了代码,并且正在迁移到CCS7。 我似乎无法过去的问题是转换#pragma语句,以便将用户变量放置在各个info部分中。 IAR指令如下所示:
#pragma位置="INFOB"
__NO_INIT TypDefName VarName
将其转换为:
#pragma data_section(VarName,''infoB")
后面的行为:
#pragma数据部分(VarName2,"infoC")
#pragma data_section(VarName3,".infoC")
所有编译都没有错误,直到引入VarName3行,编译器随后会警告该行:
说明 资源 路径 位置 类型
#824-D pragma data_section只能应用于文件级符号定义,而不能应用于"varname"(在"..\foo.h"的第32行声明) foo.c 行22 C/C++问题
如果我将声明从.h文件移到.c文件,它会抛出相同的错误,但现在指向.c文件中键入变量的行。
因此,我切换为尝试使用#pragma dataseg = INFOC,编译器无法识别dataseg声明。
我对缺乏良好的文档和/或良好的代码示例来正确处理信息存储器中的变量感到非常沮丧。
我也很沮丧地理解为什么它会毫无错误地编译,直到作出第三次声明,这与第二次使用infoC无关,因为我确实尝试将它更改为.infoD,并得到了相同的结果。
如果需要做一些额外的事情,使用结构的示例也是一个加分项。 请注意,我正在使用的结构是在另一个文件中外部定义的。 另一个皱纹。
是否有任何帮助?