求一段DSP程序

求一段DSP程序,第1张

global start ; 定义全局标号

text

start:

nop

LDp #4 ; 直接寻址,装载DP值,页指针指向片内数据区DARAM B0

SPlk #1,1 ; 绝对地址201H开始的四个单元存1,2,3,4

Splk #2,2 ;

Splk #3,3 ;

Splk #4,4 ;

Splk #7,AR3

Splk #300h,AR1

; 以下使用间接寻址将201H开始的4个单元的数

; 转存到300H开始的4个单元

lar ar0,#201h ; 源起始地址存在辅助寄存器0

lar ar1,#300h ; 目的起始地址存在辅助寄存器1

lar ar2,#3 ; 循环计数值为移动数-1

mar ,ar0 ; 设置当前辅助寄存器为ar0

loop1: ; 开始循环搬移数据

lacc +,ar1 ; 将当前辅助寄存器(ar0)所指向的数据内存单元的值装载到acc

; ar0加1,设置当前辅助寄存器为ar1

sacl +,ar2 ; acc低16位存放到当前辅助寄存器(ar1)指定的单元

; ar1加1,设置当前辅助寄存器为ar2

banz loop1,ar0 ; 当前辅助寄存器(ar2)如果不等于0则

; 当前辅助寄存器(ar2)减1,转loop1

xh: b xh ; 空循环

end

不能从dsp中读取,因为out文件是执行文件,是有在开发板或是仿真中才能读取;

DSP(Digital Signal Process)即数字信号处理技术,DSP芯片即指能够实现数字信号处理技术的芯片。

DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线 *** 作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。

DSP系统的引导程序(BOOT)是系统加电或复位时,DSP将一段存储在外部的非易失性存储器的程序代码通过DMA方式拷贝到内部的高速内存中运行。这样既能扩展DSP有限的存储空间,又能充分发挥DSP内部资源的效能。用户的代码也可以通过掩膜方式写入到DSP内部ROM中,但这样受容量和价格的限制,且不便于扩展和升级。 DSP的引导过程如下: 1) DSP复位后,通过DMA方式将外部CE1空间的数据读入到内部程序空间地址0处,读入数据的多少因芯片而异(TMS320C6712一次只拷贝1KB)。 2) DSP推出复位状态,开始执行内部程序空间地址0处的程序,这段程序先将外部主程序数据读入到DSP内部程序空间相应地址,然后跳转到主程序运行。 第一步是由芯片自动完成,关键是第二步:用户需要编写相应的汇编程序,实现二次引导,即用户主程序的装载

从这些宏定义可以看到C语言是如何支持硬件编程的。

以#define IMR (volatile unsigned int )0x0004 为例:

1)0x0004,这个容易理解,是一个十六进制的常数

2)再看(volatile unsigned int ),这是一个强制转换,将0x0004转换成(volatile usigned int )

3)现在解释volatile usigned int 是什么。 表示指针(地址),这个指针指向一个 usigned int的数。最前面的volatile有特殊含义:这个指针必须保存在RAM中(不是FLASH或DSP寄存器中)

4)综合上面1)2)3)可知: (volatile unsigned int )0x0004 的含义是:

0x0004是一个地址,在这个地址内保存的是一个unsigned int 类型的整数。这个地址存在于RAM

5)(volatile unsigned int )0x0004 最左边多一个,表示取地址指向单元的内容。综合起来的意思是:从0x0004地址单元中取出一个usigned int 类型的数据值

6)#define IMR (volatile unsigned int )0x0004 的意思是,将从0x0004地址单元中取出一个usigned int 类型的数据值定义为IMR

7)根据DSP硬件,在DSP中RAM中的 0x0004地址单元恰好是中断管理寄存器!

8)绕了半天,#define IMR (volatile unsigned int )0x0004 的意思是:在C语言程序中,定义了一个宏标示符 IMR 来表示DSP中的中断管理寄存器。在程序中,可以通过这个宏标示符来使用这个寄存器:

unsigned int v = IMR; //取出中断管理寄存器的值并赋给v

以上就是关于求一段DSP程序全部的内容,包括:求一段DSP程序、能否从dsp中读取out文件,如何读取、雅马哈功放dsp程序最经常用哪几种程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9737464.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存