登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

使用CCS for c2000 的问题

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



2楼: >>参与讨论
donggui
re.
2000系列DSP像单片机一样,基本上没有启动代码的概念。建议你找个程序例子看看。最简单的例子就行了,例如控制GPIO的程序。另外买几本书看看,你的问题书上都有解释。

3楼: >>参与讨论
shixiudong
关于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两层布线,中间的两个电源层没有信号线。
../uploadfile/200705142313047989.jpg

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

史修栋


dm642

4楼: >>参与讨论
zjz0319
RE:
谢谢donggui,shixiudong两位高人,特别要谢谢史修栋大侠帮我回答了每个问题,实在是太感谢了!!!两位可以认识一下吗,小弟想拜师,不知能否收下?
我叫朱杰作 今年干毕业,现在从事无人直升机的飞行控制。QQ:5772725
TEL:13667988692

5楼: >>参与讨论
shixiudong
欢迎加我MSN讨论DSP技术问题:shixiudong@hotmail.com
我没有QQ,只有MSN。只要我开机,必定MSN在线。

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

史修栋


参与讨论
昵称:
讨论内容:
 
 
相关帖子
请教:通过双口RAM实现PC和DSP的通信中遇到的问题
如何在5402上外扩256K的数据存储器?
求开发motolora 56F800系列DSP芯片用的codewarrior6.1序列号
数据口D0~D13用来接HALL信号,CAP不够用,如何在外扩SRAM?急
RPT #3 ,我调试的时候只走一次,你碰到过吗?
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号