您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 嵌入式系统原理与应用习题解析
1.8练习题P141.选择题(1)A说明:嵌入式系统的发展趋势表现在以下几方面:1.产品种类不断丰富,应用范围不断普及2.产品性能不断提高3.产品功耗不断降低,体积不断缩小4.网络化、智能化程度不断提高5.软件成为影响价格的主要因素(2)D说明:常见的嵌入式操作系统:VxWorks,WindowsCE、uC/OS-II和嵌入式Linux。(3)A说明:VxWorks是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。2.填空题(1)嵌入式计算机(2)微处理器外围电路外部设备(3)板级支持包实时操作系统应用编程接口应用程序(4)嵌入式处理器微控制器数字信号处理器3.简答题(1)简述嵌入式系统的定义和特点答:定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。(2)简述计算机系统的发展历程第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段;第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统;第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用开始普及的阶段;第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。(3)简述MCU和DSP的区别MCU是微控制器,DSP是数字信号处理器。MCU相当于小型的电脑,内部集成的CPU、ROM、RAM、I/O总线,所以集成度高是它的特点。DSP是专用的信息处理器,内部的程序是对不同的机器和环境进行特别优化,所以处理速度是最快的。2.4练习题1.填空题(1)ARM7ARM9ARM9EARM10EARM11(2)精简指令集计算机(3)SamsungARM920TIIC总线(4)BGA显卡布线(5)1.8V3.3V(6)81281(7)S3C241064MB64MB2.选择题(1)D(2)C(3)A(4)B(5)B(6)C(7)D(8)C(9)C(10)B3.简答题(1)ARM和S3C2410X有什么关系?S3C2410是韩国三星公司生产的嵌入式处理器,它采用了ARM公司的ARM920T(即ARM9)内核(2)ARM7是32位RISC处理器,使用3级流水线,采用冯•诺依曼体系结构,不支持MMU。(3)ARM8是32位RISC处理器,使用5级流水线,采用哈佛体系结构,支持MMU。(4)S3C2410X芯片有27根地址线,8根片选线(nGCS),32根数据线。(5)S3C2410X芯片内部集成了一个LCD控制器,SDRAM控制器,3个通道UART,4个通道DMA,4个具有PWM功能的计时器和一个内部时钟,8通道的10位ADC。(6)ARM体系结构有哪几种工作状态?又有哪几种运行模式?其中哪些为特权模式?哪些为异常模式?并指出处理器在什么情况下进入相应模式?工作状态:第1种:ARM状态。处理器执行32位的字对齐的ARM指令。第2种:Thumb状态。处理器执行16位的半字对齐的Thumb指令。运行模式:用户模式(usr)快速中断模式(fiq)外部中断模式(irq)管理模式(svc)数据访问中止模式(abt)系统模式(sys)未定义指令中止模式(und)在这7种运行模式,除了用户模式外,其他6种处理器模式都为特权模式。在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式。用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。在用户模式下,如果没异常发生,不允许应用程序自行切换果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式。快速中断模式:支持高速数据传输和通道处理,当一个高优(fast)中断产生时将会进入这种模式。外部中断模式:也称为普通中断模式,当一个低优先级中断产生时将会进入这种模式。在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。通常的中断处理都在IRQ模式下进行。管理模式:是一种操作系统保护模式,当复位或软中断指令执行时处理器将进入这种模式。数据访问中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。系统模式:使用和user模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。未定义指令中止模式:当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。(7)ARM体系结构支持的数据类型?有多少寄存器?如何组织?支持的数据类型:1.字节(byte),各种处理器体系结构中,字节的长度均为8位。2.半字(half-word),在ARM体系结构中,半字的长度为16位。3.字(word),在ARM体系结构中,字的长度为32位。ARM处理器共有37个寄存器,其中31个通用寄存器,6个状态寄存器。(8)S3C2410的存储控制器如何对内存空间进行管理?S3C2410X存储控制器为片外存储器提供控制信号。它将系统的存储空间分成8组(Bank),每组的大小为128MB,共1GB。(9)分析程序状态寄存器各位的功能描述,并说明C、Z、N、V在什么情况下进行置1和清0状态寄存器(PSR)的具体格式为V—溢出标志位对于加/减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,V=1表示符号位溢出,其它指令通常不影响V位。例如:两个正数(最高位为0)相加,运算结果为一个负数(最高位为1),则符号位溢出,相应V=1.C--进位或借位标志位对于加法指令(包括比较指令CMN),结果产生进位,则C=1,表示无符号数运算发生上溢出,其他情况下C=0;在减法指令中(包括比较指令CMP),结果产生借位,则C=0,表示无符号数运算发生下溢出,其他情况下C=1;对于包含移位操作的非加/减法运算指令,C中包含最后一次溢出位的数值;对于其他非加/减法运算指令,C位的值通常不受影响。Z--结果为0标志位Z=1表示运算结果是0,Z=0表示运算结果不是零;对于CMP指令,Z=1表示进行比较的两个数大小相等。N--符号标志位本位设置成当前指令运算结果的bit[31]的值。当两个补码表示有符号整数运算时,N=1表示运算的结果为负数,N=0表示结果为正数或零。(10)ARM指令可分为哪几类?说出哪几条指令是无条件执行的。ARM指令可分为:数据处理指令,跳转指令,程序状态寄存器处理指令,加载/存储指令,协处理器指令,异常产生指令。无条件执行指令:BLX指令,BKPT指令(产生软件断点中断)(11)如何实现两个64位数的加法操作,如何实现两个64位的减法操作,如何求一个64位数的负数?实现64位数据加法运算:假设R0和R1存放了一个64位数据(作为被加数),R0存放数据的低32位;R2和R3中存放了另一个64位数据(作为加数),R2中存放低32位数据。运算结果送回到[R1:R0]中(R0中存放低32位)。ADDSR0,R0,R2;低32位相加并影响标志位ADCR1,R1,R3;高32位相加再加上C标志位(进位值)实现64位数据减法运算:如果寄存器R0和R1中放置一个64位的被减数,其中R0中放置低32位数值;寄存器R2和R3中放置一个64位的减数,其中R2中放置低32位数值。运算结果送回到[R1:R0]中(R0中存放低32位)。SUBSR0,R0,R2;低32位相减并影响标志位SBCR1,R1,R3;高32位相减再减去C标志位的反码求一个64位数的负数:如果寄存器R0和R1中放置一个64位数,其中R0中放置低32位数值;寄存器R4和R5中放置其负数,其中R4中放置低32位数值。RSBSR4,R0,#00减去低32位并影响标志位RSCR5,R1,#00减去高32位再减去C标志位的反码4.程序题(1)分析下列每条语句,并说明程序实现的功能。CMPR0,#0//判断R0是否等于0MOVEQR1,#0//当R0等于0,则R1等于0MOVGTR1,#1//当R0为正数时,则R1等于1此功能码段可以判别R0中的值为正数还是0。(2)写一条ARM指令,分别完成下列操作。R0=16MOVRO,#16R0=R1/16MOVRO,R1,LSR#4R1=R2*4ADDR1,R2.R2.LSL#1R0=-R0RSBRO,RO,#0(3)写出实现下列操作的ARM指令。当Z=1时,将存储器地址为R1的字数据读入寄存器R0。MOVEQR0,[R1]当Z=1时,将存储器地址为R1+R2的字数据读入寄存器R0。LDREQR0,[R1,R2]将存储器地址为R1-4的字数据读入寄存器R0。LDRR0,[R1,#-4]将存储器地址为R1+R6的字数据读入寄存器R0,并将新地址R1+R6写入R1。LDRR0,[R1,R6]!(4)写出下列指令所实现的操作。LDRR2,[R3,#-2]!将存储器地址为R3-2的字数据读入R2,并将地址R3-2写入R3LDRR0,[R0],R1将存储器地址为R0的字数据读入R0,并将地址R0+R1写入R0LDRR1,[R0,R2,LSL#2]!将存储器地址为R0+R2*4的字数据读入R1,并将地址R0+R2*4写入R0STRBR1,[R2,#0xB0]R0的低8位存入存储器地址为R2+0xB0字节中LDMIAR0,{R1,R2,R8}将内存单元R0所指向的地址单元以字为单位递减方式读取到R1,R2,R8中,低地址编号的字数据内存单元对应低编号寄存器STMDBR0!,{R1~R5,R8,R9}R1~R5,R8,R9存储到以R0为起始地址的递减内存中,最终R0指向存放R9的地址单元5.计算题某设备的接口电路如图所示,请计算出该设备的地址。3.5练习题1.选择题(1)B(2)A(3)C(4)D(5)A2.填空题(1).so.a程序运行过程中编译过程中(2)LIo(3)$(4)$@$^$(CC、CFLAGS等)(5)目标文件的完整名称所有不重复的依赖文件,以空格隔开第一个依赖文件的名称、3.简答题(1)make和Makefile之间的关系?答:make是一种命令,是根据Makefile文件的规则决定如何编译和连接程序或其他的动作。(2)Makefile的普通变量与预定义变量有什么不同?预定义变量有哪些?它们分别表示什么意思?答:普通变量:引用变量时,只需在变量前面加上$符;预定义变量:已经定义好,直接引用即可。预定义变量有:$@、$^、$。$@:表示完整的目标文件名;$^:表示所有的依赖文件;$:表示依赖文件列表中的第一个文件。(3)GCC编译器的常用参数有哪些?它们的功能分别是什么?答:gcc编译器的常用参数:-o,-I,-L,-E,-S,-c功能:-o表示编译成一个可执行程序;-I表示指定头文件目录;-L表示指定库文件目录选项;-E表示对源代码进行预编译;-S表示编译成汇编代码;-c表示把.c文件转换为以.o为扩展名的目标文件。4.编程及调试题(1)根据要求编写Makefile文件。有5个文件分别是main.c、visit.h、study.h、visit.c、study.c,具体代码如下。//main.c文件//visit.h文件//study.h文件//visit.c文件//study.c1)如果上述文件在同一目录,请编写Makefile文件,用于生成可执行程序zhs。//Makefile文件2)如果按照下面的目录结构存放文件,请改写Makefile文件。bin:存放生成的可执行文件obj:存放.o文件include:存放visit.h、study.hsrc:存放main.c、visit.c、study.c和Makefile.3)如果按照下面的目录结构存放文件,请改写Makefile文件。bin:存放生成的可执行文件obj:存放.o文件include:存放visit.h、study.hsrc:存放main.c和Makefilesrc/src1:存放visit.csrc/src2:存放study.c说明:这可能只是其中一种方法,方
本文标题:嵌入式系统原理与应用习题解析
链接地址:https://www.777doc.com/doc-4558703 .html