嵌入式系统基础A习题及答案
- 格式:pdf
- 大小:124.58 KB
- 文档页数:14
第1章 嵌入式系统概述 1、什么是嵌入式系统?嵌入式系统的特点是什么? 嵌入式系统概念: (1) IEEE对嵌入式系统的定义:用于控制、监视或者辅助操作机器和设备的装置。(2)一般定义:以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 嵌入式系统的特点: (1) 专用的计算机系统 (2) 必须满足环境要求 (3) 必须能满足对象系统的控制要求 (4) 是集成计算机技术与各行业应用的集成系统 (5) 具有较长的生命周期 (6) 软件固化在非易失性存储器中 (7) 必须能满足实时性要求 (8) 需要专用开发环境和开发工具 5、简单分析几种嵌入式操作系统的主要特点,包括嵌入式Linux、Windows CE、uCOS II 及VxWorks。 (1)嵌入式Linux:有多个主流版本,根据应用需求,性能略有差别。μCLinux是Linux小型化后,适合于没有MMU的微处理器芯片而裁剪成的操作系统,μCLinux保持了传统Linux操作系统的主要特性,包括稳定、强大的网络和文件系统的支持,μCLinux裁剪了大量的Linux内核以缩小尺寸,适合像512KB RAM、1MB Flash这样小容量、低成本的嵌入式系统。RT_Linux即能兼容通常的Linux,又能保证强实时性。(2)Windows CE:开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用。WinCE开发难度远低于嵌入式Linux,实时性略低,常用于手机、PDA等手持设备中。 (3)uCOS II:结构小巧、抢先式的实时嵌入式操作系统,具有执行效率高、占用空间小、可移植性强、实时性能好和可扩展性能等优点。主要用于小型嵌入式系统。 (4) VxWorks: 集成开发环境为Tornado,Vxworks因出现稍早,实时性很强,并且内核可极微(最小8K),可靠性较高等。通常应用在通信设备等实时性要求较高的系统中。 第2章 嵌入式处理器体系结构 1、具体说明ARM7TDMI的含义,其中的T、D、M、I分别代表什么? ARM7TDMI是ARM7处理器系列成员之一,采用V4T版本指令。T表示Thumb,该内核可从16位指令集切换到32位ARM指令集;D表示Debug,该内核中放置了用于调试的结构,支持片内Debug调试;M表示Multiplier,支持位乘法;I表示Embedded ICE ,内含嵌入式ICE宏单元,支持片上断点和观察点。 10、ARMV4及以上版本的CPSR的哪一位反映了处理器的状态?若CPSR=0x000000090,分析系统状态。CPSR=0x000000090表示当前处理器工作于ARM状态,系统处于用户模式下。 CPSR的BIT5(T)反映当前处理器工作于ARM状态或Thumb状态。 11、ARM有哪几个异常类型,为什么FIQ的服务程序地址要位于0x1C?在复位后,ARM处理器处于何种模式,何种状态? ARM的7种异常类型:复位RESET异常、未定义的指令UND异常、软件中断SWI异常、指令预取中止PABT异常、数据访问中止DABT异常、外部中断请求IRQ异常、快速中断请求FIQ异常。在有快速中断发生时,CPU从0x1C处取出指令执行。ARM复位后处于管理模式,工作于ARM状态。 12、为什么要使用Thumb模式,与ARM代码相比较,Thumb代码的两大优势是什么? 为了兼容数据总线宽度为16位的应用系统,使用了ARM指令系统的一个子集Thumb指令系统。与等价的32位代码相比,Thumb指令集在保留32位代码优势时,大大节省了系统的存储空间。 13、说明AMBA、AHB、ASB以及APB的英文全称及其含义。 AMBA(Advanced Microcontroller Bus Architecture)即先进的微控制器总线体系结构,是ARM公司公布的总线标准,这一标准定义了AHB、ASB、APB及AMBA共4种高性能的系统总线规范。 AHB(Advanced High_performance Bus)先进的高性能总线,用于连接高性能系统组件或高宽带组件。它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟。 ASB(Advanced System Bus)即先进的系统总线,用于连接高性能的系统模块。它支持突发数据传输。 APB(Advacned Peripheral Bus)即先进的外围接口总线,是一个简单的接口。它支持低性能的外围接口,APB是用来连接系统的周边组件。 16、简述MMU从虚拟地址到物理地址的转换过程和方法。 虚拟地址到物理地址的转换过程: 当ARM要访问存储器时,MMU先查找TLB中的虚拟地址表,如果ARM的结构支持分开的地址TLB和指令TLB,那么它在取指令时使用指令TLB,其它的所有访问类别使用数据TLB;如果TLB中没有虚拟地址的入口,则是转换表遍历硬件从存储在主存储器中的转换表中获取访问权限,一旦取到,这些信息放在转换TLB中,它会放在1个没有使用的入口处或覆盖1个已有的入口。 虚拟地址到物理地址的转换方法: (1)确定1级页表的基地址。 (2)合成转换表的1级描述符。 (3)根据不同的1级描述符获取第2级描述符地址并找出第2级描述符。 (4)将第2级页描述符指示的页基地址,与虚拟地址指示的页内偏移地址相加,得到相应页的物理地址,完成虚拟地址到物理地址的转换。 第三章 典型嵌入式处理器 1、简述LPC2000系列微控制器的内部有哪些重要的外设组件? 向量中断控制器、外部存储控制器、I2C中行总线控制器、SPI同步接口控制器、UART串口控制器、定时器、AD转换器、CAN总线控制器、看门狗定时器等。 8、S3C44B0X如何组织8、16、32位的存储器,地址线如何连接? S3C44B0X不同宽度的存储器地址线连接方法。 存储器地址引脚 8位总线 16位总线32位总线 A0 A0 A1 A2 A1 A1 A2 A3 A2 A2 A3 A4 A3 A3 A4 A5 … … … … Am-1 Am-1 Am-2 Am-3 18、说明I2C的数据有效性和起停条件。 数据有效性:当SCL信号为高电平时,SDA上的数据传输有效,传输时高位在前,低位在后,每个字节长度限制为位,而每次传送的字节总数没有限制。满足启动条件后的第一个字节应为地址域。每一个字节有一个应答位。 起停条件:启动条件,在SCL信号保持高电平时SDA信号由高电平变为低电平;停止条件,要求在SCL信号保持高电平时SDA信号由低电平变为高电平。 26、简述AT91FR40162处理器的特点。 AR91FR40162采用ARM7TDMI处理器核,内部集成了256KB的片内SRAM和1024K字的16位Flash存储器、完全可编程的外部总线接口, 8个优先级且可以独立屏蔽的向量中断控制器、32个可编程的I/O接口线、3通道16位定时/计数器、2个同步/异步收发器及可编程的看门狗定时器,能完成全静态操作,具有先进的省电特性。 第四章 嵌入式处理器指令系统 1、填空题 (1)在源操作数为立即数时,应在前加#作为前缀,在#后加0x或&表示十六进制数,在#后加%表示二进制数,#后加0d或默认表示十进制数。 (2)根据堆栈指针指向的数据位置不同,堆栈可分为满堆栈和空堆栈。 (3)用一条指令完成条件加法运算,并更新CPSR中的条件码,R1+R2->R3 ADDGTS R3,R1,R2。 (4)在程序执行过程中,是通过寄存器R15控制程序的运行的。 (5)转移指令的跳转范围是-32MB-32MB。 2、选择题 (2)堆栈随着存储器地址的增大而向上增长,基址寄存指向存贮有效数据的最高地址或者说指向第一个要读出的数据位置,是(A)堆栈。 A、满递增 B、空递增 C、满递减 D、空递减 (3)在指令LDR R0,[R1,#4]!执行后,R1中的值为(C)。 A、R1不变 B、R1=R1+1 C、R1=R1+4 D、R1=4 3、说明下列指令完成的功能 (1)ADD R0,R1,R3,LSL #2 ;R0=R1+4R2 (2)ANDNES R0,R1,#0x0F ;if (CPSR寄存器中Z=0) R1的高28位清零后送寄存器R0并更新CPSR寄存器,else 执行下一条指令。 (3)LDRB R0,[R1,R2,LSR#2] ;把存储器地址为(R1+R2>>2)的字节数据加载到R0,R0的高24位清零。 (4)ADCHI R1,R2,R3; if(CPSR寄存器中Z=0并且C=1) 执行R1=R2+R3加法操作,else执行下一条指令。 (5)EOR R0,R0,R3,ROR R4; R3寄存器中的内容根据R4寄存器中的内容循环右移后与R0寄存器进行逻辑异或操作后,其结果存在R0寄存器内。 (6)BIC R1,R2,R0,RRX(删除一个多余的R2);把寄存器R2的值按R0带扩展的循环右移1位后的值(R0自身的值不变)进行位清除,结果保存到R1寄存器中。 (7)MLA R0,R1,R2,R3; R0=R1×R2+R3 MLA是32位乘加指令,运算结果的高32位自动丢掉。 (8)LDR R1,[R0,-R5,LSL #4] ;将存储器地址为R0-16R5的字数据加载到寄存器R1中。 4、用汇编语言实现下列功能的程序段,令R1=a,R2=b。 (1)if(a!=b)&a-b>5)) a=a+b CMP R1,R2 BEQ Next ADD R3,R2,#5 CMP R1,R3 BLS Next ADD R1,R1,R2 Next B Next (2) while(a!=0) { b=b+b*2; a--; } AREA TestWhile,CODE,READONLY a equ 5 b equ 1 ENTRY MOV R1,#a MOV R2,#b LOOPCTL CMP R1,#0 ADDNE R2,R2,R2,LSL#1