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