当前位置:文档之家› 嵌入式复习资料-2015-2016-1

嵌入式复习资料-2015-2016-1

一、判断(分)1、通常处理器复位之后进入管理模式。

(√)2、ARM7处理器中断系统是可以实现中断嵌套的。

(×)3、ARM处理器最先运行的程序是“启动代码”(×)4、处理器遇到没有定义或不支持的指令时,进入中止模式。

(×)5、嵌入式系统的快速中断模式主要是增加中断源。

(×)6、通常情况下嵌入式系统一定要有引导程序。

(√)7、Thumb指令可以提高机器的运行速度。

(×)8、ARM处理器采用精简指令集。

(√)9、ARM处理器的GPIO口复位后默认为输出状态。

(×)10、嵌入式系统是“以应用为中心的通用计算机系统”。

(×)11、ARM指令集效率高,但是代码密度低。

(×)12、在各种模式下都可以访问ARM微处理器的任何寄存器。

(×)13、嵌入式最小系统组成部分一定要有外部程序存储器。

(×)14、ARM状态下几乎每条指令都可以条件执行。

(√)15、ARM处理器复位时从0x00000000地址开始运行。

(√)16、ARM程序和Thumb程序可相互调用,相互之间切换开销几乎为零。

(√)17、非向量IRQ中断优先级比向量IRQ中断优先级高。

(×)18、通常情况下嵌入式系统的引导程序是通用的。

(×)二、填空(每空分,共分)1、ARM微处理器通过____BL___和____BX___指令改变当前处理器工作状态。

2、VPB分频器有2个作用,分别为_处理器时钟分频___、__降低功耗___。

3、LPC2000系列芯片有两个复位源__上电复位___、___看门狗____。

4、ARM指令的长度是___4___字节,Thumb指令的长度刚好是___2__字节。

5、ARM7内核具有两个中断输入,分别为___IRQ__中断和__FIQ___中断。

6、LPC处理器定时器的特性有__32 位预分频器__,_具有多达4路的捕获通道,_4 个32 位匹配寄存器__,__4个匹配输出引脚____。

7、ARM处理器对片内FLASH编程有3种方式,分别为JTAG,_ISP___和 IAP 。

8、ARM向量中断控制器具有_32__个中断请求输入。

可将其编程分为3类:FIQ中断、向量IRQ_中断、非向量IRQ中断。

9、嵌入式系统的三要素是_嵌入性_、_内含计算机__、_专用性___。

10、ARM微处理器具有___2___种工作状态, ___7___种工作模式。

11、LPC2000芯片可以通过片内__PLL___实现最大__60__MHZ的CPU操作频率。

12、嵌入式系统异常向量表的起始地址为__0x0000__,第一个异常向量为__复位。

13、程序状态寄存器的状态有___NZCVIFTM任选3个____,_____,________。

14、外部存储器控制器可以支持__RAM__,__ROM____,_Flash___,Burst ROM 和一些外部IO部件。

15、LPC2000 ARM所有中断源可编程为_向量IRQ__,_非向量IRQ__,___FIQ__。

三、简答题(分)1、简述嵌入式系统的特点?答:嵌入式系统是“以应用为中心、以计算机技术为基础、软硬件可裁减,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

”特点:嵌入性,内含计算机,专用性2、ARM处理器寻址方式有哪些?ARM支持以下7种寻址方式:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、变址寻址、多寄存器寻址、堆栈寻址。

3、ARM处理器模式和ARM处理器状态有何区别?处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。

4、简述Boot Block的主要功能有哪些?答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。

通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。

5、ARM状态下寄存器有多少个?哪几个寄存器是在各种工作模式下共用的?答:ARM状态下寄存器有有37个,其中R0-R7寄存器是在各种工作模式下共用的。

6、ARM7TDMI采用几级流水线?使用何种存储器编址方式?答:三级流水线(取指译码执行);使用了冯·诺依曼(Von Neumann )结构,指令和数据共用一条32 位总线。

7、嵌入式系统使用实时操作系统的必要性?答:使用实时操作系统主要有以下几个因素:·嵌入式实时操作系统提高了系统的可靠性。

·提高了开发效率,缩短了开发周期。

·嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。

8、什么叫嵌入式处理器?嵌入式处理器分为哪几类??答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。

嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On Chip)9、程序状态寄存器的英文简称是什么?其中高4位各表示什么意思?答:CPSR。

31 30 29 28 27 …8 7 6 5 4 3 2 1 0N Z C V (保留)I F T M4 M3 M2 M1 M0条件码标志位的意义:N:正负号/大小标志位0表示:正数/大于;1表示:负数/小于Z:零标志位0表示:结果不为零;1表示:结果为零/相等C:进位/借位/移出位0表示:未进位/借位/移出0;1表示:进位/未借位/移出1V:溢出标志位0表示:结果未溢出;1表示:结果溢出10、ARM处理器工作模式有哪些?答:1)正常用户模式(usr);2)快速中断模式(fiq);3)普通中断模式(irq);4)操作系统保护模式(svc)或管理模式;5)数据访问中止模式(abt);6)处理未定义指令的未定义模式(und);7)运行特权级的操作系统任务的系统模式(sys)。

