新闻  |   论坛  |   博客  |   在线研讨会
TI DSP 入门指南
jhy1000 | 2009-11-25 18:30:14    阅读:6533   发布文章

TI DSP 入门指南

———兴唐公司资深DSP工程师  童刚  吕宝俊

 

算一算,从研究生期间自己接触TI DSP开始,已经过去七年的时间。从最初的C62D到后来的C54,再到近两年使用的C64TI公司的几款主流DSP都有所涉及。由于这几年我每年都会对新员工进行一次DSP入门培训,酸是积累了一点经验,在这里和大家分享一下。

 

如何看资料

在最开始学习DSP的时候,推荐大家先找一本有关DSP(此处以TITMS320VC5410A为例)的中文书籍,花几天时间通读一遍,抓住以下几个知识点:整个CPU的框架结构以及存储结构。存储空间分配是初学者最不容易理解而又很容易出问题的一个概念;简单了解指令集——不需要记忆,只是为了更好的理解其它概念;有那些外设,基本功能是什么;简单了解开发环境。

看完中文书后就可以针对具体工作看一些TI的文档,当然是英文的。刚开始看可能有些不习惯,但这是掌握DSP必须经历的过程,也是一项必备的技能。我暂时没有发现、也想不出有哪本中文书能讲得比TI的文档更好。因此,静下心来,把自己要用的知识先通读一遍是百利而无一害的。如果可能的话,最好能找到一个已经完成的项目,从硬件到软件上都有个感性认识。

下面给大家推荐几个文档,建议有针对性地看看自己要用到的章节:

TMS320VC5410A_SPRS1391.pdf(器件手册是重点之重点)、TMS320C54x DSP Reference Set 1_SPRU131G.pdfTMS320C54x DSP Reference Set 5_SPRU302B.pdfUnderstanding the TMS320C54x Memory Map_SPRA607.pdfTMS320C54x Optimizing C/C++ Compiler User’s Guide_SPRU103G.pdfTMS320C5402A/VC5409A/VC5410A/VC5416 Bootloader_spra602F.pdf

另外提一点,TI的开发环境CCS的帮助是我见过的所有软件中最详细、最完备、同时也是条理最清晰的帮助。因此,前期使用时,不仅可以通过帮助查找大量的参考资料(很大部分来源于TI文档),还可以指定CCS的某项功能进行搜索。更方便的是,针对初学者,CCS的帮助还提供了完善的教程。即使在后期的使用过程中,查阅CCS的帮助也是一中非常方便快捷的方式。

 

仿真

在做了大量准备工作后,总于可以开始激动人心的DSP旅程了。那么如何开始呢?首先需要准备开发环境,包括DSP电路板、仿真器、CCS安装包和一台PC

如果条件允许,强烈建议找一快实际的DSP电路板,在板上运行程序。这样可以完整体会从编写程序到最终运行的全过程。然后安装TI DSP的开发环境CCS。这里要提醒初学者一点,安装完CCS后记得安装仿真器的驱动,现在主要是USBPCI接口的仿真器。杂安装完驱动后才可以设置“Setup CCS”,设置全部正确后,顺利打开CCS,开发环境才最终准备完毕。

下面开始建立一个完整的CCS工程了。最简单的方法就是按照CCS的教程,创建一个类似“Hello world”的最简单工程,同时熟悉所需的各种文件,如CMD文件、LIB文件、ASM文件、源程序和GEL文件,如果使用DSP/BIOS操作系统,还需要添加CBO文件。

在最开始接触时,这么多种类型的文件可能让你眼花缭乱,所以最开始不必深究每个文件的细节,只需要知道这个文件的大概功能即可。如CMD文件表明DSP储存空间是如何分配的,LIB文件是函数库文件,VECTORS.ASM里面包含了中断矢量表等等。

在所有程序文件添加完毕后检查无误后,终于可以进行令人兴奋的编译/链接了。其实CCS的便宜连接选项还是相当复杂的,要真正弄清楚是要花一些时间的,这里告诉大家一个取巧的办法,把其它已通过时间检验项目的编译/链接选项复制过来就可以了。

万事俱备,只欠东风。看着自己编写完成的程序,终于变成了可下载到DSP中运行的OUT文件,点击Run,看着屏幕上输出了“Hello world”, 是不是很有成就感?至此,第一个CCS工程大功告成!

回过头来看一看,顺利完成第一个工程还是有些不易的。因为其中涉及了很多很多细节,任何一个细节没有设置好,就不能输出最终期待的结果。这里给大家一条建议,关注细节但不拘泥于细节。怎么理解这句话呢?就是说,要记住每一步做了什么,甚至不妨用笔记下全过程,但可以先不关心为什么这样做。记得曾有过这样的现象,有了几年工作经验的工程师由于重装操作系统而需要重新安装CCS,在恢复工作环境时往往不顺利,可能因为仿真驱动没有装好而导致进不了CCS;也可能是编译选项没有添加“-V548”而导致编译报错。所以初学者在第一次接触CCS时,一定要珍惜这次全新安装的机会,尽可能记住每一个的详细步骤,尤其是一些重要细节。至于为什么这么做,可以在以后的工作中不断总结。

 

烧结

在完成了第一个CCS工程后,作为一个初学者,已经掌握了如何建立一个CCS工程,如何进行编译链接和运行调试,但要成为真正的产品,还需要把程序文件烧写到电路板上的Flash中,脱离PC独立运行。这时就需要一个烧结程序,这个程序的作用很简单,即把可执行的二进制程序文件烧结到Flash中。这时,刚才那个“Hello world”的工程不是十分适合了。因为嵌入式操作系统统称没有复杂的输入输出显示截面,无法显示“Hello world”等文字信息,只能通过蜂鸣器、闪灯等声光方式来证明程序可以正常运行。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
嵌入式工作室
最近文章
TI DSP 入门指南
2009-11-25 18:30:14
专心做好自己的事
2008-01-16 15:31:08
推荐文章
最近访客