70、 假定N=37,辅助寄存器用AR4,循环缓冲区自定义段的名字为MY_BUF,则.ASM和.CMD两个文件中相应部分应包含哪些内容? .ASM(P149);.CMD(P159)
71、简单论述C语言的数据结构类型及语句结构类型,并举例说明之。
答:1.整型数据(16bit) 整型变量就是用关键字int定义的变量符号,比如: int r;
2.实型数据(32bit) 实型数据结构就是定义一个实数变量或常量。实型数据用float关键字定义比如:float R=3.125;
3.字符型数据(16bit)使用关键字char定义。如char a;
4.指针型数据 指针也即地址的概念,是表示一个变量所在存储器地址。在C5000中,一些操作只有指针操作才能完成。比如:
unsigned int *ADC=0xc005; #define ADC *(volatile*)0xc005 ADC=0xfe00;
(1)一维数组 定义方式为: 类型说明符 数组名[常量值]
如:char led_tab[4]={0x003f,0x0006,0x005b, 0x4f}; (2)二维数组 定义方式为:
类型说明符 数组名[常量值N][常量值M] 如:int arry[2][3]={}; 72.说明McBSP特点。
答:(1)全双工通信;(2)拥有两级缓冲发送和三级缓冲接收数据寄存器,允许连续数据流传输;(3)为数据发送和接收提供独立的帧同步脉冲和时钟信号;(4)能够与工业标准的解码器、模拟接口芯片(AICs)和其他串行A/D和D/A设备直接连接;(5)支持外部移位时钟或内部频率可编程移位时钟;(6) 128个通道用于接收传送;(7)支持A-bis ;(8)接口直接连接工业标准的多媒体数字信号编解码器,A/D、D/A和模拟芯片。此外,McBSP还具有以下特殊功能:(1)可以与IOM-2、SPI、AC97等兼容设备直接连接;(2)支持多通道发送和接收,每个串行口最多支持128通道;(3)串行字长度可选,包括8、12、16、20、24和32位;(4)支持μ-Law和A-Law数据压缩扩展;(5)进行8位数据传输时,可以选择LSB或MSB为起始位;(6)帧同步脉冲和时钟信号的极性可编程;(7)内部时钟和帧同步脉冲的产生可编程,具有相当大的灵活性。
McBSP内部包括数据通路和控制通路两部分,并通过7个引脚与外部器件相连。引脚功能如下: 引脚 方式 功能
CLKR I/O/Z 接收时钟
CLKX I/O/Z 发送时钟 CLKS I 外时钟 DR I 串行数据接收 DX O/Z 串行数据发送 FSR I/O/Z 接收帧同步 FSX I/O/Z 发送帧同步
在28xx系列的DSP中,它具有2个16级的32位FIFO;包括接收、发送和控制通道,通过6个引脚与DSP外部设备联系。
73、简述用DSP芯片进行产品开发需要经过的环节和在CCS上如何进行基本操作。
答:环节:1)明确设计任务,确定设计目标 2)算法模拟,确定性能指标3)选择DSP芯片和外围芯片4)设计实时的DSP应用系统5)硬件和软件调试6)系统集成和测试
CCS操作:1)软件设计:主要包括程序模块的划分,算法和流程的确定以及执行结果的预测等工作2)程序编辑和编译链接:主要进行工程文件的创建,编写头文件,配置文件和源程序,使用汇编和C编译器进行编译,排除语法,变量定义等错误3)程序调试:利用CCS软件的调试工具,采用单步执行,设置断点和探测点等手段对应用程序进行调试 4)结果分析:利用CCS软件提供的分析工具,对应用程序运行的结果进行分析,如图形显示数据或统计运行时间等。若算法不能满足要求,则需要重新进行软件设计。 三、读程题
A、现有一汇编语言程序和与它相对应的链接程序 汇编语言源程序(.asm) .title \ .mmregs STACK .usect \ .bss a,4 .bss x,4 .bss y,1 .def f_start .data table: .word 1,2,3,4 .word 5,6,7,8 .text
f_start: LD #0,DP STM #0,SWWSR STM #STACK+10h,SP STM #a,AR1 RPT #7 MVPD table,*AR1+ STM #a,AR3 STM #x,AR4 LD #0,B STM #3,BRC RPTB next-1 LD *AR3+,T MPY *AR4+,A ADD A,B
next: STL B,@y .end 链接程序为(.cmd文件) example.obj _O example.out _m example.map _e f_start MEMORY
{
PAGE 0:
EPROM :org=0E000h,len=100h
PAGE 1:
SPRAM :org=0080h,len=0020h DARAM :org=00A0h,len=10h } SECTIONS
{
.text :>EPROM PAGE 0 .data :>EPROM PAGE 0 .bss :>SPARAM PAGE1 .STACK :>DARAM PAGE 1 }
汇编程序编译链接后,整个目标文件在程序存储器中共占用30个存储单元,其中,.text占用了前22个程序存储单元,数据表占用了后8个程序存储单元,试回答下列问题:
1、画出程序存储器和数据存储器的具体配置图,要求表明各自的起始地址、结束地址,并表明没一部分的具体配置内容。
2、汇编伪指令_O example.out, _e f_start的作用是什么? 3、执行完指令STM #a,AR1 后,AR1中的内容是多少? 4、执行完
RPT #7
MVPD table,*AR1+ 两指令后,它所指向的数据存储器中的内容是多少? 5、执行完
RPT # 3
MAC *AR3+,*AR4+
两指令后,AR3中的内容是多少?它所指向的数据存储器中的内容是多少? 6、 能否将指令RPTZ A,#3 改成用两条指令来实现,怎样改写? 答:1.
2. -O example.out的作用:规定生成的输出文件(P158)
-e f_start的作用:定义一个全局符号,这个符号所对应的程序存储器地址,就是使用开发工具调
试这个链接后的可执行文件时程序的入口地址(P157)
3. 0080h 4.0088h
5. AR3中的内容是:0084h 内容是: 6. 能 LD #0,A RPT #3
B、用TMS320C5402作为方波发生器实例如下,试分析该程序有哪几部分组成?各部分完成的主要功能?画出程序流程图。
答:该程序有初始化、主程序、定时器0中断服务程序3部分组成。
初始化完成定时器R地址、定时器R初值、标志单位、中断初始化等。主程序省略。定时器0中断服务程序根据编制为标志位输出高或低电平。
;源程序清单
;---------------------------------- TIM0 PRD0 TCR0
.set 0024H ;设置定时器R地址 .set 0025H .set 0026H
;----------------------------------- t0_flag .usect“vars”, 1 STM
ST #1, t0_flag ;设置输出标志单元 #79, TIM0
;