DSP总练习题-有答案(2014年)_第1页
DSP总练习题-有答案(2014年)_第2页
DSP总练习题-有答案(2014年)_第3页
DSP总练习题-有答案(2014年)_第4页
DSP总练习题-有答案(2014年)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、选择题二、判别题三、填空题1累加器A分为三个部分,分别为( )、( )、( )。答:AG,AH,AL2TMS320VC5402型DSP的内部采用( )条( )位的多总线结构。答:8,16 3TMS320VC5402型DSP采用( )总线结构对程序存储器和数据存储器进行控制。答:哈佛4TMS329VC5402型DSP有( )个辅助工作寄存器。答:8个5DSP处理器TMS320VC5402中DARAM的容量是( )字。答:16K字6TI公司的DSP处理器TMS320VC5402有( )个定时器。答:2 7在链接器命令文件中,PAGE通常指( )存储空间。答:数据8C54x的中断系统的中断源分为

2、( )中断和( )中断。答:硬件、软件9TI公司DSP处理器的软件开发环境是( )。答:CCS(CodeComposerStudio) 10DSP处理器TMS320VC5402外部有( )根地址线。答:20根11直接寻址中从页指针的位置可以偏移寻址( )个单元。答:12812在链接器命令文件中,PAGE 0通常指( )存储空间。 答:程序13C54x系列DSP处理器中,实现时钟频率倍频或分频的部件是( )。答:锁相环PLL 14TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址( )单元开始工作。答:FF80h 15TMS320C54x系列DSP处理器有( )个通用I/O引脚,

3、分别是( )和( )。答:2个,BIO,XF 16DSP处理器按数据格式分为两类,分别是( )、( )。答:定点DSP和浮点DSP17TMS320C54x型DSP的ST1寄存器中,INTM位的功能是( )。答:开放/关闭所有可屏蔽中断18TMS320C54XDSP主机接口HPI是( )位并行口。答:8 19.在C54X系列中,按流水线工作方式,分支转移指令分为哪两种类型:( )、( )。答:无延迟分支转移,延迟分支转移20.C54x的程序中,“.bss”段主要用于( )。 答:为变量保留存储空间21.从数据总线的宽度来说,TMS320C54X是( )位的DSP处理器。答:16位22.TMS32

4、0C54X型DSP处理器的内核供电电压( )伏。答:1.8v23.TMS320C5402系列DSP处理器最大的数据存储空间为( )字。答:64K 25.DSP技术是利用专用或通用数字信号处理芯片,通过( )运算的方法对信号进行处理。答:数值运算26.C54x的程序中,“.text”段是( )段,主要包含( )。答:文本段,可执行文本27.C54x系列DSP上电复位后的工作频率是由片外3个管脚( ) ( ) ( )来决定的。答:CLKMD1、CLKMD2、CLKMD3 28.DSP处理器TMS320C5402最大的程序存储空间为( )字。答:1M 29.从应用领域来说,MCU(单片机)主要用于(

5、 );DSP处理器主要应用于( )。答:控制领域;信号处理 30.TMS320C54XDSP提供一个用16位堆栈指针(SP)寻址的软件堆栈。当向堆栈中压入数据时,堆栈是从( )地址向( )地址方向填入。 答:高 低 31.TMS320C54XDSP软硬件复位时,复位中断向量的地址为程序空间的( )。 答:FF80H 32.TMS320C54X可编程定时器的定时周期=(时钟周期)*(分频系数TDDR+1)*( +1)。答:PRD 33.DSP处理器的英文全称( )。答:DigitalSignalProcessor 34.DSP处理器TMS320VC5402的IO管脚供电电压( )伏。答:3.3v

6、35.C54x的程序中,“.data”段是( )段,主要用于( )。答:数据段,通常包含初始化数据;36.DSP处理器TMS320C5402的I/O空间为( )字。答:64K 37TMS320C5402型DSP的累加器是( )位。答:40 38TMS320C5402型DSP的MP/MC管脚的功能是( )。 答:微计算机或是微处理器工作模式39TMS320C5402型DSP的CPU采用( )寄存器作为专用硬件实现移位功能。答:桶形移位寄存器40汇编语句“STLA,y”中“y”表示( )寻址方式。 答:直接寻址 41TMS320C54X型DSP的ST1寄存器中,CPL位的功能是指示( )。答:直接

