TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320C6678: 串口打印程序由CCS5.5移植到CCS10的版本后,串口不能打印浮点数

Part Number:TMS320C6678

串口打印程序中将待打印的参数写至数组中

void serialPrintf (const char *fmt, …)
{
char printbuffer[512];
va_list args;
。。。。
va_start (args, fmt);
vsprintf(printbuffer,fmt, args);
va_end (args);

。。。。

}

在CCS5.5中调试,发现程序va_start运行至<stdarg.h>中COFF ABI convention:, 但在CCS10中程序运行至ELF ABI convention:

编译设置都是输出eabi(ELF).

是由于软件版本的问题导致这种情况发生?

该如何修复

Shine:

请看一下在两个版本的ccs里工程属性里是否定义的pre-define the symbol一样?请看一下下面的网站说明。Conditional Compilation Using a Predefined Symbolhttps://software-dl.ti.com/ccs/esd/documents/C2000_c28x_migration_from_coff_to_eabi.html

,

Jerry:

是一样的

,

Shine:

请尝试在ccs10里用和ccs 5.5一样的compiler版本编译。

,

Jerry:

编译器是一样的,问题还是会出现

,

Shine:

代码是Import到ccs10的吗? 移植的时候,有做什么修改吗?

,

Jerry:

没有更改,使用了NDK,CCS10.4默认使用了miniPrintf,但是CCS5没有用miniprintf。将vsprintf换成vsnprintf好了

,

Shine:

非常感谢分享解决方法!

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: 串口打印程序由CCS5.5移植到CCS10的版本后,串口不能打印浮点数
分享到: 更多 (0)