黄文蓓 沈毓磬
上海工程技术大学城市轨道交通学院 上海 201620
DSP特指数字信号处理器芯片。数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速发展[1]。本文采用Code Composer Studio软件,利用硬件DSP电路,实现CCS在DSP中输出所需的波形。
CCS(Code Composer Studio)是一个完整的DSP集成开发环境,是目前最优秀、最流行的DSP开发软件之一。现在TI所有的DSP都可以使用该软件工具进行开发,只是只有′C5000和′C6000的CCS中才提供DSP/BIOS功能,而在′C2000和′C3X的中是没有DSP/BIOS功能的。所以有时也将用于′C2000和′C3X开发的集成开发环境称为CC(Code Composer),以示区别。CCS支持软仿真器、各种型号硬仿真器、各种DSK和EVM板,需要向相应的生产厂家索取驱动程序,然后在CCS中安装即可[2]。
目前CCS的功能日益强大,可拥有以下几个方面。
1)集成可视化代码编辑界面,可直接编写C、汇编、.H文件、.cmd文件等。
2)集成代码生成工具,包括汇编器、优化C编译器、连接器等。
3)基本调试工具,如装入执行代码(.OUT文件),查看寄存器窗口、存储器窗口、反汇编窗口、变量窗口等,支持C源代码级调试。
4)支持多DSP调试。
5)断点工具,包括硬件断点、数据空间读/写断点、条件断点(使用GEL编写表达式)等。
6)探针工具(probe points),可用于算法仿真,数据监视等。
7)剖析工具(profile points),可用于评估代码执行的时钟数。
8)数据的图形显示工具,可绘制时域/频域波形、眼图、星座图、图像等。
9)支持RTDX(Real Time Data exchange)技术,利用该技术可在不中断目标系统运行的情况下,实现DSP与其他应用程序(OLE)实现数据交换。
10)提供DSP/BIOS工具,利用该工具可增强对代码的实时分析能力,如分析代码执行的效率,
11)调度程序执行的优先级,方便管理或使用系统资源(代码/数据占用空间,中断服务程序的调用,定时器使用等),从而减小开发人员对硬件资源熟悉程度的依赖性[3]。
目前TI公司发布的CCS软件版本中常用的有CCS2.2、CCS3.1以及CCS3.3。CCS2.2是一个分立版本的开发环境,所以体积较小,使用起来也比较稳定,但是使用C语言编程时代码优化的效率比较低。而CCS3.1和CCS3.3是集成版本,所以体积比较大,虽然在C语言编程时,代码优化方面和CCS2.2相比,做了很多改进,但是系统稳定性稍显欠缺。CCS3.3是比较新的版本,所以目前使用的人最多。TI不断推出新版本的CCS[4]。
为了能够更好地理解CCS所工作的内容,需要简单理解一下预处理、编译和链接这3个概念。预处理时对源代码进行编译前的处理,源代码就是之前在CCS3.3环境中所编写的C语言代码或者汇编语言代码,语句前为“#”的语句就是在预处理期间进行作用的。编译是将原文件处理成目标文件的过程,而目标文件并不是下载到DSP中能够运行的可执行代码,它通常包含有许多位置代码,例如包含有某些函数在可执行文件中的位置。链接则是将许多目标文件合并处理成可执行文件。可见,对源文件仅编译的话是不能产生可执行文件的,只有通过编译和链接,才能最终生成可执行文件。
编译代码的通常操作[5]:1)创建新的工程;2)打开已存在的工程;3)新建一个文件;4)向工程添加文件;5)移除工程中的文件;6)给工程添加库文件;7)查找变量;8)替换变量;9)查看源码
通常,程序在通过编译之后,还不能说明程序已经开发成功。编译通过只能说明编写的程序已经没有语法错误,而程序是不是已经实现了所需要的功能,则还不清楚。这就需要对程序慢慢进行调试来进行功能验证。在CCS3.3下,调试程序通常需要掌握以下几点操作。
1)添加、移除断点。调式时经常要看看某一行代码是否被执行,或者执行前后某些变量的状态变化情况,此时就需要在这一行代码前设置一个断点。
2)单步调试。在调试程序时经常会遇到一些需要逐行运行、逐行分析的情况,只有这样才能定位到问题的所在,这时候就需要使用单步调试的功能。
3)使用watch window观察变量。一个程序通常会有许多变量,而常常又希望在调试的时候能够观察到某个或者某些变量的值,以便于判断程序运行是否正常,是否符合既定的要求,这时就需要使用watch window的功能来查看变量的值。
4)保存并导出变量的值。
5)观察指定存储空间内的数据。
6)统计代码的运行时间。
7)在CCS中显示图形(这一步是相对其他步骤比较复杂的操作)。
通过CCS在DSP上完成代码调试,最后输出想要的波形。
在初步学习完CCS的一个大概系统后,总结几点在进行CCS在DSP开发应用中的学习需要的注意事项。第一是要学会总结在操作实验过程中的得与失,吸取以前的教训和经验,才能在以后的操作中打下扎实的基础。第二要掌握相当多的相关知识,比如编程和对时序的认识,这样才能在实际操作中熟练快速地进行实验。通过学习CCS的操作,可以在DSP上熟练运用,完成代码调试后便能够在显示屏上显示需要的波形。
[1]顾卫刚.手把手教你学DSP:基于TMS320X281x[M].北京:北京航空航天大学出版社,2011.
[2]DSP实验室.软件开发工具CCS的使用[M].北京:北京交通大学电子学院,2005.
[3]李亚,罗仁泽,罗朗,等.“DSP芯片原理及应用”教学方法探索[J].电气电子教学学报,2008(6):91-92.
[4]裘云.DSP技术及其前景[J].微计算机信息,2000(5):3-4.
[5]杜开初.单板机的断点设置过程[J].龙岩师专学报,1989(2):63-66.