7、寻址采用何种指针(DP或SP) 42解释汇编语句“READA*AR1”的功能:( )。答:以累加器A的内容作为地址读取程序存储单元,将读取的数据存入以AR1的内容作为地址的数据存储单元中43TMS320C54X具有两个通用I/O口,( )用于输入外设的状态;( )用于输出外设的控制信号。答:BIO,XF 44.哈佛结构是采用双存储空间,即 ( )和( )分开编址,允许同时取指令和取操作数,效率高。答: 程序空间、数据空间45. 改进的哈佛结构是允许 ( )与( )之间直接进行数据传送。答:程序存储器、数据存储器46.诺依曼结构是采用单存储空间,即 ( )和 ( )共用一个存储空间,使用单一的地

8、址和数据总线,取( )和( )都是通过一条总线分时进行。答:程序指令、数据、指令、取操作数47.流水线技术是每条指令可通过片内多功能单元完成( )、( )、( )和( )等多个步骤,实现多条指令的( )执行,从而在不提高系统时钟频率的条件下减少每条指令的执行时间。答:取指、译码、取操作数、执行指令、并行48TMS320C54x采用改进的哈佛结构。存储空间由三个独立可选的存储空间组成:存储容量大小分别为( )字的程序存储空间、( )的数据存储空间、( )的I/O存储空间。答:64k,64k字,64k字49 TMS320C54x的处理器工作方式状态寄存器PMST提供了三个控制位:MP/非MC、OV

9、LY、DROM,用于在存储空间中配置片内存储器。当“MP/非MC”=( 1 )时工作于MP方式; OVLY=( 0 )时片内RAM不映射到程序空间; DROM=( 0 )时片内ROM不映射到数据空间。答:1,0,050 PMST工作方式状态寄存器中的IPTR(15-7bit)的作用是( 用于设置中断矢量页地址 )。答:用于设置中断矢量页地址51外部程序存储空间的访问控制信号为( PS )、MSTRB、RW。答:PS52外部数据存储空间的访问控制信号为( DS )、MSTRB、RW。答:DS四、程序阅读题1.阅读下面的程序片断,写出运行结果。.mmregsbei:.set18;定义常量 LD#b

10、ei,A 问题:(1)“.mmregs”的作用是什么? (2)运行此段程序后,累加器A的结果是多少?答:定义存储器映像寄存器的符号名称A的结果是18 2.阅读下面的程序,回答问题。 .sect.vectors rst:B_c_int00 ;复位中断向量的入口NOPNOP.space18*4*16 tint:Btimeout ;定时器0的中断向量的入口NOPNOP 问:(1)“.sect”伪指令的作用是什么? (2)标号“rst”的地址为6000H,请问标号“tint”的地址是多少?答:定义一个自定义段名的程序段604Ch 3.阅读下面的命令连接文件(简称CMD文件)和程序文件:CMD文件:ME

11、MORY PAGE0:PROG:origin=0x1000,length=0x1000PAGE1:DATA:origin=0x2000,length=0x1000 SECTIONS.text:PROGPAGE0.data: DATAPAGE1 程序文件:.data table:.word 1,2,3,4;变量初始化.text start:STM#0,SWWSR;插入0个等待状态问:(1)MEMORY和SECTIONS的作用各是什么?(2)标号“table”和“start”的地址分别是什么,分别位于程序空间还是数据空间?答:(1)MEMORY和SECTIONS链接伪指令,用来指定目标存储器结构和

