EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文结合具体例证,介绍基于MATLAB 的 DSP 应用程序调试方法。 MATLAB 具有强大的分析、计算和可视化功能,利用MATLAB 提供的数十个专业工具箱,可以方便、灵活地实现对自动控制、信号处理、通信系统等的算法分析和仿真,是算法设计人员和工程技术人员必不可少的软件工具。0 l9 v$ O+ H) V$ B/ O2 Z, `
数字信号处理器(DSP)作为一种可编程专用芯片,是数字信号处理理论实用化过程的重要技术工具,在语音处理、图像处理等技术领域得到了广泛的应用。但对于算法设计人员来讲,利用汇编语言或C 语言进行DSP 功能开发,对于具有周期长、效率低的缺点,不利于算法验证和产品的快速开发。
/ C2 i; C' t) {3 h% v0 B 由MathWorks 公司和TI 公司联合开发的MATLAB Link for CCS Development Tools(简称CCSLink)是MATLAB6.5 版本(Release13)中增加的一个全新的工具箱,它提供了MATLAB、CCS 和DSP 目标板的接口,利用此工具可以像操作MATLAB变量一样来操作DSP 器件的存储器和寄存器,使开发人员在MATLAB 环境下完成对DSP 的操作,从而极大地提高DSP 应用系统的开发进程。 1 CCSLink 初步
" s/ L, H5 S0 b/ Q6 b" D CCSLink 工具通过双向连接将MATLAB、CCS 和DSP 目标板联系起来,允许开发者利用MATLAB 强大的可视化、数据处理和分析函数对来自CCS 的数据进行分析和处理,极大地简化TI 公司DSP 软件的分析、调试和验证过程。 CSLink 的主要特点为:在MATLAB 环境下完成对DSP器件的调试、数据传递和验证;在MATLAB 和DSP 之间实现数据实时传递;支持XDS510 和XDS560 仿真器;提供 嵌入式对象,可以访问C/C++变量;扩展了MATLAB 和eXpressDSP工具调试能力。
1 w; X6 u% j2 [& V" x9 }+ c9 P MATLAB 6.5 版集成了CCSLink1.0 工具,支持CCS 能识别的所有板卡及硬件DSP,包括TIC2000、C5000、C6000 DSP及EVM 板、DSK 板、simulator 及任何符合标准的用户板和第三方板。CCSLink 正常工作除了需要MATLAB 及其信号处理工具箱外,还需要TI 的编译器(compiler)、汇编器(assembler)、链接器(linker)、CCS IDE2.1、CCS 配置工具信其他软件工具。
7 J. J; x# _6 `在MATLAB 环境下输入命令
* H0 m& j: M- f; q/ ~7 ?$ q+ I5 ?help ccslink 4 M0 H) O: K* k. q G6 e
若CCSLink 已正确安装,则会显示产品信息及进行CCS 和RTDX 操作的函数列表: & }) [) y7 L3 ?5 W
MATLAB Link for Code Composer Studio(tm) / f0 k7 E$ ?5 _) h. Q2 w
Version 1.0 (R13) 28-Jun-2002。 7 e) ]2 U/ Z- g
若MATLAB 不能返回信息,则表明CCSLink 未安装成功,需进行重新安装。 2 CCSLink 对象的建立2 @& J H0 R0 H1 _% m
在对DSP 进行操作之前,应该首先建立一个DSP 目标。对于配置了多DSP 系统的用户,CCSLink 提供了两种选择DSP目标的工具:ccsboardinfo 函数和boardprosel 图形用户界面,用户可以根据返回值和自己需求选择相应的对象。以采用图形用户界面为例,若配置有XDS510 Emulator 和C5416 Simulator 二种DSP 系统,运行[boardNum,procNum] = boardprocsel,则MATLAB 通过对CCS 配置的自动检测,出现图2 所示的目标选择界面。本文根据需要选择硬件仿真器C54xxXDS510Emulator 并点击Done,则可返回板卡编号和处理器编号:: [9 B! d) h3 i+ Q4 a- \5 F
boardNum=1,procNum=0。 利用ccsdsp 函数可以确立一个DSP 对象。ccsdsp 以板卡编号和处理器编号为参数,并在建立链接对象后返回其它属性,如处理器型号、处理器名称等。例如,运行cc=ccsdsp(‘boardnum‘,boardNum, ‘procnum‘, procNum),则建立起一个CCS IDE 对象的句柄cc。从而可以通过cc,在MATLAB 下实现对CCS 的操作并控制DSP 芯片。 3 CCSLink 调试DSP 代码实例6 h+ P! J) F0 L6 T7 [! `
建立起MATLAB 链接之后,就可以通过CCS 为DSP 目标产生可执行代码,并进行编译、调试和分析。在以下的介绍中,均以MATLAB 自带的工程文件为例。5 t0 J4 o' G0 [
3.1 加载DSP 目标板
! p+ _5 Y ]2 \! N) ` 在MATLAB 环境执行以下代码:
5 e2 @) @9 S3 a. Q9 U/ F% u! @3 r4 Cprojfile = fullfile( matlabroot, ‘toolbox‘, ‘ccslink‘, ‘ccsdemos‘, ‘ccstutorial‘,‘ccstut_54xx.pjt‘)%选择工程文件, C5 N& ]" T4 b
projpath = fileparts(projfile) %指定工程文件路径
0 h. C, i1 u" ?8 f+ x. j/ c' hopen(cc,projfile)%打开工程文件, I7 o6 P6 C" x1 u# h# a1 \
visible(cc,1)%使CCS IDE 前台可见$ K, G3 [$ ~" }) Y1 x% w X
cd(cc,projpath)%改变MATLAB 工作路径
! Q" J* q. L( t: Ybuild(cc,‘all‘,60)%编译工程; y" Y3 X" x* W+ L3 Y
load(cc,‘ccstut_54xx.out‘,30)%加载可执行文件
& L0 w# ]' O# F$ ]7 w- h" M; X 则如代码注释所示,在MATLAB 环境下完成了对工程文件的调入、编译,生成可执行文件并将其加载到DSP 目标板。利用鼠标操作切换到CCS 界面,可以看到在MATLAB 下已经完成了对CCS 的各种操作过程 * u s6 k) }, m0 w; u4 n
' |& I2 j. r' r" o/ m
|