文件名称:
DSP算法应用与设计(2.1).pdf.pdf
开发工具:
文件大小: 5mb
下载次数: 0
上传时间: 2019-09-14
详细说明:DSP算法应用与设计(2.1).pdfpdf,DSP算法应用与设计(2.1).pdf42第一部分DP其使用
DRAM
far
TDRAM
工RA阿
白y1enx工DRAM
⑦,闩举程序怎样开始?谁调这个爿举程序?
儇设写好了一个C程序,编译-汇编并链唼后,把它下载到DSF或一块与DSP相连的ROM
屮,然后按下复位键,发生了什么?它怎样开始?
程序员必须确信自举强序调用了,其广法是提供一个揞向自举函数c_ intto的中断向量
特别是与DSP复位关联的中断向量必须设置成指向举函数,参考图2-19这将涉及在
ⅤE叭oRs.ASN中把第一汇编分支指令设置成函数凋用a_int00-旦开始,C环境将十分稳
定、因为所有的C指令将“現解”六月维持它们存在的环境。对仟何程序,一个向量表的i确
设置一直是很重要的并月这仍是C积序的形式
228运行时支持例程
ANSI C、标准C语言不支抒在很多DSP普通应用的·些操作:这些操作可能包括动态
仔储器分配,DO处理和一些数学函数。…个DSP器什简化指令集通常不直接支持一些在C
语言建立的操作,例如浮点算术和除法的基本功能。由于这个原因,在一个DSP上执行C请
言将需要一个额外的月标明确的程阵,通常称为运行时间攴诗库。已经被介绍过的米程
序εint0是运行支持车啡定义的一个函数,在C6xx编译器T具屮,运行时间支持库包括
下面一些内容:
ANIC标准库
CAO库
提供M到主操作系统的低纹文捋凼数
固有的算术程序
系统启动栏序,cint00
·允许C访间定指令的函数和宏
为了使最后的编译-汇缎-链接C应用能正确创建,运鍔支持库必须被包括在链妾期间,以
便任何们用的函数能够从阵中调出并被包括到最终的应用屮
229处理C中的中断
当为…个计算机写℃代码时,通常很少关心屮断。然而在DSP应用中却不是这么回事,因
为它们可能需要扩展使用中断,以便数据IO和其他软件任务能发。用C写个中断处理程
序以使所有華婁的运行环境不被破坏,这是可能的。刘了做到这点,必须服从一套L定义好
的协定
骨然地,在启动时C环境将不“注意”一个应用的中断请求。程岸员应按需要将特定的中
断进行或屏蔽
当一个C程疗被中断吋,中断程序必须将所有可能被该程序改变的奇存器的值保存到维栈
.这个处理叫做内容保存。当中断完城,程序流恢复到来的状态,寄存器的值从堆栈中
第2DSP设计的开发平台4
恢复。如果一个中断程序调用其他函数,那么这些涵数可以修改该中断程序自己不能使用的
寄存器。这种情况下,中断程序应该把所有寄存器的值都保存到堆栈中
屮断程序应定义为空类型,也就是说当它们从个调用返回后,它们对调用者不传递任
何数据或者内容,相似地,没有变量能够传递给一个中断程序,如果没有数据能直接传递到
或从中断积序传过来,那么它是怎样完成功能的?答案是它使用堆栈来传递变量给主应用,
它也使用堆栈作为内部变量储册单示。另一种方法是中断程序订以访间一个全局变量。带
水的间题是中断程序可在任何时候做调用,全局变鲑在被其他函数使用时被改变,这可能使
得整个应用的性能不可预测,因此应治卡常谨慎地用这种方法
对德州仪器的编译工只,一个使用C定义的中断程序如所示
irlLerrupt vcid e阳1vi)
r口 oes here
C环境里的中断也可以使用礼编语言的中断服务稈序来处理,这对于一些要求快速响应的
釨来说是必须的。在此,个重要的问题是C环境应用的寄存器协定必须被附加上。像其他
程序一样,汇编程序刘用堆栈和全局变量来传递参数
2210C源程序调试:一个综合的开发环境
¢源程序调试器是一个调试环境它允许通过便川带有JTAG口的目标硬件和使用一个软件
仿真器来进行基于汇缩和C语的程序开发和提炼。对一块基于C租序来开发的DSP器件,这
足个非重要的工其,开发者必须好好利用它。它允许用C写的程序单步操作并进行性能分析
其式与汇编代码川的样.以便获得个算法性能和适用性方面的数据
前面讲过德州仪器的CC$摅伏∫-个淙合的调试坏境。其实,CCS还是个C源程序调试
器,它允许在目标器件上调试C程序。2-26显示了在C源程序调试期间的CCS的一个界图。
工作在C源代妈级时,程序调试器也可以利用有在汇编级调试期间的同样功能。一个
特別有門的工作模式是混科枝式,在这个模式里,C程序语句内列有相同功能的汇编语句。如
图27所示。这是在CCS中针对C6 KXX DSP程序
“性能分析¨在前面落已绎介绍过.但它应该得到更深的解糝,因为它是代妈开发的
个重要方面:“性能分析”是一个这样的讨程,即在程序钬行时,收集程序内与指定区域相关
的数据,其当处理C代砖封元为重要,因为它能使开发占对程序中需要更深入优化的部分进
行准确定位。尽管所冇工具都能使用广决定一个算法使用多少CPU时钟,但是能够被采集到
的数据还得伥靠特殊的廾发工具。CC里其也处理器事件如分支数目、子程序调用或采用
的中断也可以进行性能分析
图2-28显示℃CS性能分析杓数据窗口,它对每个性能分析点显示了一串结果一个性能分
析点叮以分配在原始C程序或编代码的任一指令行。在图2-28这个子中,从C源程序就可
以看山来,在第18、24行分配了性能分析点。在性能分析统计数据窗口的每一行显示了到达
性能分析点的次数和时钟数,或从前-个性能分析点开始其他事件发牛过的次数。统计数据
包括时钟周期的最小、最大、总的和平均值。显示测轅的单元可以设置为CPU时钟周期、用
过的时同(秒)或频*(Hz)
4第一部分DSP及其使用
0%相
GEL #ea
fal
Aoer
网回E
s DOnee.ma
4:1t,c
ODsP/8 0S Cono
00028F800000000
D Dde.cmd
d00002BFC00000000
P
Ircle
0002c00
include 00002C04053C42F4
STH. D2
00002c0805BCb2F4
SIN. D2
bdefine BUFSIZE-000D2COC0200322A
WVR. S2
0002c10023022F6
SIN, D2
B30
float inp-buf for[ 1(0002C14 OFFFABtD
B SI
NOP
00002c2402026E281
1ntn=100
0002c280180006B
pt(“t在wal0022C0400068
lakes FLlter, mak
0002c30
RL52: Ins32006K COFF Linker
h;1e(a-){1000c30003c22E6
opyright (c) 1996-1999 Texas Inst
inp_ buffer(n o0o02C34 00006000
aLid Complete.
00002C38 30003D90 (1801 0 Errors. o warnings
00002c3c00004000
pt(是002C0400203E05A
/. lcop foreve
解山11e(1)
I Count Avert(】Toap】(
DXfilter, c line 24
6.752e-0031.350-0026.763e-00367410-003
Dxf1lter,c11ne1834.6889-0059.376e-0054.68e-054.60e-005
FH如
图2-26使用CCS进行C源程序调试
no:Ia
0003A6001Bc54F6
B3,·SP=(0x2
0003A640200322A
MVP.S2
0x64,B4
0003A68023c22F6
STH. D2
B4 .SP[0z11
003A6C OFFDDC10
000347000004000
P
DC03A74019D442
MKS
0003A7802026E29
0003A7coo00000011
NCp
0003AB0180006B
MKLH
DXfilter. c
……dt1aF1zE·100
efine BUFSIZE. 100
Id sain()
003A601B54F6
loat inP- buffer I 100)
83,SF-0x-」
n100
m1的开
0g65,B4
void BainI)
0003A68-3c2F
E4,“+B{021
000CFFD10°h
puts(dsta runni ngv
nta·100:
00003470 00D04000
puts
puts(date running"i:
000374d19442P
D:3A96,53
h:1(n=-)
00003A78。20.6E=9
00000000
oxic,A4
1Bp_ buffer[n]-100·s1(6,14159·n*310)
00003A80B0uB
M/KLH. 32 020.B)
a00AB:D:40061i
MPH.S
80,六4
puts(wo1t23-nJi
loop forever
while(a--)(
while
c0:3a902:2.E
G0003A3 000060pD
【o11.B0
000A3030002110IBn)8
G03=4C04
DDP
0000M302005A
AbI
OrFFFFSYYF. B0,8.
ac039.30:2Fe
4.SP101
1 ap_bufferin100·1n(6.14159··3/100):
图2-27混合模式调试界图,该模式中C语句用汇编语句内部列出
第2章DSP设计的开发严台45
fiitEr.
,BB,,国卡、要,看要看面号·
i ude
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.