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

测试使用sprintf,执行错误

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

Seven Han:

尝试加大stack, heap:http://processors.wiki.ti.com/index.php/Tips_for_using_printf

另外这边帖子可参考下:http://www.deyisupport.com/question_answer/microcontrollers/tiva_arm_cortex/f/96/t/72208.aspx

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

Seven Han:

wenwei zhuoprintf ("helloworld");

需要加\n,printf ("helloworld\n");

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

mangui zhang:

恩  楼上回答的很全面了

输出有错应该就是堆栈的问题

没有输出  应该就是没有换行的问题    

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

wenwei zhuo:

回复 Seven Han:

printf ("helloworld\n"),这个语句程序根本就没有执行到,sprintf就出错了。

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

wenwei zhuo:

回复 Seven Han:

您好!

根据您的提示,做了如下修改:

1 修改heap和stack大小

 

2 修改cmd文件,增加.cio section

3 主程序如下:

int main(void) { float s = 0.0234; char sf[30]; sprintf(sf, "%f", s); printf("Hello World!\n");

printf("helloworld\n"); return 0;}

运行结果:

  在printf("Hello World!\n");语句处设置断点,程序运行不能到达该断点处。sprintf(sf, "%f", s);语句运行没有结束,似乎进入了某种死循环状态(个人猜测)。求解释!

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

Xinwei Luo1:

回复 wenwei zhuo:

我也遇到这个问题,求解答

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

mangui zhang:

回复 Xinwei Luo1:

设置堆栈大小   增加换行不能解决你的问题吗 

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

mangui zhang:

回复 Xinwei Luo1:

设置堆栈大小   增加换行不能解决你的问题吗 

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

Xinwei Luo1:

回复 Xinwei Luo1:

在做整数变换成字符串时可以运行,但是浮点数就停在sprintf()函数这里,不懂是什么原因

#include "stdio.h"

int main(void){

char sf[23];

float s = 0.1243;
sprintf(sf,"%f",s);
printf ("helloworld");
return 0;
}

目前使用CCS7.0,编译已经通过,仅用两个警告如下:

Description Resource Path Location Type
#10210-D creating ".esysmem" section with default size of 0x400; use the -heap option to change the default size EVC_SYSTEM C/C++ Problem

#10247-D creating output section ".cio" without a SECTIONS specification EVC_SYSTEM C/C++ Problem。

烧写到28377s lanchpad中,代码执行到sprintf(sf,"%f",s);语句后就终止了。在printf ("helloworld");处设置断点执行不到,请问这是什么原因造成的?

Xinwei Luo1:

回复 Xinwei Luo1:

我是初学DSP的,刚刚根据上面的回答改了以下几点,好像能运行了,但是具体原因还不是很懂(用的是CCS7.3) :

1:

2:

赞(0)
未经允许不得转载:TI中文支持网 » 测试使用sprintf,执行错误
分享到: 更多 (0)