2008/12/31
试了试Matlab7.6的Embedded IDE Link VS
用文件读写的方式在Matlab和Visual DSP++间传递数据比较麻烦。Matlab7.6提供了Embedded IDE Link VS,我决定试用一下。
经历了一刻钟的挫折之后,终于成功地完成了一系列简单的操作。
整个试验的详细过程是:
首先,打开Visual DSP++ 5.0,写程序,编译,Connect to target,设置好断点;
这个程序在《试验Visual DSP++中给ADSP-TS用的FFT函数》里出现过,里面还叙述了complex 结构体的结构,如果不明白复数据是如何存储的,可以参考那篇文章。这次稍作修改,将数组in_buf和out_buf都加了static修饰,原因是auto类型的变量在栈上开辟,无法使用Embedded IDE Link VS 里ADIVDSP对象的address方法通过符号名取得地址。整个程序如下:
/*********************************************************************** ******
* test1_fft.c
************************************************************************ *****/
#include
//FFT点数
#define NDataLen 256
/* Place program arguments in the following string, or delete the definition
if arguments will be passed from the command line. */
const char __argv_string[] = "-abc -xyz";
int main( int argc, char *argv[] )
{
/* Begin adding your custom code here */
//256点时域数据存储区
static complex_float in_buf[256];
//256点频域数据存储区
static complex_float out_buf[256];
//旋转因子存储区
static complex_float W[3*NDataLen/4];
//临时缓冲区