|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
使用CCS for c2000 的问题 |
作者:zjz0319 栏目:DSP技术 |
最进开始学习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 于 2005/1/8 9:47:00 发布:
re. 2000系列DSP像单片机一样,基本上没有启动代码的概念。建议你找个程序例子看看。最简单的例子就行了,例如控制GPIO的程序。另外买几本书看看,你的问题书上都有解释。 |
3楼: | >>参与讨论 |
作者: shixiudong 于 2005/1/8 14:37:00 发布:
关于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 于 2005/1/8 20:43:00 发布:
RE: 谢谢donggui,shixiudong两位高人,特别要谢谢史修栋大侠帮我回答了每个问题,实在是太感谢了!!!两位可以认识一下吗,小弟想拜师,不知能否收下? 我叫朱杰作 今年干毕业,现在从事无人直升机的飞行控制。QQ:5772725 TEL:13667988692 |
5楼: | >>参与讨论 |
作者: shixiudong 于 2005/1/9 0:17:00 发布:
欢迎加我MSN讨论DSP技术问题:shixiudong@hotmail.com 我没有QQ,只有MSN。只要我开机,必定MSN在线。 欢迎任何朋友加我讨论技术问题: MSN: shixiudong@hotmail.com 史修栋 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |