在MATLAB环境下,可以控制CCS IDE中程序的显示及断点的设置,并控制程序代码的执行和暂停,读写DSP的内存变量。例如,执行以下程序:
open(ce,‘fir.C’,‘text’) %在CCS中打开源程序
open(ee,‘fir.cmd’,‘text’) %在CCS中打开链接命令文件
insert(cc,‘fir.C’,30) %在源文件中第3O行插入断点
halt(cc) %暂停CPU
restart(cc) %复位程序计数器PC
run(cc,‘runtohalt’,30) %DSP程序执行到断点
ddatV=read(cc,address(cc,‘table’),‘double’,7) %读取C代码初始化滤波器系数table
idatV—read(CC,address(CC,‘buff’),‘single’,7) %读取C代码初始化数据buff
write(cc,address(cc,‘table’),double(E0,0.0468,0.1009,
0.1514,O.1009,0.0468,O]) %修改滤波器系数table
run(cc,‘runtohalt’,20) %从断点处继续执行
ddatV=read(ee,address(cc,‘table’),‘double’,7) %读取修改后的数据table
idatV=read(cc,address(cc,‘buff’),‘single’,7) %读取修改后的数据buff
复制代码
阅读本例工程文件可知,在程序设计中,把滤波器系数表存储在变量ddatV中,把采样的信号数据存储在变量idatV中,在MATLAB环境下,同样可以通过regread和regwrite函数对CPU寄存器进行读写操作。这样在程序调试的过程中,就可以实时地修改滤波器的系数和读取采样信号数据;同时DSP硬件无须停止程序执行,实时地提供了程序调试的平台,直到达到满意的效果。