这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » CCS,for,c2000 使用CCS for c2000 的问题

共2条 1/1 1 跳转至

CCS,for,c2000 使用CCS for c2000 的问题

院士
2006-09-17 18:14:16     打赏
CCS,for,c2000 使用CCS for c2000 的问题



关键词: c2000     使用     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问    最进开始学习DSP,  用的是28XX,在看C编译手册的时候有几个地方不懂:
    1.开发DSP是不是一盯要用汇编写启动代码?
    2._c_int00   _c_int0   _main  的关系搞不明白,分别跳转到这三个地方的时候CPU做了哪些不同的工作?
    3.heap的作用,书上讲是为了动态申请内存,假如我在c中不动态申请内存是不是可把他设置为0?
   4.用C编写中断程序的时候,需不需要在中断向量上加跳转指令?
我是学单片机出身的,问题太幼稚请各位大侠不要笑,总感觉CCS很难用,不象用KEIL C和ICCAVR 那样简单,看了几天的技术文档,对怎样把汇编代码和C代码连起来用还是很模糊,各位大侠能不能给些学习DSP的建议,或推荐一些资料!!
                                 小弟感激不尽!!

1: re.2000系列DSP单片机一样,基本上没有启动代码的概念。建议你找个程序例子看看。最简单的例子就行了,例如控制GPIO的程序。另外买几本书看看,你的问题书上都有解释。 2: 关于CCS的切身体会
我已经从CCS2000转到了现在的专业做DSP64XX,感觉上DSP2000真的像16位单片机那么简单。如下尽力回答你的问题,希望起到抛砖引玉的效果:

(如下是搂主提问)
  使用CCS for c2000 的问题:

1.开发DSP是不是一盯要用汇编写启动代码?
  我所开发过的DSP2000项目,全都用了汇编启动代码,建议你也采用。你是从单片机转过来的,熟悉汇编编程,只要选择\ti\tutorial中的一个hellow例子,看看其中的asm文件,比葫芦画瓢就完成。我的体会:做DSP程序开发,学会如何以及从哪里copy程序,很重要:)

2._c_int00   _c_int0   _main  的关系搞不明白,分别跳转到这三个地方的时候CPU做了哪些不同的工作?
  我没有见过_c_int0这个地址标号。_c_int00是程序启动入口地址,一般就是复位中断的跳转地址。_main是给用户留出来的c程序开始地址,也就是告诉用户可以从这里开始编写自己的c程序。从_c_int00到_main之间,还有一些C自动生成的代码,用来实现程序从外部flash加载(DSP6000必定有这一步,不知道DSP2000中是否相同)、c全局变量初始化任务等等事务。

3.heap的作用,书上讲是为了动态申请内存,假如我在c中不动态申请内存是不是可把他设置为0?
  我没有试验过把heap设置为0是否正常工作,而是设置的比较小,例如1K byte。因为你从单片机上转过来的,对使用标准C可能不习惯(我就是这样),否则我建议你把heap设置为memory的一半左右,不要习惯性地采用全局静态地址存放大量数据,而是用动态内存申请,在程序中动态地使用memory,这样的话对编写大程序有利。

4.用C编写中断程序的时候,需不需要在中断向量上加跳转指令?
  我在做DSP2000的时候,都是采用对中断向量跳转指令修改地址来实现中断编程的。你只要在汇编写启动代码的相应地方,把相应的地址修改成你的中断入口地址就好了(不要忘了把中断入口地址用_global声明哦)。默认情况下,C程序把不用的中断都跳转到一个软件陷阱中。

总结:
  我在此要责骂TI公司,他们对DSP入门设置的门槛太高。我也是从MCS51单片机转过来的,也经历了类似楼主的痛苦经历。TI提供的各种实用手册等等资料,往往把读者假定为已经非常熟悉他们的DSP汇编编程,在C语言编程的help等资料中,也总是提及汇编的很多内容,使得学习者无所适从。我在编写DSP6000 boot程序的时候,总是因此遇到困难,痛恨TIing。

附一块正在调试的TMS320DM642-600的电路板,我只用了4层板完成的,并且只在top/bottom两层布线,中间的两个电源层没有信号线。
http://www.21icsearch.com/buzi/upimage/upfile/2005181442050.jpg

我也因为没有朋友相互讨论DSP的技术问题感到痛苦,往往遇到一个难题自己憋很久不能解决。
欢迎对DSP感兴趣的朋友互相联系。我在上海,联系方式如下:
021-62803271
David@SmartSystem.com.cn

史修栋
3: RE:谢谢donggui,shixiudong两位高人,特别要谢谢史修栋大侠帮我回答了每个问题,实在是太感谢了!!!两位可以认识一下吗,小弟想拜师,不知能否收下?
我叫朱杰作 今年干毕业,现在从事无人直升机的飞行控制。QQ:5772725
TEL:13667988692 4: 欢迎加我MSN讨论DSP技术问题:shixiudong@hotmail.com我没有QQ,只有MSN。只要我开机,必定MSN在线。

欢迎任何朋友加我讨论技术问题:
MSN: shixiudong@hotmail.com

史修栋

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]