版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、12 february 2002第第 1 次作业次作业1.1 写出本课程相关以下缩写的中英文全称:写出本课程相关以下缩写的中英文全称:dsp、ti、 mips、mflops答:答:dsp: digital signal processor 数字信号处理器,数字信号处理器,dsp芯片芯片ti:texas instruments 德州仪器德州仪器mips:million instructions per second每秒百万条指令每秒百万条指令mflops: million floating point operations per second每秒百万次浮点操作每秒百万次浮点操作112 febr
2、uary 2002第第 1 次作业次作业1.2 简述简述dsp芯片选择原则。芯片选择原则。答:答:dsp芯片选择原则主要包括芯片选择原则主要包括dsp芯片生产厂家芯片生产厂家的选择、运算速度、数据的传输能力、片内存的选择、运算速度、数据的传输能力、片内存储器大小、存储器容量、集成外设、功耗、芯储器大小、存储器容量、集成外设、功耗、芯片价格、芯片的供货状况、开发工具。片价格、芯片的供货状况、开发工具。212 february 20021.3 简述简述dsp应用系统的一般设计过程应用系统的一般设计过程答:确定系统性能指标答:确定系统性能指标 核心算法模拟和验证核心算法模拟和验证 选择选择dsp芯片
3、及其他系统组件芯片及其他系统组件 软件设计和调试软件设计和调试 硬件设计和调试硬件设计和调试 系统测试。集成系统测试。集成312 february 2002第第 1 次作业次作业2.1 tms320c55x dsp 有哪些特性?有哪些特性? 答:答: tms320c55x dsp 主要特性如下所示主要特性如下所示先进的多总线结构先进的多总线结构40位算术逻辑运算单元位算术逻辑运算单元(alu),能够进行,能够进行 高精度的算高精度的算术和逻辑操作。术和逻辑操作。16位辅助位辅助alu单元,能够和主单元,能够和主alu并并行进行简单的算术运算。行进行简单的算术运算。两个两个17位位17位的位的m
4、ac(multiply and accumulate)单单元,能够在单周期内执行两组乘法与加法操作元,能够在单周期内执行两组乘法与加法操作64字节的指令缓冲队列,能够用作程序字节的指令缓冲队列,能够用作程序cache,高效完,高效完成块重复操作成块重复操作412 february 20024个个40位的累加器,能够存储计算结果,减少对存位的累加器,能够存储计算结果,减少对存储器的访问储器的访问8个增强的辅助寄存器,可用作数据寻址。个增强的辅助寄存器,可用作数据寻址。4个暂个暂存数据寄存器满足数据处理的要求。存数据寄存器满足数据处理的要求。循环寻址,最多支持循环寻址,最多支持5个循环缓冲个循环缓
5、冲单指令重复、块重复操作支持。单指令重复、块重复操作支持。源代码全兼容所有的源代码全兼容所有的tms329c54x器件。器件。512 february 2002第第 1 次作业次作业2.2 简述简述tms320c55x dsp的的cpu的组成?的组成? 请写出请写出c55x 所包含的累加器,并回答累加器所包含的累加器,并回答累加器有多少位?有多少位?答:答: tms320c55x dsp的的cpu主要由内部地址总主要由内部地址总线和数据总线、存储器接口单元、指令缓冲单线和数据总线、存储器接口单元、指令缓冲单元元(i unit)、程序流单元、程序流单元(p unit)组成。组成。c55x包包含含
6、4个累加器,分别是个累加器,分别是ac0,ac1,ac2,ac3累加器有累加器有40位。位。612 february 20022.3 c55x 支持多少个中断?如果需要使能支持多少个中断?如果需要使能tms320vc5509a 的的int1,ier0或或ier1及及intm的值分别应为多少?的值分别应为多少?答:答:c55x支持支持32个中断。如果需要使能个中断。如果需要使能tms320c5509a的的int1,ier1的第的第0位必须为位必须为1.intm的值应为的值应为0(全局使能全局使能)。712 february 2002第第 1 次作业次作业2.4 tms320c55x dsp提供了
7、一个统一的数据提供了一个统一的数据/程序空间,其寻程序空间,其寻址空间为多大?当址空间为多大?当cpu 从程序空间读取程序代码时,使用从程序空间读取程序代码时,使用多少位地址?程序空间字节地址范围是多少?多少位地址?程序空间字节地址范围是多少? 当当cpu访问访问数据空间时,使用多少位地址?数据空间数据空间时,使用多少位地址?数据空间字地址字地址范围是多范围是多少?一个字有多少位?少?一个字有多少位?答:答: tms320c55x dsp提供了一个统一的数据提供了一个统一的数据/程序空间的寻址程序空间的寻址空间为空间为16mb(16兆字节兆字节)或或8mw(8兆字兆字)。当。当cpu从程序空从
8、程序空间读取程序代码时,使用间读取程序代码时,使用24位地址。程序空间字节地址范位地址。程序空间字节地址范围是围是0 x000000-0 xffffff 当当cpu访问数据空间时,使用访问数据空间时,使用23位地址。位地址。 数据空间字地址范围是数据空间字地址范围是0 x000000-0 x7fffff。 一个字一个字(word)为为16位。位。812 february 2002第第 1 次作业次作业2.5 tms320vc5509a片内存储器片内存储器daram字地址字地址范围是多少?范围是多少?daram的大小为多少?存储器的大小为多少?存储器映射寄存器位于什么地方?有多大?映射寄存器位于
9、什么地方?有多大? 映射的映射的地址可以定位程序的代码和数据吗?地址可以定位程序的代码和数据吗?答:答: tms320vc5509a片内存储器片内存储器daram字地址字地址范围是范围是0 x0000000 x007fff。daram的大小的大小为为64kb。存储器映射寄存器位于数据空间的。存储器映射寄存器位于数据空间的最前面的最前面的96个地址个地址(0 x000000-0 x00005f 字地字地址址),大小为,大小为96个字或个字或192个字节。映射的地址个字节。映射的地址不能定位程序的代码和数据不能定位程序的代码和数据912 february 2002第第 2 次作业次作业2.6 ic
10、etek-vc5509-a评估板上评估板上字节地址字节地址起止范起止范围为围为0 x0480000 x04ffff对应的哪种存储器对应的哪种存储器?这段存储空间有多大?这段存储空间有多大? 外扩寄存器地址外扩寄存器地址 0 x400001(字地址字地址) 对应的哪个对应的哪个ce空间?空间? 答:这段地址对应的存储器为答:这段地址对应的存储器为sdram。这段存储。这段存储空间的大小空间的大小32kb。外扩存储器地址。外扩存储器地址0 x400001(字地址字地址)对应的对应的ce2空间。空间。1012 february 2002第第 2 次作业次作业3.1 ccs软件开发工具有哪些功能?软件
11、开发工具有哪些功能?答:答:ccs软件开发工具具有:软件开发工具具有:集成开发环境集成开发环境(软件仿真和硬件仿真软件仿真和硬件仿真)工程管理器和代码编辑器工程管理器和代码编辑器代码产生工具代码产生工具代码调试工具代码调试工具代码分析工具代码分析工具(profiler的使用的使用)1112 february 2002第第 2 次作业次作业3.2 何谓何谓dsk,evm?答:答:dsk:dsp初学者套件(初学者套件(dsp starter kit)dsk是是ti公司提供给初学者进行公司提供给初学者进行dsp编程学习的一套廉价的实编程学习的一套廉价的实时软件调试工具时软件调试工具(包括包括ccs限
12、定版和限定版和dsk板板)。tms320c55x low-power optimization dsp starter kit (dsk)tms320c5509(u.s part number) 495 $u.stms320c55xtm dsp starter kit(dsk), tms320c5510 dsp based 395 su.sevm:评估模板评估模板(evaluation module)评估模板是一种低成本的开发板,在评估模板是一种低成本的开发板,在evm板上一般配置了一板上一般配置了一定数量的硬件资源,可用来进行定数量的硬件资源,可用来进行dsp芯片评价、性能评估和有芯片评价、
13、性能评估和有限的系统调试限的系统调试1212 february 2002第第 2 次作业次作业3.3 ccs的的simulator和和emulator有何区别,在哪些情有何区别,在哪些情况下合适使用况下合适使用simulator调试程序,哪些情况下必须调试程序,哪些情况下必须使用使用emulator调试程序。调试程序。答:答:ccs程序的仿真有两种模式:软件仿真程序的仿真有两种模式:软件仿真(simulator)和硬件仿真和硬件仿真(emulator).ccs的的simulator是指是指ccs工作在纯软件仿真环境中,工作在纯软件仿真环境中,就是由软件在就是由软件在pc机内存中构造一个虚拟的机
14、内存中构造一个虚拟的dsp环境,环境,可以调试、运行程序。但一般软件无法构造可以调试、运行程序。但一般软件无法构造dsp中中的外设,所以软件仿真通常用于调试纯软件的算法的外设,所以软件仿真通常用于调试纯软件的算法和进行效率分析等。软件仿真无需目标板和仿真器和进行效率分析等。软件仿真无需目标板和仿真器等硬件就可以开始软件编程,缺点是仿真速度慢而等硬件就可以开始软件编程,缺点是仿真速度慢而且无法仿真某些外设的功能。且无法仿真某些外设的功能。1312 february 2002第第 2 次作业次作业硬件仿真需要用户具备目标板,如硬件仿真需要用户具备目标板,如ti的的dsk、evm及及用户设计的系统板
15、,仿真程序会利用开发系统将代码用户设计的系统板,仿真程序会利用开发系统将代码下载到下载到dsp芯片中。程序在目标板中运行,仿真软件芯片中。程序在目标板中运行,仿真软件只是将结果读出来显示。目标板一般是通过只是将结果读出来显示。目标板一般是通过usb接口接口xds510或高速或高速xds560开发系统与主机相连。硬件仿开发系统与主机相连。硬件仿真的优点是仿真速度快,仿真结果与系统实际一致。真的优点是仿真速度快,仿真结果与系统实际一致。软件仿真通常用于调试软件的算法和进行效率分析等,软件仿真通常用于调试软件的算法和进行效率分析等,在外设程序调试及系统程序联调时需使用硬件仿真在外设程序调试及系统程序
16、联调时需使用硬件仿真1412 february 2002第第 2 次作业次作业3.4 简述采用简述采用ccs及及dsp系统系统开发开发dsp 程序的主要步骤程序的主要步骤(包括软包括软件仿真件仿真simulator和硬件仿真和硬件仿真emulator)。答:答:1.创建新的工程文件。创建新的工程文件。2.创建、编写源代码文件创建、编写源代码文件(包括包括.c、.asm、.h等源文件等源文件)和链接器和链接器命令文件命令文件(.cmd)。3.将工程文件中应包含将工程文件中应包含.c和和.asm源代码文件、链接器命令文件、源代码文件、链接器命令文件、库文件库文件(.lib)添加到工程中。添加到工程
17、中。4.编译产生库文件编译产生库文件(.lib)和可执行程序和可执行程序(.out)。(通常(通常1-4步步simulator )5.加载和运行可执行程序。调试代码,修改程序错误,重新编加载和运行可执行程序。调试代码,修改程序错误,重新编译产生、加载和运行科执行程序译产生、加载和运行科执行程序(.out)-算法软件(通常先算法软件(通常先simulator ,然后,然后emulator )-驱动软件(通常驱动软件(通常emulator ,需连接,需连接dsp硬件系统)硬件系统)1512 february 2002第第 3 次作业次作业3.5 在本章课上讲解的图形显示示例的输入窗口在本章课上讲解
18、的图形显示示例的输入窗口“graph property dialog”对话框为什么要对图形的标题、起始对话框为什么要对图形的标题、起始地址、缓冲区大小、显示数据大小、地址、缓冲区大小、显示数据大小、dsp数据类型、自数据类型、自动标尺属性及最大动标尺属性及最大y值作如下更改?值作如下更改?graph title :inputstart address :inp_bufferacquisition buffer size :100display data size :100dsp data type :16-bit signed integerautoscale :offmaximum y-va
19、lue :10001612 february 2002第第 3 次作业次作业graph title :input给输入数据图形显示窗口命名为给输入数据图形显示窗口命名为“input”,有助于区分多,有助于区分多个同时打开的窗口。个同时打开的窗口。start addresss :inp_buffer显示由从显示由从sine.dat文件读入到文件读入到inp_buffer指针内正弦曲线数指针内正弦曲线数据据acquisition buffer size :100获取的缓冲个数为获取的缓冲个数为100.display data size :100显示数据个数为显示数据个数为100.1712 febr
20、uary 2002dsp data type :16-bit signed integer应与待显示数据类型一致,输入正弦波数据位应与待显示数据类型一致,输入正弦波数据位16比特有符比特有符号的整数。号的整数。autoscale :off缺省为缺省为on,纵轴的最大值就是所显示数据的最大值。为比,纵轴的最大值就是所显示数据的最大值。为比较处理前后的幅值的放大,将自动标尺关闭。较处理前后的幅值的放大,将自动标尺关闭。maximum y-value :1000将最大将最大y值设置为值设置为1000.输入正弦曲线最大值为输入正弦曲线最大值为99,最大放,最大放大倍数为大倍数为10,最大,最大y值值1
21、000能显示放大后曲线所有的点。能显示放大后曲线所有的点。1812 february 20023.6给出给出ccs提供的代码分析工具提供的代码分析工具profiler各项统计数据的各项统计数据的含义?含义?答:答:code size 代码长度代码长度incl./excl.count 命中次数命中次数incl./excl.total 执行始终周期总和执行始终周期总和incl./excl.maximum 最大时钟周期数最大时钟周期数incl./excl.minimum 最小时钟周期数最小时钟周期数incl./excl.average 平均时钟周期数平均时钟周期数以以incl.为前缀的统计信息表示将
22、剖析区域的子程序调用计为前缀的统计信息表示将剖析区域的子程序调用计算在内。算在内。以以excl.为前缀的统计信息表示将剖析区域的子程序调用排为前缀的统计信息表示将剖析区域的子程序调用排除在外。除在外。1912 february 2002第第 3 次作业次作业4.1 tms320c55x dsp支持哪支持哪3种类型的寻址模种类型的寻址模式?它们是如何寻址的?式?它们是如何寻址的?答:答: tms320c55x dsp支持的支持的3种类型的寻址方种类型的寻址方式分别是绝对寻址模式、直接寻址模式、间接式分别是绝对寻址模式、直接寻址模式、间接寻址模式。寻址模式。绝对寻址方式:指令里有一个地址的全部或部
23、分,绝对寻址方式:指令里有一个地址的全部或部分,指示目的地址。指示目的地址。直接寻址方式:使用偏移地址指示目的地址。直接寻址方式:使用偏移地址指示目的地址。间接寻址方式:使用指针指示目的地址。间接寻址方式:使用指针指示目的地址。2012 february 2002第第 3 次作业次作业4.2 设指令执行前设指令执行前dph=3, dp=.dp=0 x2000, xar0=0 x32000 data memory 0 x032000 0 x032001 0 x032002 0 x032003 分别指出下列指令所使用的寻址方式及指令执行后分别指出下列指令所使用的寻址方式及指令执行后xar0、 ac
24、0、t2和和t3的值:的值:(1)mov *ar0+, ac0(2)mov 2003h, t2(3)mov *abs16(#2002h), t30 x00000 x11110 x22220 x33332112 february 2002答答:(1)mov*ar0+,ac0;间接寻址方式间接寻址方式执行后:执行后:ac0=0 x0000,xar0=0 x32001,其他不变。其他不变。(2)mov 2003h,t2;直接寻址方式直接寻址方式执行后:执行后:t2=0 x3333,其它不变。,其它不变。(3)mov*abs16(#2002h),t3;绝对寻址方式绝对寻址方式执行后:执行后:t3=0
25、x2222,其它不变。,其它不变。2212 february 2002第第 3 次作业次作业4.3 tms320c55x dsp的指令集包含了哪几种基本类的指令集包含了哪几种基本类型的指令?型的指令?答:算术运算指令答:算术运算指令 逻辑运算指令逻辑运算指令 移动指令移动指令 程序控制指令程序控制指令2312 february 2002第第 3 次作业次作业4.4 分析下列分析下列 tms320c55x dsp 汇编语言代码,请汇编语言代码,请在每一行语句后在每一行语句后对其功能进行注释对其功能进行注释。 mpym *ar2+,*ar3+,ac0;ac0=(*ar2)*(*ar3);ar2=a
26、r2+1,ar3=ar3+1| rpt #4;与上条指令并行,下一条指令执行与上条指令并行,下一条指令执行5次次 masm *ar2+,*ar3+,ac0;ac0=ac0-(*ar2)*(*ar3);ar2=ar2+1,ar3=ar3+12412 february 2002第第4次作业次作业5.1 简述增强性能的简述增强性能的dsp代码开发流程。代码开发流程。 答:增强性能的答:增强性能的dsp代码开发流程可分为代码开发流程可分为4个步骤:个步骤:步骤步骤1:写:写c代码代码根据任务写根据任务写c语言程序,用语言程序,用ccs代码产生工具编译产生代码产生工具编译产生dsp内可运行代码,证明其功
27、能的正确性。剖析代码,分内可运行代码,证明其功能的正确性。剖析代码,分析确定代码是否足够有效如果足够有效,如果足够有效,析确定代码是否足够有效如果足够有效,如果足够有效,则代码开发完成;如果不是,进入步骤则代码开发完成;如果不是,进入步骤2步骤步骤2:优化:优化c代码代码利用利用c代码优化方法对代码进行优化,再次编译、剖析。代码优化方法对代码进行优化,再次编译、剖析。进行更多的进行更多的c优化。如果仍然有效性不够,进入步骤优化。如果仍然有效性不够,进入步骤3。2512 february 2002步骤步骤3:写汇编代码:写汇编代码分析分析c代码中存在的影响性能的关键低效率段,用代码中存在的影响性
28、能的关键低效率段,用汇编代码编写它们,再次剖析。如果仍然有效汇编代码编写它们,再次剖析。如果仍然有效性不够,进入步骤性不够,进入步骤4.步骤步骤4:优化汇编代码:优化汇编代码优化汇编代码,再次优化,直至足够有效。优化汇编代码,再次优化,直至足够有效。2612 february 2002第第4次作业次作业5.2 为什么通常需要采用为什么通常需要采用c语言和汇编语言的混合语言和汇编语言的混合编程?编程?答:在数字信号处理器的软件开发中一直存在一答:在数字信号处理器的软件开发中一直存在一个两难的选择:个两难的选择:c/c+语言开发容易、移植性强、语言开发容易、移植性强、但效率较低,不能满足实时性要求
29、;汇编语言效但效率较低,不能满足实时性要求;汇编语言效率高,对硬件的操作更为直接,但程序编写复杂率高,对硬件的操作更为直接,但程序编写复杂易读性差、移植性不好。易读性差、移植性不好。 比较好的方法是在二者间折中,即程序的主比较好的方法是在二者间折中,即程序的主体框架和对实时性要求不高的部分采用体框架和对实时性要求不高的部分采用c/c+语言,语言,而算法则采用汇编语言,这样能够充分发挥二者而算法则采用汇编语言,这样能够充分发挥二者的优点,解决易读性和效率之间的矛盾。的优点,解决易读性和效率之间的矛盾。2712 february 2002第第4次作业次作业5.3 何谓小存储器模式?何谓大存储器模式
30、?何谓小存储器模式?何谓大存储器模式?答:在小存储器模式下,代码段和数据段的长度和位置受到一定的答:在小存储器模式下,代码段和数据段的长度和位置受到一定的限制。如下列段都必须在长度为限制。如下列段都必须在长度为64kw的存储器的一个单页中:的存储器的一个单页中:.bss和和.data段段(存放所有的静态和全局变量存放所有的静态和全局变量).stack和和.sysstack段段*(the primary and secondary system stacks:主:主系统堆栈和二级系统堆栈系统堆栈和二级系统堆栈).sysmem段段(动态存储空间动态存储空间).const段段在小存储器模式下,在小存
31、储器模式下,.test段段 (代码段代码段)、.switch(状态转化段状态转化段)及及.cinit/.pint段段(变量初始化段变量初始化段)的长度和位置不受限制。的长度和位置不受限制。在小存储器模式下,编译器的数据指针为在小存储器模式下,编译器的数据指针为16位。位。23-bit xarn寄存寄存器的高器的高7位指向位指向.bss段,并在程序运行时始终指向该段。段,并在程序运行时始终指向该段。*sysstack段为段为c55xdsp所特有所特有2812 february 2002如果在编译中设置如果在编译中设置-ml选项,则编译器按照大存储器模选项,则编译器按照大存储器模式编译程序。式编译
32、程序。大存储器模式下可以更加方便地存放数据,而不必过大存储器模式下可以更加方便地存放数据,而不必过多的考虑数据页的限制,数据指针为多的考虑数据页的限制,数据指针为23位,而主堆栈位,而主堆栈和二级堆栈必须放到同一页中;除了代码段可以跨越和二级堆栈必须放到同一页中;除了代码段可以跨越页边界以外,其它段都不能跨越页边界,也就是说除页边界以外,其它段都不能跨越页边界,也就是说除代码段外的其它所有的段都只能放在一页存储器之中代码段外的其它所有的段都只能放在一页存储器之中,不能跨页存放,但和小存储器模式相比,这些段可,不能跨页存放,但和小存储器模式相比,这些段可以分别放在不同的叶中,而不需要放在同一页中
33、。以分别放在不同的叶中,而不需要放在同一页中。2912 february 2002第第4次作业次作业5.4 分析下列分析下列icetek-vc5509-a 评估板评估板 c语言代码,请在每语言代码,请在每一一语句后语句后对其对其功能进行功能进行注释注释。并说明。并说明px 指向的存储器区的物理存储器的类型。指向的存储器区的物理存储器的类型。 main()/主函数主函数int i;/定义局部整型变量定义局部整型变量iunsigned int * px; /定义指向无符号整型变量的指针变量定义指向无符号整型变量的指针变量pxpx=(unsigned int *) 0 x20000; /px字地址为
34、字地址为0 x20000,字节地址为,字节地址为0 x40000 /且且px指向指向unsigned int 类型类型 for ( i=0; i32;i+,px+ ) (*px)=0; /以上以上for循环的功能是从字地址循环的功能是从字地址0 x20000开始开始32个字清个字清0在在icetek-vc5509-a评估板中评估板中px指向的存储器区的物理存储器为指向的存储器区的物理存储器为sdram3012 february 2002第第4次作业次作业5.5 tms320c55x dsp汇编语句包含哪几个部分?编汇编语句包含哪几个部分?编写汇编语句需要注意哪些问题?写汇编语句需要注意哪些问题
35、?答:汇编语言语句格式可以包含答:汇编语言语句格式可以包含4个部分,标号域、个部分,标号域、助记符域、操作数域和注释域。助记符域、操作数域和注释域。汇编语言语句格式如下:汇编语言语句格式如下:mnemonic syntax:label:mnemonicoperand list;comment标号标号:助记符助记符操作数列表操作数列表;注释;注释3112 february 20021编写汇编语句需要注意如下编写汇编语句需要注意如下6个方面的问题:个方面的问题: 2语句必须以标号、空格、星号语句必须以标号、空格、星号(*)、分号、分号(;)开始开始。3包含汇编器伪指令的语句必须完全在一行指定包含汇
36、编器伪指令的语句必须完全在一行指定 标号为可选项,如要使用标号,则必须从第标号为可选项,如要使用标号,则必须从第1列开列开始。始。4每个域必须有每个域必须有1个或多个空格分开。个或多个空格分开。tab等效于空格。等效于空格。5注释为可选项,开始于第注释为可选项,开始于第1列的列的须用星号或分号须用星号或分号(*或或;)开始,但其它列开始的注开始,但其它列开始的注释前面只能标分号。释前面只能标分号。6源程序可通过前一行以反源程序可通过前一行以反斜杠(斜杠()结尾与下一行相连结尾与下一行相连3212 february 2002第第4次作业次作业5.6 汇编伪指令汇编伪指令.def,.ref和和.g
37、lobal 起到了什么作用?起到了什么作用?答:答:.def符号符号(symbol)-在当前模块定义一个符号,在当前模块定义一个符号,可以被其它模块使用。可以被其它模块使用。.ref符号符号-在其它文件中定义,可以在本文件中使在其它文件中定义,可以在本文件中使用的符号。用的符号。.global符号符号-其作用相当于其作用相当于.def、.ref效果之和。效果之和。3312 february 2002第第4次作业次作业5.7 tms320c55x dsp c语言和汇编语言的混合编程方法主要语言和汇编语言的混合编程方法主要有哪两种?各有什么特点?有哪两种?各有什么特点?答:答:c语言和汇编语言的混
38、合编程有如下主要方法和特点:语言和汇编语言的混合编程有如下主要方法和特点:1.在在c语言中直接嵌套汇编语句语言中直接嵌套汇编语句特点:嵌套汇编语句的语法十分简单,只要把需要嵌套的汇编特点:嵌套汇编语句的语法十分简单,只要把需要嵌套的汇编语句前面加上语句前面加上asm标示符,左右加上一个双引号并用小括号括标示符,左右加上一个双引号并用小括号括住即可住即可asm(“assembler text”);比较适合完成对硬件进行简单操作。直接嵌套的方法要十分小比较适合完成对硬件进行简单操作。直接嵌套的方法要十分小心,心,c语言编译器并不检查和分析嵌入的汇编语句,而嵌入的语言编译器并不检查和分析嵌入的汇编语
39、句,而嵌入的汇编语句很可能改变汇编语句很可能改变c语言的运行环境。采用该方法实现较复语言的运行环境。采用该方法实现较复杂的功能,会造成程序的可读性较差,并影响程序的可移植性。杂的功能,会造成程序的可读性较差,并影响程序的可移植性。3412 february 20022.c语言和汇编模块的接口语言和汇编模块的接口特点:独立编写特点:独立编写c语言程序和汇编程序,语言程序和汇编程序,c语言通语言通过函数调用汇编子程序,这样既可以提高程序的过函数调用汇编子程序,这样既可以提高程序的运行效率,又保证了程序的可移植性,而且程序运行效率,又保证了程序的可移植性,而且程序的结构性较好,并不影响的结构性较好,
40、并不影响c语言编译器的优化功能语言编译器的优化功能。必须遵从。必须遵从c语言调用子函数的规则,这些规则包语言调用子函数的规则,这些规则包括括c/c+中寄存器的使用、函数的结构及调用规则中寄存器的使用、函数的结构及调用规则等。等。3512 february 2002第第4次作业次作业5.8 定义如下结构体类型定义如下结构体类型struct big,请分别给出以下,请分别给出以下3个个c函数传送参数和返回值所用的寄存器或堆栈。函数传送参数和返回值所用的寄存器或堆栈。struct big long x10; ; (1) long fn(int *p1, int i2, int i3, int i4)
41、;(2) int fn(struct big b, int *p1);(3) void fn(long l1, long l2, long l3, int *p4, int *p5, int *p6, int *p7, int *p8, int i9, int i10);3612 february 2002struct biglong x10;ac0 ar0 t0 t1 ar1(1)long fn(int *p1,int i2,int i3,int i4);t0 ar0 ar1(2)int fn(struct big b,int *p1) ; ac0 ac1 ac2 ar0 ar1(3)voi
42、d fn(long l1,long l2,long l3,int *p4,int *p5, ar2 ar3 ar4 t0 t1int *p6,int *p7,int *p8,int i9,int i10 ); 3712 february 2002第第4次作业次作业5.9 c语言主程序如下:语言主程序如下:extern int exp(int *, int *); int ai8=100,2,3,4,5,6,7,8;int xi8=9,3,2,0,1,9,7,1; int y;void main() y = exp(ai, xi);用用c55x汇编语言实现汇编语言实现c可调用函数可调用函数int
43、 exp(int *, int *),计算,计算388 ,-1-11100 lxaxaxayll12 february 2002.global _exp.text_exp mpym *ar0+,*ar1+,ac0| rpt #6 masm *ar0+, *ar1+,ac0 mov ac0,t0ret.end3912 february 2002第第5次作业次作业5.10 dsp/bios 支持的支持的4种类型线程,按优先级由种类型线程,按优先级由低到高低到高给出这给出这4种线程种线程。说明任务说明任务(tsk) 的优先级范围。的优先级范围。答:按优先级由低到高答:按优先级由低到高dsp/bios
44、支持的支持的4种线程种线程为:后台线程为:后台线程(idl)、任务、任务(tsk)、软件中断、软件中断(swi)、硬件中断、硬件中断(hwi)。任务任务(tsk)的优先级为的优先级为1(最低最低)-15(最高最高)。4012 february 2002第第5次作业次作业6.1 16位定点数位定点数0 xd000,分别计算该数,分别计算该数q15和和q0十进制数的十进制数的大小。大小。答:答:0 xd000=1101 0000 0000 0000bq15:-20+2-1+2-3=-1+0.5+0.125=-0.375q0:-215+214+212=-3*212=-3*4096=-12288411
45、2 february 2002第第5次作业次作业6.2 已知已知x=0.4567,试将该数转换为,试将该数转换为q15定点数定点数(考虑舍入和不舍入两种情况)。(考虑舍入和不舍入两种情况)。答:答:0.4567*32768=14965.1456舍入舍入 14965(十进制十进制)或或0 x3a75(十六进制十六进制)不舍入不舍入 14965(十进制十进制)或或0 x3a75(十六进制十六进制)4212 february 2002第第5次作业次作业6.3 采用完整的采用完整的tms320c55x dsp 的的c语言实现语言实现n点点q15 定标的余弦波信号产生函数。要求信号定标的余弦波信号产生函
46、数。要求信号采样频率为采样频率为44100hz,包含,包含2400hz、16000hz 两种频率成份,幅度均为两种频率成份,幅度均为0.48。解:解:c语言编程实现如下:语言编程实现如下:#include #define t 1/44100 /0.0000226757#define f1 2400#define f2 16000#define pi 3february 2002#define two_pi _f1_t (2*pi*f1*t) /*2*pi*f1/fs*/#define two_pi_f2_t (2*pi*f2*t) /*2*pi*f2/fs*/void signal_gen(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装图案版权出售协议
- 产品陈列合作协议书
- 2024年购买水泵合同范本
- 商场移交协议书2024年
- 房屋转租合同范文标准
- 办公室店铺合租协议
- 专业装修合同示例
- 2024年打井合同文档
- 个人汽车抵押借款合同书范本的条款解读
- 个人装修合作意向协议
- 钛合金相变及表征方法
- 湖北省十堰市各县区乡镇行政村村庄村名居民村民委员会明细
- 个人收入证明免费打印
- 部编人教版八年级上册语文期末复习课件(专题三 名著阅读)
- 《对校园欺凌说“不”》教学课件-《心理健康教育》七年级下册
- GB∕T 8163-2018 输送流体用无缝钢管
- 人教版八年级物理上册课件:4.1光的直线传播(共23张PPT)
- 钢混组合梁施工方案
- 课件《“多元一体”视域下的中国古代民族关系》
- 初中班主任三年工作规划8篇
- DB11-T 1796-2020文物建筑三维信息采集技术规程
评论
0/150
提交评论