打印

CCS3.3中对C67XX系列进行板上仿真是使用printf打印超过10字符...

[复制链接]
1936|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Bruce_Li|  楼主 | 2016-1-18 10:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在CCS3.3中对DSP进行板上(TMS320C67XX)调试运行时,连接JTAG成功后加载。out文件正常,由于代码中有调用printf函数,在点击运行后,CCS3.3的输出窗口中会打印printf需要打印的内容,但是每行的打印字符个数不能超过10个,吵过后就会显示异常字符;
如printf("1234567890");就可以,但是printf("12345678901");就会输出其他异常字符,这是怎么回事,能不能通过设置让显示的字符数正常。

相关帖子

沙发
littler| | 2016-1-20 22:47 | 只看该作者
设置长的没试过;
调试信息,可以考虑一下使用串口或其他方式输出。调试信息也没有必要过长

使用特权

评论回复
板凳
Bruce_Li|  楼主 | 2016-1-22 10:10 | 只看该作者
但是现在需要通过使用printf来实现调试时的打印信息,打印信息的字节数通常都会超过10字节;以下是使用的相关配置:
芯片型号是TMS320C6701,CCS版本是3.3,在工程中的CMD配置如下:
-c
-l rts6700.lib
-heap  0x4000
-stack 0x4000
MEMORY
{           
        VEC:     o = 0   l=400h
        IPRAM:   o = 00000400h   l = 0001fc00h
        EXT0:   o = 80000000h   l = 10000h
         
}
SECTIONS
{
    .vectors    >       VEC
    .text       >       IPRAM
    .stack      >       EXT0
    .bss        >       EXT0
    .cinit      >       EXT0
    .cio        >       EXT0
    .const      >       EXT0
    .data       >       EXT0
    .switch     >       EXT0
    .sysmem     >       EXT0
    .far        >       EXT0
}
工程中的C代码程序如下,在使用JTAG对板卡进行板上调试时返回到CCS上的输出信息只有一个“U”字符,而不是需要打印的字符,如果在printf中打印的字符个数小于10 就能正常打印了:
#include<stdio.h>

void main()
{
    printf("1234567890a\n");
}

使用特权

评论回复
地板
小木欧尼| | 2016-1-25 21:40 | 只看该作者
楼主有没有找到原因   看看printf函数吧

使用特权

评论回复
5
小木欧尼| | 2016-1-25 21:41 | 只看该作者
函数都对应数据类型和格式

使用特权

评论回复
6
米尔豪斯| | 2016-1-26 21:55 | 只看该作者
看看printf函数是怎么定义的,可能定义得就是10位

使用特权

评论回复
7
smilingangel| | 2016-1-27 17:06 | 只看该作者
这个就需要看下你的printf函数的实际定义的。

使用特权

评论回复
8
Bruce_Li|  楼主 | 2016-1-29 14:22 | 只看该作者
使用CCS的模拟器来跑代码是可以正常输出的,无论输出多少字符都正常,但是同样的代码下载到板子上面超过10个字符就不能显示了,不是代码的问题,估计可能是堆栈、设置或者芯片上的设置问题,但是不能定位问题的原因,无法解决

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

21

帖子

1

粉丝