tag 标签: printf/sprintf问题

相关博文
  • 热度 14
    2011-12-22 23:48
    12113 次阅读|
    1 个评论
    最近耍上了DSP,跑了个TI的系统SYS/BIOS,想弄个Hello World例程,没想到运行时候控制台啥提示都没有。 ti wiki上有篇tips for using printf,说明了这个问题的产生可能,由于是纯文字的,不好理解,这里给出图示,解决这个问题。 1.包含stdio.h这是必须的,不然编译不提示错误,但是运行时候控制台啥都没有。   2.设置堆的大小 printf需要超过400字节的空间,相对SYS/BIOS提供的System_Printf,速度慢100倍,需要1000个机器周期。 3.设置ccs提供的printf支持等级,full,nofloat,mini。 4.如果使用了SYS/BIOS而不是裸奔的话,还需要在SYS/BIOS设置堆大小。如果是在任务中调用printf,因任务有自己独立的堆栈,还需要设置任务自己的堆栈大小。 这样Memory模块的实际堆大小以系统默认设置的为准。   最后 ,在这个c2000,c28系统中,char的单位是16bit双字节,int是16bit,long才是32bit,如果要打印32bit的数据,需要加上%l参数在打印格式字符中,%d,%f只能打印16bit的数据,打印32bit的数据会只保留高字节的数据,看下图。   忘了一点,调试选项中,CIO一定要打开。