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.

vsprintf在C2000 Code Generation Tools 6.1.0中不能用啊!

C2000 Code Generation Tools 6.0.1中调试好的程序换成C2000 Code Generation Tools 6.1.0发现程序卡在vsprintf上走不下去了!怎么回事呢!

  • 编译有没有错误?

    引用stdio.h试试呢

  • 编译没有错误!我是单步运行到这个函数就跑飞了!

  • 原因找到了!

    .stack              : > RAMM1       PAGE = 1

    在这一句中,我将.stack定义在RAMM1中,RAMM1大小是0x400,我工程map文件中显示只使用了0x200按说没事,

    但是当我改成

    .stack              : > RAML0       PAGE = 1

    时,问题就没有了!vsprintf就能运行了!

    唯一的区别是RAML0大小是0x800

    是 我想的stack超出了吗? 还是有别的原因!

    有些后悔 选用TI的CPU了!

  • jinwei,

    不知道你是不是定义了一个字符串变量,而且是局部变量的,当这个字符串赋给的字符过长的时候,就有可能会导致stack不够,因为局部变量就是放在stack中的。

    这并不是芯片的问题,而是程序编写的问题。

     

    Eric

  • stack不够怎么编译时再map文件里体现不出来呀!再说我只是从RAMM0改到RAML0就行了!

    肯定不是CPU的原因,但是编译器是有问题吧!整个CCS只有eclipse平台的优点,TI自己加的东西都不怎么样!