利用MATLAB的面向对象编程技术和CCSLink技术,可以为目标程序中的所有C符号创建嵌入式对象,并通过对象来操作该C符号。
在本程序中,首先复位DSP并创建一个嵌入式对象:
restart(cc) %复位程序,使PC指向程序人口处
goto(cc,‘main’) 将PC定位到主程序人口
cvar=createobj(cc,‘table’) %为操作嵌入式对象table创建MATLAB对象cvar
复制代码
上述语句创建了指向DSP中C符号的MATLAB对象,从而可以实现对其全部或者部分读取和修改。
read(evar) %将嵌入式对象读人到MATLAB工作空间
write(cvar,4,10) %将滤波器系数的第4个元素修改为1O
set(cvar,‘size’,E11]) %修改滤波器的阶数
复制代码
通过CCSLink,不仅可以为数组变量创建对象,而且可以为C定义的一切数据结构变量创建对象并进行相应的操作,例如:
cvar=createobj(cc,‘etype’) %创建指向C枚举常量的MATLAB对象
write(cvar,‘errorcondition’,‘NO_ ERROR’) %重新给枚举常量赋值
复制代码
上述语句均通过MATLAB环境下的对象cvar,实现了在DSP硬件不停止执行程序的情况下对DSP的C语言程序中数据结构变量的读写修改。这对于调试实时嵌入式系统具有很大的必要性和方便性。