TI DSP在CCS3.3环境下因printf函数跑飞的问题

2015-04-10 10:28 阅读 1,118 次 评论 2 条

在编写DSP的烧写程序(将DSP执行代码固话到DSP片Flash中)时,为了观察方便,使用printf函数将烧写过程打印的ccs的控制台。但是当程序编写完成后,一运行程序就跑飞了。查了代码也没什么问题,当时百度了一下,网上说是堆栈空间小的原因,试着将堆栈空间改大了些,可以还是跑飞。本来程序就很小,使用内存空间大概有2KB吧,主要存放一个Flash sector的数据,便于一次写入Flash中,所以本身也不认为是堆栈大小的问题。

后来代码走查,发现printf没有相应的头文件,然后在代码中增加了#include <stdio.h>就搞定了。

这说明ccs3.3编译器确实不太智能,没有报错,而运行时确又会出现问题,这样就增加问题排查的难度,这个问题对应变成经验比较丰富,对自己比较自信的,可能很快就怀疑是ccs的问题,而从软件方面着手处理。如果对ccs新手可能就怀疑自己代码写的有问题了,打击学习的积极性呀。

所以按代码规范编程是多么重要呀,可以少走许多弯路。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:TI DSP在CCS3.3环境下因printf函数跑飞的问题 | 起点博客
分类:软件应用 标签:, ,

发表评论


表情

  1. 辛风
    辛风 【农民】

    ccs3.3软件太老坑本来就多

  2. will
    will【站长】

    老的程序更换新版ccs会出问题,后来编的程序就用新版本了