ARM期末考试复习试卷

  • 格式:doc
  • 大小:79.00 KB
  • 文档页数:15

第一章1、嵌入式系统概念及其特点:以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

特点:嵌入性、内含计算机、专用性。

2、嵌入式系统分类:根据嵌入式系统使用的微处理器,可以将嵌入式系统分为(嵌入式微控制器),嵌入式DSP,(嵌入式微处理器)以及片上系统。

3、嵌入式操作系统1、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和(分时操作系统),其中实时系统亦可分为(硬实时操作系统)和软实时系统。

2、下面哪种操作系统不属于商用操作系统。

(B)A.windowsxpB.LinuxC.VxWorksD.WinCE下面哪点不是嵌入式操作系统的特点。

(C)A.内核精简B.专用性强C.功能强大D.高实时性第二章1、ARM采用精简指令集计算机体系系统结构。

eg:下列描述不属于RISC计算机的特点的是(C)。

A.流水线每周期前进一步。

B.更多通用寄存器。

C.指令长度不固定,执行需要多个周期。

D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。

计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于RISC类型,其指令长度是定长的2、三级流水线:取指、译码、执行eg.ARM7TDMI采用(3)级流水线结构,ARM920TDMI采用(5)级流水线。

3、ARM的模块ARM包括时钟、存储器接口、总线控制、仲裁等基本模块外还增加了协处理器接口、调试接口、同步的EmbeddedICE-RT扫描调试接口访问。

4、ARM处理器状态⑴ARM微处理器有ARM和Thumb两种工作状态;ARM状态是32位,执行字对准的ARM指令。

Thumb 状态是16位,执行半字对准的Thumb指令。

⑵简述ARM处理器的工作状态。

答:ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。

在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。

但ARM微处理器在开始执行代码时,应该处于ARM状态。

进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。

此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。

进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。

此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。

;从ARM状态转换位Thumb状态CODE32LDRR0,=LABLE+1;BXR0;CODE16LABLEMOVR1,#12;从Thumb状态转换位ARM状态CODE16LDRR0,=LABLEBXR0CODE32LABLEMOVR1,#105、ARM处理器模式ARM9的工作模式有7种,包括:用户模式、系统模式、管理模式、中止模式、未定义模式、IRQ模式、FIQ模式。

其中除用户模式外的其他6种模式称为特权模式。

ARM处理器有几种工作模式?并做说明每种工作模式的含义。

答:ARM处理器有7种工作模式:用户模式(usr)-正常程序执行的模式快速中断模式(fiq)-FIQ异常响应时进入此模式中断模式(irq)-IRQ异常响应时进入此模式管理员模式(svc)-系统复位和软件中断响应时进入此模式中止模式(abt)-用于虚拟存储及存储保护系统模式(sys)-与用户类似,但有直接切换到其它模式等特权未定义模式(und)-未定义指令异常响应时进入此模式除了用户模式外,其他模式均可视为特权模式下面哪一种工作模式不属于ARM特权模式(A)。

A、用户模式B、管理模式C、软中断模式D、FIQ模式6、ARM状态下的寄存器ARM7的内部寄存器R13、R14、R15的主要功能和作用?R13:堆栈指针,用于保存堆栈的出入口处地址、保存待使用寄存器的内容R14:连接寄存器,当使用BL指令调用子程序时,返回地址将自动存入14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址;其他时候作为通用寄存器。

R15:程序寄存器,总是指向正在“取指”的指令7、CSPR状态寄存器⑴下图是ARM7处理器的当前程序状态寄存器,请简单说明各位的功能。

N:负标志位,运算结果的第31位值,记录标志设置的结果。

Z:零标志位,如果标志设置操作的结果为0,则置位。

C:进位标志位,记录无符号加法溢出,减法无错位,循环移位。

V:溢出标志位,记录标志设置操作的有符号溢出。

I:中断禁止标志位,置位时禁止IRQ中断,否则允许IRQ中断使能。

F:中断禁止标志位,置位时禁止FIQ中断,否则允许FIQ中断使能。

T:控制位,置位时处理器运行在Thumb状态下,清零时处理器运行在ARM状态下。

M0~M4:模式控制位,定义处理器的7中模式。

②ARM处理器中CPSR和SPSR的中文名称分别为:当前程序状态寄存器和保存程序状态寄存器。

8、异常向量表列举异常向量的向量地址。

复位0x00000000未定义0x00000004软件中断0x00000008中止0x0000000c中止(数据)0x00000010保留0x00000014IRQ0x00000018FIQ0x0000001cIRQ中断的入口地址是(C)。

FIQ的入口地址为0x0000001CA、0x00000000B、0x00000008C、0x00000018D、0x000000149、异常中断的进入与退出当异常产生,处理器进入一个异常程序、退出异常时需进行哪些操作?答:进入异常(1)把断点处的下一条指令的地址保存到相应的R14寄存器中。

(2)把状态寄存器CPSR的值复制到相应的SPSR寄存器中,以保存断点处的状态。

(3)根据异常模式,把CPSR寄存器的模式位M[4:0]设置成对应的值。

(4)自动使PC指向相关的异常向量,从该向量地址处取一条指令进行执行。

退出异常(1)将保存在R14寄存器的值再回送到PC中。

(2)再将SPSR寄存器的值送回到CPSR寄存器中。

(3)对中断禁止位标志进行清除。

10、ARM体系的存储系统ARM字数据存储格式有:大端格式和小端格式。