12、地址分配。 (2)标号start:1000h(程序空间);标号table: 2000h(数据空间) 4.阅读下面的程序,回答问题。 MEMORY PAGE0:PROG:origin=0x2000,length=0x1000PAGE1:DATA:origin=0x3000,length=0x1000 SECTIONS.text:PROGPAGE0.bss : DATAPAGE1 汇编程序: .bssa,4;分配4个单元给a.bssx,4.bssy,1STM#a,AR3 STM#x,AR4RPT#3 MAC*AR3+,*AR4+,ASTLA,*(y)问题:(1)指令“STM#a,AR3”的作用是什

13、么?执行此句指令后,寄存器AR3的内容是多少?(2)指令“MAC*AR3+,*AR4+,A”执行了几次?每执行一次寄存器AR3和AR4的内容如何变化?(3)这段代码的功能是什么?答:(1)将标号a的地址赋给辅助工作寄存器AR3,AR3=3000h。(2)执行了4次,每执行一次辅助工作寄存器AR3和AR4的内容增一。 (3)5.阅读下面的程序,回答问题。MEMORY PAGE0:PROG:origin=0x2000, length=0x1000PAGE1:DATA:origin=0x4000, length=0x1000 SECTIONS.text:PROGPAGE0STACK: DATAPAG

14、E1 汇编程序: size:.set0x0120 stack: .usect“.STACK”,size;本命令也可写成 stack .usect“STACK”,size.text STM#stack+size,SP问题:(1)指令“stack:.usect“.STACK”,size”的作用是什么?(2)标号“stack”的存储器地址是多少?(3)执行这段代码之后,SP寄存器的内容是多少?答:(1)定义一个未初始化段,段名为”STACK”,目的是为变量stack保留size个单元的存储空间。 (2)stack的存储空间为0x4000; (3)SP=0x4120;6. 阅读下面的程序,回答问题。M

15、EMORYPAGE0:EPROM:org=0E000h,len=100hVECS:org=0FF80h,len=04hPAGE1:SPRAM:org=0060h,len=20hDARAM:org=0080h,len=100hSECTIONS .text:EPROM PAGE0.data:EPROM PAGE0.bss:SPRAM PAGE1STACK :DARAM PAGE1vectors:VECSPAGE0 汇编程序: .usect“STACK”,10h;.sect “vectors” ;.bss x 4;.datadata:.word 1 2 3;.text 问题:(1)该文件是如何配置程

16、序空间和数据空间的?(2)该文件中出现了几个段?哪些是初始化段?哪些是未初始化段?各段是如何分配的?答:(1)该文件使用MEMORY伪指令将程序空间划分为两个小区间:名为EPROM的区间其起始地址为0E000h,长度为100h字;名为VECS的区间其起始地址为0FF80h,长度为4字。将数据空间也分为了两个小区间:名为SPRAM的区间其起始地址为0060h,长度为20h字;名为DARAM的区间其起始地址为0080h,长度为100h字。 (2)出现了5个段,.text,.data和vectors是初始化段,.bss和STACK段是未初始化段。.text和 .data分配到程序空间的EPROM区间

17、;.bss分配到数据空间SPRAM区间;STACK段分配到数据空间的DARAM区间;vectors段分配到程序空间的VECS区间。7.阅读下面的程序片段,写出运行结果。.mmregsDAT0.SET60H LD#004h,DPST#0345h,DAT0;DAT0为数据存储器地址,其内容为#345hSTM#0002h,TMPYDAT0,ANOP NOP 问题:(1)寄存器T的作用是什么? (2)执行“MPY DAT0,A”后,累加器A的内容是什么?答:寄存器T的作用是暂存被乘数, 累加器A的内容为0x68A或68Ah 9.阅读下面的程序,回答问题。MEMORY PAGE0:PROG:origin

18、=0x2000,length=0x1000PAGE1: DATA:origin=0x3100,length=0x1000 SECTIONS.text:PROGPAGE0.bss:DATAPAGE1 汇编程序: .bssx,16;x占16个字.bssy,16.text STM#x,AR2STM#y,AR3RPT#15;将紧跟此后面的命令重复执行 数+1 次MVDD*AR2+,*AR3+问题:(1)变量“x”的存储器地址是多少?位于哪个存储空间(程序还是数据存储空间)。(2)语句“STM#x,AR2”的作用是什么?执行此句指令后,寄存器AR2的内容是多少?(3)语句“MVDD*AR2+,*AR3+

