图5示出了CCS配置的主程序源文件(.c或.asm)的设计流程
当然,要使用CCS在DSK板上运行某个程序,光有源文件的主程序(.c或.asm)是不够的,还需要配置中断向量表(.asm)和命令链接文件(.cmd),在一些特殊的场合还需要配置其他的文件。主程序当然是整个程序的核心,它的作用涉及数据的读/写和具体的处理过程以及中断的设置、寄存器的配置等;中断向量表主要作用是告知程序中断跳转的位置,显而易见,如果在主程序中已经设置,则不再需要配置中断向量表;命令链接文件(.cmd)的主要作用是分配存储空间,比如存储器的第0页分配作程序空间,第1页分配作数据空间,以及各个段将要放在哪儿(如.text段放在数据空间),这个文件对每个工程来说都是必须的。
4.3 程序设计
从上面的程序流程中,我们可以看到,要完成预定的功能,首先要初始化DSP的串行口和AIC,然后的工作就是开辟缓存区以便将输入的数据存储起来等待进一步处理如滤波、DA转换等。限于篇幅,下面只列出了本文要实现音频回放功能的几个关键程序段。
一.主程序:
在程序中要定义诸多的变量以及所需要包含的头文件和库文件在此略。
5.CCS运行结果
待程序设计好之后,将其添加到一个新建的工程里编辑、调试,直到编译、构建通过并生成.out文件,然后装载.out文件。这样就可以运行了。为了验证程序是否已正常运行,可以在麦克风/扬声器接口分别接上话筒和小音箱,在对着话筒说话时,将可以从小音箱中听到。同时,也可以在CCS中打开观察窗口、寄存器窗口以及图形显示窗口。下图为音频输入时某一时刻的图形显示和寄存器的值。
事实上,在程序调试过程中经常会遇到这样或那样的问题,一般的方法是采用单步执行的方式来调试。而且,由于DSP本身的特点,从一开始就需要认识到开发过程的复杂性。