dsp中不能显示asm文件

dsp中不能显示asm文件,第1张

dsp中不能显示asm文件的原因:第一种可能:没有加载CMD文件

第二种缺贺可能:CMD文件已加载,但正扮樱CMD文件编写有问题,存储器配置、定位不正确举丛

第三种可能:用C语言编写的DSP程序,C初始化设置错误。

asm文件是汇编程序文件唤粗橘,现在的DSP编程一般是用C语言,因此如果没有特殊需求就不用写asm,有些TI提供的ASM可以直接拿来用。

cmd文件凳镇是存储器配置文和团件,开发板提供的CMD文件一般只用来仿真,这个文件是需要根据你的应用来修改的,可以加入外部存储器,或将某个变量定位在特定的存储区,这些可以通过修改cmd文件来实现。

下面是C语言的

这是丛侍软件仿真,放大袭租倍数成2的指数幂增加(可修改放大倍数),然后在read_signals处设置断点,插入正弦数据,然后设置图像观察两个缓冲数组,inp_buffer,out_buffer

CMD文件也有,但是我再硬件上调试过,这种放大倍数增加的方法,在单步程序跑到最后就不动了。也就是放大倍数不变了。要放大100用我的2812应该不行。软件仿真完全行得通。

//-------------------------------相关头文件------------------------------------//

#include "stdio.h"

#include "volume.h"

//-------------------------------工作变量定义----------------------------------/渗禅吵/

int inp_buffer[BUFSIZE] /* processing data buffers 100 */

int out_buffer[BUFSIZE]

int volume = 2 // BUF_SIZE的定义见volume.h

//-------------------------------调用子程序规则--------------------------------//

int read_signals(int *input)

int write_buffer(int *input,int *output,int count)

int output_signals(int *output)

void Delay(void)

//-----------------------------------主程序------------------------------------//

main()

{

int num = BUFSIZE

int *input

int *output

input=inp_buffer

output=out_buffer

read_signals(input)// 加软件断点和探针

// ======无限循环======

while ( TRUE )

{

write_buffer(input, output, num)

input=inp_buffer

output=out_buffer

}

}

// 读取输入信号

int read_signals(int *input)

{

// 在此读取采集数据信号放到输入缓冲区input[]

return(TRUE)

}

// 将数据进行处理后搬移到输出缓冲区

int write_buffer(int *input,int *output,int count)

{

int i

for ( i=0i<counti++ )

{

output[i]=input[i] * volume// 处理:将输入数据放大volume倍放到输出缓冲区

}

volume *= 2

return(TRUE)

}

// 输出处理后的信号

int output_signals(int *output)

{

// 在此将输出缓冲区out_buffer中的数据发送到输出设备(比如DA)

return(TRUE)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12264071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存