四、补全程序题()1、假设有一个基于LPC2000的系统,所使用的晶振为10MHZ石英晶振,要求Fcco必须在156~320MHz范围内,Fcclk=60MHz。

请计算出PLL的M值和P值各为多少?并补全设置PLL的程序段。

(10分)M= 6 ,P= 2Uint8 pllset(uint32 Fcclk,uint32 Fosc,uint32 Fcco){ uint32 plldat;plldat=(M-1)|( P<<5);PLLCON= 1 ;PLLCFG= 0x25 ;PLLFEED=0xaa;PLLFEED=0x55;while((PLLSTAT&(1<<10))==0);PLLCON= 3 ;PLLFEED=0xaa;PLLFEED=0x55;}2、假设有一个基于LPC2000的系统,所使用的晶振为20MHZ石英晶振,要求Fcco必须在156~320MHz范围内,Fcclk=60MHz。

请计算出PLL的M值和P值各为多少?并补全设置PLL的程序段。

(10分)M= 3 ,P= 2Uint8 pllset(uint32 Fcclk,uint32 Fosc,uint32 Fcco){ uint32 plldat;plldat=(M-1)|( P<<5);PLLCON= 1 ;PLLCFG= 0x22 ;PLLFEED=0xaa;PLLFEED=0x55;while((PLLSTAT&(1<<10))==0);PLLCON= 3 ;PLLFEED=0xaa;PLLFEED=0x55;}五、分析题()1、在下划线上添写合适的说明// 本程序采用下降沿触发中断#include <lpc2103.h>void EINT1_Configuration(void);//外部中断1的中断初始化函数void EINT1_ISR(void) __irq;//外部中断1的中断服务程序unsigned int FLAG = 0;int main(void){EINT1_Configuration();//调用外部中断1的中断初始化函数IODIR = LED | BUZZER;//设置发光二极管和蜂鸣器控制口均为输出IOSET = LED; //灯灭IOCLR = BUZZER; //蜂鸣器不响…….}void EINT1_ISR(void) __irq //{FLAG = 1; //修改标志变量EXTINT = 0x02; // 清除EINT1中断标志VICVectAddr=0; // 向量中断地址清0,中断结束}void EINT1_Configuration(void){PINSEL0 = 0x01 << (2 * 14); //第29、28位为01时,选择P0.14引脚的EINT1功能EXTMODE = 0x02; // 中断触发方式:边沿触发EXTPOLAR = 0x00; // 下降沿触发VICIntSelect = VICIntSelect & (~(1 << 15)); /* 外部中断1初始化(使用IRQ向量中断)*/VICVectCntl0 = 0x20 | 15; // 设置为IRQ通道0VICVectAddr0 = (unsigned long)EINT1_ISR;EXTINT = 0x02; //VICIntEnable = 1 << 15; //EINT1中断使能}2、在下划线上添写合适的说明// 本程序采用上升沿触发中断#include <lpc2103.h>//void EINT0_Configuration(void);//外部中断0的中断初始化函数//void EINT0_ISR(void) __irq;//外部中断0的中断服务程序unsigned int FLAG = 0;int main(void){EINT0_Configuration();//调用外部中断0的中断初始化函数IODIR = LED | BUZZER;//设置发光二极管和蜂鸣器控制口均为输出IOSET = LED; //灯灭IOCLR = BUZZER; //蜂鸣器不响……..}void EINT0_ISR(void) __irq;{FLAG = 1; //修改标志变量EXTINT = 0x01; // 清除EINT0中断标志VICVectAddr=0; // 向量中断地址清0,中断结束}void EINT0_Configuration(void){PINSEL0 = 0x01 << (2 * 14); //第29、28位为01时,选择P0.14引脚的EINT0功能EXTMODE = 0x01; // 中断触发方式:边沿触发EXTPOLAR = 0x01; // 上升沿触发VICIntSelect = VICIntSelect & (~(1 << 14)); /* 外部中断0初始化(使用IRQ 向量中断);VICVectCntl0 = 0x20 | 14; // 设置为IRQ通道0 VICVectAddr0 = (unsigned long)EINT0_ISR;EXTINT = 0x01; //VICIntEnable = 1 << 14; //EINT0中断使能}六、编程应用题()1、LPC210x微控制器的P0.6引脚接开关,P0.7引脚接LED发光二极管,编写C语言实现开关闭合时LED闪烁,开关打开时LED熄灭的程序。

相关主题