第三章1、ARM处理器寻址方式简述ARM指令寻址方式。

答:寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式,ARM处理器有8种基本寻址方式。

寄存器寻址;立即寻址;寄存器移位寻址;寄存器间接寻址;基址寻址;多寄存器寻址;堆栈寻址;相对寻址。

2、ARM指令指令格式:<指令助记符>{<执行条件>}{S}<目标寄存器>,<操作数1的寄存器>{,<第2操作数>}第四章1、系统启动代码:大部分由汇编指令构成,它实现向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、外围初始化、地址重映射等操作。

在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。

(A)(A)OS_CORE.C (B)include.h(C)OS_CPU.H (D)OSTaskInit2、时钟系统下图是LPC2000内部的时钟发生系统图,试对该图进行简单的描述说明。

晶体振荡器为系统提供基本的时钟信号(Fosc);在复位或处理器从掉电模式唤醒时,唤醒定时器为输入的时钟信号做计数延时,使芯片内部有时间进行初始化;PLL把Fosc信号提高到一个符合用户需要的频率(Fcclk),用于CPU内核;VPB分频器用于把Fcclk信号降低到一个合适的Fpclk(也可以不降低),用于外设部件。

3、ARM7微控制器内FLASH是多少位宽度的接口?它是通过哪个功能模块来提高FLASH的访问速度?FLASH是128位宽度的接口,通过存储器加速模块提高其访问速度4、引脚连接模块试说明LPC2000系列芯片的引脚设置寄存器PINSEL0、PINSEL1、PINSEL2的具体功能?PINSEL0控制引脚P0.0~P0.15的连接状态,每两位控制一个引脚。

PINSEL1控制引脚P0.16~P0.31的连接状态,每两位控制一个引脚。

PINSEL2控制P1端口和P2端口。

5、将P0.8、P0.9设置为TxD1、RxD1功能PINSEL0=0X00050000;6、GPIO控制寄存器图是ARM7系统每个I/O端口的内部寄存器控制结构示意图,看图填写下表的寄存器功能说明内容。

7、GPIO应用示例①将P0.0设置为输出高电平PINSEL0=0x00000000;IO0DIR=0x00000001;②读写操作(程序将会读取P0.7~P0.4脚值,然后从P0.3~P0.0输出)bak=IO0PIN;//读取引脚上的值IO0CLR=0x0000000F;//将P0.0~P0.3输出0IO0SET=(bak&0x000000F0)>>4;//设置P0.0~P0.3输出(为1的位输出1)③控制蜂鸣器Intmain(void){PINSEL0=0x00000000;IO0DIR=BEEPCON;While(1){IO0SET=BEEPCON;DelayNS(10);IO0CLR-BEEPCON;DelayNS(10);}Return(0);}简要描述LPC2000系列芯片内部GPIO的功能特点?(1)可以独立控制每个GPIO口的方向;(2)可以独立设置每个GPIO的输出状态;(3)所有GPIO口在复位后默认位输入状态。

8、中断选择寄存器该寄存器将32个中断请求分别分配为FIR或IRQ,当VICIntSelect中的某一位为1时,表示该通道的中断设置为FIQ;为0时,分配为IRQ。

默认情况下,所有中断都为IRQ中断。

示例:将外部中断0分配为FIQVICIntSelect=(1《《EINT0_num);9、程序声明多了“_irq”关键字,表示这是一个IRQ中断服务,这和编译器相关。

“_irq”是ADS编译器的关键字,使用其他编译器,关键字可能不一样。

10、外部中断应用EINT0低电平中断初始化PINSEL1=(PINSEL1&FFFFFFC)|0x01;EXTMODE=EXTMODE&0X0E;EXTPOLAR=EXTPOLAR&0X0E;/*设置向量中断控制器*/VICIntSelect=VICIntSelect&(~(1<<14));//设置所有中断分配为IRQ中断VICVectCntl0=0x20|14;//向量IRQ通道0的中断服务程序地址为EINT0_ISRVICVectAddr0=(uint32)EINT0_ISR;//设置中断服务程序地址VICIntEnable=(1<<14);//EINT0中断使能11、定时器基本操作计数时钟频率=12、定时器0定时中断初始化(初始化定时器0,定时时间为10ms,然后启动定时器)voidTime1Init(void){T0TC=0; //设置定时器0T0PR=0; //时钟不分频T0MCR=0x03; //设置T0MR0匹配后复位T0TC,并产生中断T0MR0=Fpclk/100; //设置0.1s匹配值T0TCR=0x01;//启动定时器0/*设置向量中断控制器*/VICIntSelect=VICIntSelect&(~(1<<4); //所有中断通道设置为IRQ中断VICVectCntl0=0x20|4; //定时器0中断分配为IRQ通道0VICVectAddr0=(uint32)Timer0_ISR; //设置中断服务程序地址向量VICIntEnable=(1<<4); //使能定时器1中断}定时器匹配输出voidTime1Init(void){T0TC=0; //设置定时器0T0PR=0; //时钟不分频T0MCR=0x10; //设置T0MR0匹配后复位T0TC,并产生中断T0EMR=0xC0;//TOMR1匹配后MAT0.1输出翻转T0MR1=Fpclk/200; //输出频率为1KHZ T0TCR=0x01;13、SPI接口SPI引脚描述14、I2C引脚描述15、UART引脚描述16、UART初始化在进行UART操作之前,必须先对UART进行初始化设置。