19、”的执行了多少次?每执行一次寄存器AR2和AR3的内容如何变化?(4)此段代码的功能是什么?答:(1)变量“x”的存储器地址是0x3100;位于数据存储空间.(2)将变量“x”的地址赋给辅助工作寄存器AR2,AR2=3100h.(3)执行了16次,每执行一次辅助工作寄存器AR2和AR3的内容增一。(4)将数组变量“x”的数据传送到数组变量“y”中。10阅读下面的程序,回答后面的问题。 .bssx,10.bssy,1STM#x,AR1STM#9,AR2LD#0,Aloop:ADD*AR1+,ABANZloop,*AR2-;非零跳转STLA,*(y) 问:(1)解释语句“.bssx,10”的含义。

20、(2)解释语句“STLA,*(y)”的含义。(3)这一段程序实现什么功能?答:(1)给x保留10个空间(2)将累加器A的低16位数据存储到变量y中。 (3) 10-2阅读下面的程序,回答y等于多少?55 或 37H。.bss x,10 .bss y,1 stm #x,ar1; st #1,*ar1+; st #2,*ar1+; st #3,*ar1+; st #4,*ar1+; st #5,*ar1+; st #6,*ar1+; st #7,*ar1+; st #8,*ar1+; st #9,*ar1+; st #10,*ar1+; STM #x,AR1 STM #9,AR2 LD #0,Al

21、oop: ADD *AR1+,A BANZ loop,*AR2- ;非零跳转 STL A, * (y)10-3阅读下面的程序,回答y等于多少?55 或 37H。.mmregs .def CodeStart .bss x,10 .bss y,1 .datacon:.word 1,2,3,4,5,6,7,8,9,10CodeStart: stm #x,ar1;rpt #9 mvkd con,*ar1+; STM #x,AR1 STM #9,AR2 LD #0,Aloop: ADD *AR1+,A BANZ loop,*AR2- ;非零跳转 STL A, * (y) .end11阅读下面的程序,回答

22、后面的问题。.global start; 定义全局标号 .mmregs.data x:.word 1,2,3, 4, 5, 6, 7, 8, 9, 10 .bss y,1 .textstart: STM #x,AR1 STM #9,AR2 LD #0,Aloop: ADD *AR1+,A BANZ loop,*AR2- ;非零跳转 STL A, * (y) .end问:(1)解释语句“x:.word 1,2,3, 4, 5, 6, 7, 8, 9,10”的含义。(2)解释语句“STLA,*(y)”的含义。(3) 运行结果y=?答:(1)给x分配10个数据。(2)将累加器A的低16位数据存储到变

23、量y中。 (3)y=0x0037即y=55。 12.阅读程序,回答后面的问题(块操作:重复执行连续多条指令)STM#6,AR4begin:STM#9,BRC;9BRC(BRC为块重复次数寄存器),(PC)+2 RSA (RSA为块重复起始地址寄存器)。RPTBnext-1;块重复指令(指定块重复结束地址),将NEXT-1 REA (REA为块重复结束地址寄存器)。nop next:LD#0,B banzbegin,*AR4 问题:(1)BRC寄存器是做什么用途? (2) 其中的“nop”语句被执行了多少次?(3) 语句“banzbegin,*AR4”的作用是什么?答:(1)BRC(块重复计数器

24、)保存着RPTB指令的循环次数。(2)10次。(3)判断AR4的内容是否为零,若不为零,跳转到标号begin。13.阅读程序,回答后面的问题。(块操作)STM#9,AR4begin:STM#7,BRC;块重复次数设置RPTBnext-1;块结束地址设置nop next:LD#0,B banzbegin,*AR4-问(1)BRC寄存器是做什么用途? (2)其中的“nop”语句被执行了多少次?答:(1)BRC保存着RPTB指令的循环次数(2)8次15.阅读下面的程序,回答问题。(块重复操作).bssx,8 LD#0001H,16,B; #0001H左移16位赋给BSTM#7,BRCSTM#x,AR

