在ti的DSP程序设计中,总的说一个完整的工程需要由库文件(.lib),头文件(.h),源文件(.c)和CMD文件(.CMD)组成,缺一不可。另外,还有一种GEL文件。
通用扩展语言(.GEL)
什么是GEL文件?GEL文件的作用是什么呢?
GEL是通用扩展语言(General Extension Language)是一种解释语言,类似于C语言。GEL函数可以用来扩展CC的功能,方便用户调试程序。CCS提供丰富的内嵌GEL函数,用户也可以定义自己的GEL函数。在处理器属性的GEL文件窗内为每个处理器选择用户的GEL文件(扩展名为 .gel)
需要注意的是:GEL文件用于初始化DSP。GEL在CCS下有一个菜单,可以根据DSP的对象不同,可以用gel来调用一些菜单命令,对DSP的存储器进行配置,设置不同的初始化程序。
在我们的调试中,出现过仿真器突然不能下载的情况。分析原因,是因为修改了gel的PMST参数,将它设置成了0xffac。经过验证,这个参数设置会导致仿真器失常,下载出错。将它设置成0x00ac、0x7fac等等都没有问题。
CMD文件(.CMD)
以.CMD为扩展名的文件,这个文件的作用是用来分配存储空间的。由于DSP编译器的编译结果是未定位的,DSP也没有操作系统来定位执行代码,DSP系统的配置需求也不尽相同,因此我们根据实际的需求,自己定义代码的存储位置。打个通俗的比喻,就是我们有一个仓库,现在需要把货物存放到仓库里面去,为了便于日后取用货物,我们将货物分门别类,然后把它们存放到指定的位置去。把哪些货物放到哪个位置的规则,就是我们的CMD文件的内容。
CMD文件又分成两种。一种是分配RAM空间的–微计算机模式(仿真模式)—XMP/MC`=0,用来将程序load到RAM内进行调试,因为我们大部分时间都是在调试程序,所以多用这类CMD,另一种是分配FLASH空间—–微处理器模式—XMP/MC`=1,当程序调试完毕后,需要将其烧写到FLASH内部进行固化,这个时侯我们
就需要使用这类CMD文件了。
库文件(.lib)
.lib是库文件,rts.lib是TI提供的运行时支持库,如果是C代码写的源程序,必须要包含该库。该库由TI公司做好了,放在CCS的\cgtools\lib中,源代码TI网站可以下载。但是我们无法查看.编辑TI所提供的库文件内容
我们也可以添加自己的库,可在newproject中新建
1 Comments.