EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文结合具体例证,介绍基于MATLAB 的 DSP 应用程序调试方法。 MATLAB 具有强大的分析、计算和可视化功能,利用MATLAB 提供的数十个专业工具箱,可以方便、灵活地实现对自动控制、信号处理、通信系统等的算法分析和仿真,是算法设计人员和工程技术人员必不可少的软件工具。
8 l* V+ {3 r+ u/ n) K6 Z8 v4 y0 g 数字信号处理器(DSP)作为一种可编程专用芯片,是数字信号处理理论实用化过程的重要技术工具,在语音处理、图像处理等技术领域得到了广泛的应用。但对于算法设计人员来讲,利用汇编语言或C 语言进行DSP 功能开发,对于具有周期长、效率低的缺点,不利于算法验证和产品的快速开发。) G5 M6 ^2 f5 B
由MathWorks 公司和TI 公司联合开发的MATLAB Link for CCS Development Tools(简称CCSLink)是MATLAB6.5 版本(Release13)中增加的一个全新的工具箱,它提供了MATLAB、CCS 和DSP 目标板的接口,利用此工具可以像操作MATLAB变量一样来操作DSP 器件的存储器和寄存器,使开发人员在MATLAB 环境下完成对DSP 的操作,从而极大地提高DSP 应用系统的开发进程。 1 CCSLink 初步
) G+ T- j* _ o( C* O CCSLink 工具通过双向连接将MATLAB、CCS 和DSP 目标板联系起来,允许开发者利用MATLAB 强大的可视化、数据处理和分析函数对来自CCS 的数据进行分析和处理,极大地简化TI 公司DSP 软件的分析、调试和验证过程。 CSLink 的主要特点为:在MATLAB 环境下完成对DSP器件的调试、数据传递和验证;在MATLAB 和DSP 之间实现数据实时传递;支持XDS510 和XDS560 仿真器;提供 嵌入式对象,可以访问C/C++变量;扩展了MATLAB 和eXpressDSP工具调试能力。 N5 X6 I6 V* Y D4 x) q/ p1 d# s
MATLAB 6.5 版集成了CCSLink1.0 工具,支持CCS 能识别的所有板卡及硬件DSP,包括TIC2000、C5000、C6000 DSP及EVM 板、DSK 板、simulator 及任何符合标准的用户板和第三方板。CCSLink 正常工作除了需要MATLAB 及其信号处理工具箱外,还需要TI 的编译器(compiler)、汇编器(assembler)、链接器(linker)、CCS IDE2.1、CCS 配置工具信其他软件工具。
2 c! d$ j* L" h6 p在MATLAB 环境下输入命令 # \ I7 K _8 U8 X) L
help ccslink
9 U: s3 L3 R& ^# L若CCSLink 已正确安装,则会显示产品信息及进行CCS 和RTDX 操作的函数列表:
n9 x% X0 ^) G) \6 J& rMATLAB Link for Code Composer Studio(tm)
4 M4 ^0 v3 M2 V {9 [Version 1.0 (R13) 28-Jun-2002。 / |- U( x3 Z! ]: U( |$ H# A8 `
若MATLAB 不能返回信息,则表明CCSLink 未安装成功,需进行重新安装。 2 CCSLink 对象的建立
+ ^& Z& J8 @5 s 在对DSP 进行操作之前,应该首先建立一个DSP 目标。对于配置了多DSP 系统的用户,CCSLink 提供了两种选择DSP目标的工具:ccsboardinfo 函数和boardprosel 图形用户界面,用户可以根据返回值和自己需求选择相应的对象。以采用图形用户界面为例,若配置有XDS510 Emulator 和C5416 Simulator 二种DSP 系统,运行[boardNum,procNum] = boardprocsel,则MATLAB 通过对CCS 配置的自动检测,出现图2 所示的目标选择界面。本文根据需要选择硬件仿真器C54xxXDS510Emulator 并点击Done,则可返回板卡编号和处理器编号:
4 V2 d# g5 d c8 WboardNum=1,procNum=0。 利用ccsdsp 函数可以确立一个DSP 对象。ccsdsp 以板卡编号和处理器编号为参数,并在建立链接对象后返回其它属性,如处理器型号、处理器名称等。例如,运行cc=ccsdsp(‘boardnum‘,boardNum, ‘procnum‘, procNum),则建立起一个CCS IDE 对象的句柄cc。从而可以通过cc,在MATLAB 下实现对CCS 的操作并控制DSP 芯片。 3 CCSLink 调试DSP 代码实例
2 Q5 U" k0 [2 m- w( t 建立起MATLAB 链接之后,就可以通过CCS 为DSP 目标产生可执行代码,并进行编译、调试和分析。在以下的介绍中,均以MATLAB 自带的工程文件为例。
: r, l b1 B$ `6 M, R- n3.1 加载DSP 目标板; B' n9 r8 J4 I
在MATLAB 环境执行以下代码:* M5 e2 Y$ i9 P! } N: I
projfile = fullfile( matlabroot, ‘toolbox‘, ‘ccslink‘, ‘ccsdemos‘, ‘ccstutorial‘,‘ccstut_54xx.pjt‘)%选择工程文件4 V. P* g0 t% j3 G" T
projpath = fileparts(projfile) %指定工程文件路径9 q! N$ @$ ~- r
open(cc,projfile)%打开工程文件/ O. _+ j& ], @
visible(cc,1)%使CCS IDE 前台可见) Q* g4 s4 L& w
cd(cc,projpath)%改变MATLAB 工作路径' D3 _! l4 U, P0 a$ A
build(cc,‘all‘,60)%编译工程+ f, r; n* d& `2 K% ~
load(cc,‘ccstut_54xx.out‘,30)%加载可执行文件* r( J C3 d, F2 W
则如代码注释所示,在MATLAB 环境下完成了对工程文件的调入、编译,生成可执行文件并将其加载到DSP 目标板。利用鼠标操作切换到CCS 界面,可以看到在MATLAB 下已经完成了对CCS 的各种操作过程 " R$ T" @3 B# ~1 |5 f& a
. ~: e! u) Z6 R8 c% g" N2 O+ ~ |