25、4RPTBnext-1 ADD*AR4,16,B,A;重复执行的语句STH A,*AR4+ ;重复执行的语句,把A的高字存入x数组中next: LD#0,B问题:(1)寄存器“BRC”的功能是什么?(2)汇编语句“ADD*AR4,16,B,A”执行了多少次?(3)执行语句“LD#0001H,16,B ”后,累加器B的内容是多少?答: (1)寄存器“BRC”的功能是暂存块循环的次数(2)8次(3)B=0xH;14.阅读下面的程序片断,回答下面的问题(除法运算) DAT0.SET60HDAT1.SET61H DAT2.SET 62HDAT3 .SET 63H LD#004h,DPST#83h,DA

26、T0 ST#0041h,DAT1RSBXSXMLDDAT0,ARPT#15SUBCDAT1,A; 移位减法,完成除法运算。相当于A/DAT1.STLA,DAT2STHA,DAT3问:在CPL=0的情况下,(1)语句“STLA,DAT2”,其中DAT2所指的地址是多少?(2)存储单元(DAT2)和(DAT3)的内容是多少?答:(1)0262h (2)(DAT2)=02H(商),(DAT3)=01H(余数)16.阅读下面的程序:(宏操作) .mmregs DAT0 .SET 60H DAT1 .SET 61H DAT2 .SET 62H DAT3 .SET 63H add3 .macro P1,P

27、2,P3,ADDRP ;宏定义,4个参数 LD P1,A ADD P2,A ADD P3,A STL A,ADDRP .endm ;宏结束CodeStart: ST #004h,DAT0 ST #03h,DAT1 ST #2h,DAT2 ADD3 DAT0,DAT1,DAT2,DAT3问题:(1)语句“.mmregs”的含义。(2)语句“ADD3DAT0,DAT1,DAT2,DAT3”是一条什么类型的语句?作用是什么?(3)执行此段程序后,存储单元(DAT3)的运行结果多少?答 :(1)定义存储器映像寄存器的符号名称。(2)宏调用。执行三个数相加。(3)9H17 已知(30H)=50H,AR2

28、=40H,AR3=60H,AR4=80H。(存储器数据传输).mmregs .def CodeStartCodeStart: st #50h,30h; stm #40h,AR2; stm #60h,AR3; stm #80h,AR4; MVKD #30H,*AR2 ;(40H)=50H MVDD *AR2, *AR3;(60H)=50H MVMM AR3, AR4 ;AR4=60HEND b END; .end运行上述程序后,(30H),(40H), *AR3,和AR4的值分别等于多少?答:(30H)=50H (40H)=50H *AR3=50H AR4=60H18.已知指令执行前,AR3内容

29、为0100H,数据存储器0100H中的内容为1234H。(向数据存储器传送数据) MVDK *AR3+,1200H 问:执行后,数据存储器1200H中的内容为多少?AR3中的内容为多少?答:执行后,数据存储器1200H中的内容为1234H,AR3中的内容为0101H。19. 阅读程序 x:.word 1,2,3,4,5; .bss y,1;LD #0,A; SUM: STM #x,AR3 STM #4,AR2loop: ADD *AR3+,A BANZ loop,*AR2- STL A,*(y)问:(1)该程序实现什么功能?(2)程序运行结果y等于多少?【答:(1)x连续5个存储单元相加,结果

30、赋值给y。 (2)y=15】20已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=110,外部晶振=10MHz,参数设置表: CLKMD1CLKMD2CLKMD3CLKMD复位值时钟方式000E007HPLL150019007HPLL100104007HPLL51001007HPLL2110F007HPLL11110000H2分频101F000H4分频 STM#00H,CLKMD Status:LDMCLKMD,AAND#01H,ABCStatus,ANEQ;A不等于0跳转到StatusSTM#4007H,CLKMD 问题:(1)DSP复位后,DSP的工作时钟是多少?(2)执行上面的程序

