Part Number:TMS570LS3137
在CCS中定义了如下的变量,这个变量程序里不会被显示引用,但是我是需要用到的。发现会被编译器优化调,如何指定属性让该变量不被优化调能顺利编译到exe中?
const struct soft_info_t softinfo __attribute__((used, section(".softinfo_head_section")))=
{
( unsigned int)app_entry, //app入口函数地址
( unsigned int)&dataLoadStart,
( unsigned int)&dataRunStart,
( unsigned int)&dataLoadSize
};
Yale Li:
您好,您试一下调整优化等级。
右键工程,properties,compiler,optimization,里面有相关配置。
,
leihua liu:
不行啊,优化等级是off的,还是不会被编译进去,除非有个函数调用这个变量一下才可以。
,
leihua liu:
感觉ti的编译器是不是有相关的指令能指定对某个变量或者指定的代码section不进行优化,MDK的keil里有keep XX这种就可以。
,
Yale Li:
我已经向资深工程师寻求帮助了,有了结果我会第一时间回复。
,
Yale Li:
如果您使用TI ARM compiler,请尝试RETAIN pragma:
ARM Optimizing C/C++ Compiler v20.2.0.LTS User's Guide