1.嵌入式系统的定义是什么?IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
国内定义:应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统特点,三要素:嵌入、专用、计算机(1)嵌入到对象体系中,有对象环境要求(2)软、硬件按对象要求裁减(3)实现对象的智能化功能2.嵌入式软件系统分为几个层次?驱动层,OS层,应用层3.嵌入式处理器分为几类?微控制器(MCU)微处理器(MPU)(Embedded MicroProcessor Unit) 数字信号处理器(DSP)( Digital Signal Processor) 混合处理器和片上系统(SOC)(System On Chip) 可编程片上系统(SOPC)(System On Programmable Chip)4.选择嵌入式微处理器时,应考虑那些因素。
5.什么是实时操作系统,如何分类?能够对外部事件做出及时响应的系统。
响应时间要有保证。
对外部事件的响应包括:(1)事件发生时要识别出来(2)在给定时间约束内必须输出结果实时操作系统必须有以下特征:(1)多任务(2)有线程优先级(3)多种中断级别实时操作系统又分为:(1)硬实时系统。
对系统响应时间有严格的要求,如果系统响应时间不能满足,就会引起系统崩溃或致命的错误。
(2)软实时系统:对系统响应时间有要求,但是如果系统响应时间不能满足,它并不会导致系统出现致命的错误或崩溃,只是降低系统的吞吐量。
6.常见嵌入式操作系统有哪些?µC/OS-II:教学的免费、面向中小型嵌入式系统应用。
Vxworks:美国WindRiver公司于1983年开发,具有可靠、实时、可裁减特性。
WinCE:微软针对个人电脑以外的电脑产品所研发的嵌入式操作系统,CE为Customer Embedded的缩写Linux/µCLinux:免费、源码开放的操作系统,µclinux面向没有MMU的硬件平台。
PalmOS :Com公司产品,在PDA市场占据很大份额,具有开放的操作系统应用程序接口(API),可让用户灵活方便地定制操作系统。
7.嵌入式系统开发的流程是什么?(1)系统需求分析(2)体系结构设计(3)硬件/软件设计(4)系统集成(5)系统测试8.嵌入式系统开发一般采用什么模式?采用宿主机-目标机的交叉开发模式,需要交叉编译环境。
9.ARM7TDMI和ARM920T的区别与联系是什么?ARM7TDMI和ARM920T的体系结构都是V4T,二者区别如下:ARM7TDMI采用的冯·诺依曼V on Neumann结构,三级流水线:取指,译码,执行。
ARM920T采用哈佛(Harvard)结构,程序存储器与数据存储器分开,提供了较大的存储器带宽,采用五级流水线:取指,译码,执行,缓冲/数据,回写)10.ARM异常处理的流程是什么?(1) 保存返回地址(2) 保存当前状态寄存器CPSR的内容(3) 设置当前状态寄存器CPSR中的相应位(4)转去执行中断处理程序(5)异常返回11.ARM异常的优先级如何划分?ARM异常的优先级从高到低分别是:复位、数据终止、FIQ、IRQ、欲取指令终止、未定指令和SWI12.什么是RISC,什么是CISC,采用RISC结构的ARM处理器有何特点?采用RISC结构的ARM处理器特点:固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种;使用单周期指令,便于流水线操作执行;大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率13.ARM926EJ-S,各字母代表什么含义9代表:、Family number,ARM7,ARM92代表:Memory system6代表:Memory sizeEJ代表:ExtensionsS代表:Synthesizeble14.ARM7TDMI中的各字母的含义是什么?T DMI的基本含义为(对其它系列也适用):T:支持16为压缩指令集ThumbD:支持片上DebugM:内嵌硬件乘法器MultiplierI:嵌入式ICE,支持片上断点和调试15.ARM处理器有几种工作模式和工作状态ARM处理器的两种工作状态:ARM状态和THUMB状态7种工作模式:(1)用户模式(usr):ARM处理器正常的程序执行状态,大部分任务执行在这种模式。
(2)快速中断模式(fiq):当一个高优先级(fast)中断产生时将会进入这种模式,用于高速数据传输或通道处理(3)外部中断模式(irq):当一个低优先级(normal)中断产生时将会进入这种模式。
用于通用的中断处理(4)管理模式(svc):当复位或软中断指令执行时将会进入这种模式, 供操作系统使用的一种保护模式。
(5)中止模式(abt):当存取异常时将会进入这种模式,用于虚拟存储及存储保护。
(6)未定义模式(und):当执行未定义指令时会进入这种模式,软件仿真硬件协处理器。
(7)系统模式(sys):供需要访问系统资源的操作系统任务使用,运行具有特权的操作系统任务16.ARM状态下分组寄存器R13,R14,R15的功能是什么?R13在ARM指令中常用作堆栈指针R14也称作子程序连接寄存器,保存子程序的返回地址R15用作程序计数器17.ARM异常处理的流程是什么?(1) 保存返回地址(2) 保存当前状态寄存器CPSR的内容(3) 设置当前状态寄存器CPSR中的相应位(4)转去执行中断处理程序(5)异常返回18.ARM异常的优先级顺序是什么?ARM异常的优先级从高到低分别是:复位、数据终止、FIQ、IRQ、欲取指令终止、未定指令和SWI19.CPSR 和SPSR各有什么功能?CPSR(当前程序状态寄存器),CPSR可在任何运行模式下被访问,它包括条件标志位(N、Z、C、V),中断禁止位(I位),快中断禁止位(F位)当前处理器模式标志位,以及其他一些相关的控制和状态位。
SPSR(备份的程序状态寄存器),异常发生时,SPSR 用于保存CPSR的值,从异常退出时则可由SPSR来恢复CPSR。
20.ARM的LOAD/STORE指令有何功能,有哪几类?ARM微处理器用加载/存储(Load/Store)指令访问存储器,实现在寄存器和存储器之间传送数据,LOAD/STORE指分类:单字和无符号字节的加载/存储指令:LDR/STR半字加载/存储指令:LDRH/STRH有符号字节加载/存储指令:LDRSB、LDRSH/STRSB、STRSHARM逻辑运算指令各有什么功能?AND指令可用于提取寄存器中某些位的值ORR指令用于将寄存器中某些位的值设置成1。
BIC指令可用于将寄存器中某些位的值设置成0EOR指令可用于将寄存器中某些位的值取反21.ARM指令中的IA,IB,DA,DB,FD,ED,FA,EA分别是什么含义?LDM/STM的主要用途是现场保护、数据复制和参数传送等。
其模式有如下8种(前面4种用于数据块的传输(为存储操作), 后面4种是堆栈操作: IA:先传、后地址加4;IB:先地址加4 、后传;DA:先传、后地址减4;DB:先地址减4 、后传;FD:满递减堆栈,先地址减4、后传,与DB对应;ED:空递减堆栈,先传、后地址减4,与DA对应;FA:满递增堆栈,先地址加4、后传,与IB对应;EA:空递增堆栈,先传、后地址加4,与IA对应22.ARM软中断指令是什么?SWI23.常用的ARM开发环境有哪些?ADS和GNU24.ARM汇编语言的伪指令有几条,各有什么功能?ADR:小范围的地址读取伪指令。
将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中ADRL:中等范围的地址读取伪指令。
将基于PC 相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中,比ADR伪指令可以读取更大范围的地址。
LDR:大范围的地址读取伪指令。
用于加载32位立即数或一个地址值到指定的寄存器。
NOP:空操作伪指令。
ADS环境下常用伪操作的含义AREA:定义一个代码段或数据段CODE16、CODE32:告诉编译器后面的指令序列位数ENTRY:指定程序的入口点ALIGN:将当前的位置以某种形式对齐END:源程序结尾EQU:为数字常量、基于寄存器的值和程序中的标号定义一个字符名称。
EXPORT(GLOBAL):声明源文件中的符号可以被其他源文件引用IMPORT(EXTERN):声明某符号是在其他源文件中定义的25.ARM处理器如何进入和退出thumb指令模式?AREA ChangeState, CODE, READONLYENTRYCODE32 ;下面为32位ARM指令LDR R0,=start+1BX R0……CODE16 ;下面为16位Thumb指令start MOV R1,#10…….END26.ARM汇编语言编程,如何实现子程序的调用?BL SUB1 ;LR下条指令地址;转至子程序SUB1处…SUB1 …MOV PC, LR ;子程序返回27.ARM映像文件是什么格式ELF格式28.嵌入式系统中常用的闪存芯片有哪些,各有何特点?Nor和Nand FlashNor的特点是XIP(eXecute In Place,芯片内执行),应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。
读速度高,而擦、写速度低,容量小,价格高。
Nand flash存储器不能执行程序,但是擦、写速度高,容量大,价格低。
29.S3C2410处理器的内部结构是怎样的?S3C2410由ARM920T内核和片内外设两大部分构成。
ARM920T内核由ARM9内核ARM9TDMI、32KB的Cache、MMU三部分组成,片内外设分为高速外设和低速外设,分别用AHB总线和APB总线连接30.S3C2410处理器存储系统如何划分S3C2410X的存储空间分成8组,最大容量是1GB,bank0---bank5为固定128MB,bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB,并且bank7的开始地址与bank6的结束地址相连接,但是二者的容量必须相等。
bank0可以作为引导ROM,其数据线宽只能是16位和32位,复位时由OM0、OM1引脚确定;其它存储器的数据线宽可以是8位、16位和32位。
31.S3C2410处理器工作电压是多少S3C2410X的应用系统,需要使用+5V、3.3V(I/O 端口和外设)和1.8V(内核)的直流稳压电源S3C2410处理器中断控制寄存器有几个,分别实现什么功能?SRCPND---中断源挂起(标志)寄存器INTMOD---中断模式寄存器INTMSK---中断屏蔽寄存器PRIORITY---中断优先级寄存器INTPND---中断服务(挂起)寄存器INTOFFSET---中断偏移寄存器SUBSRCPND---子中断源请求标志寄存器INTSUBMSK---子中断源屏蔽寄存器32.S3C2410处理器的I/O端口控制寄存器、数据寄存器和上拉电阻寄存器各有什么作用?端口控制寄存器定义了每个管脚的功能如果端口被配置成了输出端口,可以向数据寄存器的相应位写数据。