31、片段后,DSP的工作时钟是多少?答:(1)10MHz (2)50MHz21.已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=111,外部晶振=10MHz,参数设置表:CLKMD1CLKMD2CLKMD3CLKMD复位值时钟方式000E007HPLL150019007HPLL100104007HPLL51001007HPLL2110F007HPLL11110000H2分频101F000H4分频STM#00H,CLKMD Status:LDMCLKMD,AAND#01H,A BCStatus,ANEQSTM#9007H,CLKMD 问题(1)DSP复位后,DSP的工作时钟是多少?(2)执行

32、上面的程序片段后,DSP的工作时钟是多少?答:(1)5MHz (2)100MHz 22.已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=101,外部晶振=10MHz,参数设置表: CLKMD1CLKMD2CLKMD3CLKMD复位值时钟方式000E007HPLL150019007HPLL100104007HPLL51001007HPLL2110F007HPLL11110000H2分频101F000H4分频STM#00H,CLKMD Status:LDMCLKMD,AAND#01H,ABCStatus,ANEQSTM#9007H,CLKMD 问题:(1)DSP复位后,DSP的工作时钟是多

33、少? (2)执行上面的程序片段后,DSP的工作时钟是多少?答:(1)2.5MHz (2)100MHz23、试分别说明下列有关定时器初始化和开放定时中断语句的功能(针对5402处理器),请回答设置过程。TCR寄存器15-1211109-6543-0保留SoftFreePSCTRBTSSTDDR分频计数器=1:重新加载;0:常态0:启动;1:停止分频初值STM#0004H,IFR STM#0080H,IMRRSBXINTMSTM#0279H,TCR答:清除外部中断2标志位 允许定时器T1(或DMAC1)中断。在复位以后,中断被配置为定时器T1中断。 使能所有可屏蔽中断。设置定标计数器的值PSC=9

34、;设置定时器分频系数TDDR=9;设置TRB=1即以PRD中的值重新加载TIM,以TDDR中的值加载PSC;设置TSS=1即定时器停止工作。24.阅读以下DSP的C程序,回答问题。TCR寄存器15-1211109-6543-0保留SoftFreePSCTRBTSSTDDR分频计数器=1:重新加载;0:常态0:启动;1:停止分频初值#include “c5416regs.h” /用符号代表寄存器main()asm(“ssbx INTM”);/ 关闭可屏蔽中断。进行设置时不许打扰设置通用定时器IMR = 0x8; / 使能TINT(TINT=1),即开放定时器中断TCR = 0x41F;/ 停止定

35、时器,置计数器分频系数=16TIM = 0; /时钟计算器清0PRD = 0xf423; / 周期寄存器=62500TCR = 0x42F;/ 启动定时器,重加载,16分频 。其中,时钟周期为8MHzIFR = 0xffff;/ 清IFRasm(“rsbx INTM”);/ 开中断,等待中断。每16*62500/8=125ms定时器产生一次中断while ( 1 ); / 执行其它主程序问题:(1) asm(“ssbx INTM”)的含义? (2) TCR = 0x42F的含义? (3) IFR = 0xffff 的含义? (4) 假设时钟周期为8MHz,则定时器中断周期是多少?答:(1)关闭

36、可屏蔽中断。 (2)启动定时器,重加载,8分频(分频初值=7)。 (3)清中断标志寄存器IFR。 (4)16*62500/=0.125s=125ms24、已知中断向量TINT=013H,中断向量地址指针IPTR=0111H,求中断向量地址。答:中断向量地址=(B)9+(10011)A 绝对寻址利用16位地址寻址存储单元STLA,*(y)将AL内容存入y所在的存储单元累加器寻址将累加器中的内容作为地址READAx将A的内容作为地址读程序存储器,并存入x存储单元直接寻址利用数据页指针和堆栈指针寻址LDx,A(DP+x的低7位地址)给A间接寻址利用辅助寄存器作为地址指针LD*AR1,A(AR1)-A

37、存储器映像寄存器寻址快速寻址存储器映象寄存器LDMST1,B(ST1)B堆栈寻址压入/弹出数据存储器和存储器映像寄存器MMRPSHMAG(SP)-1 SP,(AG)(SP) 2.在C54x的汇编语言中,使用“#”、“*”、“”符号作为操作数的前缀各表示什么意思?答:使用“#”号作为前缀,汇编器将操作数作为立即数处理。即使操作数是寄存器或地址,也将作为立即数。使用“*”符号作为前缀,汇编器将操作数作为间接地址,即把操作数的内容作为地址。使用“”符号作为前缀,汇编器将操作数作为直接地址,即操作数由直接地址码赋值。 3.简述COFF文件中“段”的概念,有哪些常用的段?答:段是COFF文件中最重要的概

38、念。每个目标文件都分成若干段。段是存储器中占据相邻空间的代码或数据块。一个目标文件中的每个段都是分开的和各不相同的。.text段(文本段),通常包含可执行代码;.data段(数据段),通常包含初始化数据;.sect段已初始化段,由汇编器伪指令建立的自定义段。.bss段未初始化段;.usect段未初始化段,由汇编命令建立的命名段(自定义段)。 4.简述链接器命令文件中MEMORY和SECTIONS两条指令的作用。答:MEMORY伪指令用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和长度。SECTIONS伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存

39、储器中的位置,也可用于指定子段。5.与中断设置相关的寄存器有哪4种?答:与中断相关的寄存器有:IFR、IMR、PMST(IPTR位)、ST1(INTM位)。6.简述DSP处理器中断系统分为几种中断,如何清除中断标志? 答:硬件中断:由片外管脚和片内外设引起的中断,又分为可屏蔽中断和RS、NMI两个非屏蔽中断。软件中断:软件中断是由程序指令产生的中断请求,都为非屏蔽中断。有三种情况将清除中断标志:(1)软件和硬件复位,即C54x的复位引脚RS=0;(2)相应的IFR标志位置1;(3)使用相应的中断号响应该中断,即使用INTR#K指令。7.简述PMST寄存器中IPTR的作用。 答:C54x的中断向

40、量地址是由PMST寄存器中的IPTR(9位中断向量指针)和左移2位后的中断向量序号所组成。 中断向量地址=IPTR+(左移2位的中断向量序号)8. 简述改变中断向量表位置方法。答:(1)中断向量表应设置成段;(2)在链接命令文件中,段应指向相应的地址;(3)IPTR应该指向段设置的起始地址。9.简述DSP处理器TMS320VC5402在微计算机工作模式中上电启动的过程。 答:DSP上电复位后,程序PC指针跳转到0xff80位置,在芯片的0xff80这个单元中存储着跳转指令、程序自动跳转到0xF800,开始执行自举装载程序,自举装载程序将片外存储器的程序搬运到DSP程序存储空间的某个地方,自举装

41、载程序的最后一条指令是跳转指令,程序接着跳转到刚才搬运在程序存储空间的某个地址,从而开始程序的自动运行。8.已知DSP的工作时钟为20MHZ,现需要用定时器定时10ms,请问PRD和TDDR寄存器的初始值如何确定?答:(PRD)=19999,(TDDR)=9;或(PRD)=49999,(TDDR)=49.简述C54x系列DSP定时器的组成部分、各部分分别起什么作用?答:定时器主要由定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR及相应的逻辑控制电路组成。定时周期寄存器PRD用来存放定时时间,定时寄存器TIM为16位减1计数器,定时控制寄存器TCR存放定时器的控制位和状态位,逻辑控制

42、电路用来控制定时器协调工作。 10.简述C54x系列DSP的定时器工作过程。 答:定时分频系数和周期数分别装入TCD和PRC寄存器中;每来一个定时脉冲CLKOUT,计数器PSC减1;当PSC减至0时,PSC产生借位信号; 在PSC的借位信号作用下,TIM减1计数,同时将分频系数装入PSC,重新计数; 当TIM减到0时,定时时间到,由借位产生定时中断TINT和定时输出TOUT,并将PRD中的时间常数重新装入TIM。9.简述TI公司C2000,C5000,C6000系列处理器的应用范围。答:C2x、C24x称为C2000系列,主要用于数字控制系统; C54x、C55x称为C5000系列,主要用于功

43、耗低、便于携带的通信终端; C62x、C64x和C67x称为C6000系列,主要用于高性能复杂的通信系统,如移动通信基站。 10.简述链接命令文件(.cmd文件)的功能。 答:链接命令文件(.cmd文件)指定存储器的结构和段的定位,有MEMORY和SECTIONS两条指令。MEMORY伪指令用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和长度。 SECTIONS伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置,也可用于指定子段。11.在C54x的程序中,“.text”和“.sect”段有什么区别? 答:在程序中,所有的“.text”段在

44、编译时合并为一个“.text”段,并将其定位在一个连续的存储空间中。在“.sect”定义的段中,由于不同的段均有不同的段名,因此不同段名的“.sect”段不会合并为一个段,而且可以分别定位在程序存储空间的不同位置。14.宏指令与子程序有哪些区别? 答:宏指令和子程序都可以被多次调用,但是把子程序汇编成目标代码的过程只进行一次,而在用到宏指令的每个地方都要对宏指令中的语句逐条地进行汇编。在调用前,由于子程序不使用参数,故子程序所需要的寄存器等都必须事先设置好;而对于宏指令来说,由于可以使用参数,调用时只要直接代入参数就行了。 15TMS320C54XDSP的程序代码或数据以段的形式装载于存储器中

45、,段可分为哪两种基本类型?有哪5条伪指令来建立和管理各种各样的段?并指明各伪指令的功能。答:段分为初始化段和未初始化段。.text段(文本段),通常包含可执行代码;.data段(数据段),通常包含初始化数据;.sect段已初始化段,由汇编器伪指令建立的自定义段。.bss段未初始化段;.usect段未初始化段,由汇编命令建立的命名段(自定义段)。16.如何实现DSP由一种工作频率切换到另外一种工作频率?答:步骤1:复位PLLNDIV,选择DIV方式;步骤2:检测PLL的状态,读PLLSTATUS位;步骤3:根据所要切换的倍频,确定乘系数;步骤4:由所需要的牵引时间,设置PLLCOUNT的当前值;

46、步骤5:设定CLKMD寄存器。 18CCS主菜单命令中建立一个工程分哪几个步骤? 分为3个步骤:新建工程、添加源文件、编译生成.out文件。19CCS的File/New命令新建的文件一般是什么文件后缀?CCS的Project/New命令新建的文件是什么文件后缀?File/New新建的文件后缀一般是.c或.asm或.cmd等。Project/New新建的文件后缀是.pjt。20CCS的View/Memory命令打开的显示窗口可以显示什么存储器空间的数据?程序存储器、数据存储器、I/O空间的数据。21在程序运行到断点停下来后,若想显示CPU 核心寄存器的当前值,应使用CCS的View命令下拉菜单下

47、的什么命令? View/Register/CPU Registers23动画执行命令(Animate)与全速运行命令(Run)在什么情况下执行效果相同?在什么情况下执行效果不同?未设任何断点或设断点设在程序运行不到的地方。在程序可运行到的地方设置断点。24对于CCS工程文件,链接器命令文件的后缀名是什么?库文件的后缀名是什么?头文件的后缀名是什么?.cmd .lib .h25若要检查和编辑变量在断点处值,应打开什么窗口查看?打开该窗口的命令步骤是什么?观察窗口 view/Watch Windows26在CCS集成开发环境下,对工程文件进行编译产生的装载文件后缀是什么? 装载命令是什么? 装载文件主文件名有什么特征? .out File/load program 装载文件主文件名与工程文件主文件名相同使用ADD完成加法格式:ADD Smem ,SHIFT,src ,dst ld temp1,a;将变量temp1装入寄存器A add temp2,a;将变量temp2与寄存器A相加 ;结果放入A中 stla,temp3;将结果(低16位)存入变量 ;temp3中。 注意,这里完成计算temp3=temp1+temp2,我们没有特意考虑temp1和temp2是整数还是小数,在加法和下面的减法中整数运算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论