嵌入式系统基础复习题一、简答题1、什么是嵌入式系统?嵌入到对象体系中的专用计算机应用系统。2、嵌入式系统的3个基本特点?嵌入性、专用性、计算机3、什么是嵌入式处理器,嵌入式处理器可以分为几大类?嵌入式处理器是为了完成特殊的应用而设计的特殊目的的处理器。分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统(SOC)。4、广泛使用的三种类型的操作系统?多道批处理操作系统、分时操作系统以及实时操作系统。5、常见的4种嵌入式操作系统?嵌入式Linux、WinCE、VxWorks、μC/OS-II6、ARM是什么样的公司?它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC处理器。特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。7、什么是RISC?什么是CISC?RISC是精简指令集计算机的缩写。CISC是复杂指令集计算机的缩写。8、举出2个ARM公司当前应用比较多的ARM处理器核?ARM7系列、ARM9系列、ARM10系列、ARM11系列、intel的Xscale系列和MPCore系列。9、ARM7TDMI中的T、D、S、I分别表示什么含义?T:支持高密度16位的Thumb指令集D:支持片上调试S:ARM7TDMI的可综合(synthesizable)版本(软核)I:支持EmbededICE观察硬件M:支持64位乘法10、ARM7TDMI处理器采用什么样的体系结构,其可寻址地址空间多大?ARM处理器使用冯.诺依曼结构使用单个平面的232个8位字节地址空间。地址空间可以看作是包含230个32位字,或231个16位半字。11、ARM7TDMI处理器采用几级流水线处理,使用何种存储器编址方式?ARM7TDMI处理器采用三级流水线。ARM处理器将存储器看做是一个从0开始的线性递增的字节集合。12、ARM处理器模式和ARM处理器状态有什么区别?ARM处理器模式指用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。ARM处理器状态指ARM状态和Thumb状态ARM两种处理器状态下均有上述7种模式。13、ARM7TDMI内部寄存器特点?分别为31个通用32位寄存器和6个状态寄存器。它们不能在同一使劲同时被访问,对其的访问取决于处理器状态和处理器模式。14、ARM7TDMI有几种寻址方式?寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。15、ARM7的内部寄存器R13、R14、R15的主要功能和作用?R13:堆栈指针,用于保存堆栈的出入口处地址、保存待使用寄存器的内容R14:连接寄存器,当使用BL指令调用子程序时,返回地址将自动存入14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址;其他时候作为通用寄存器。R15:程序寄存器,总是指向正在“取指”的指令16、请说明MOV指令与LDR加载指令的区别和用途?LDR的操作数既可以来源于寄存器也可以来源于存储器,MOV的操作数能来源于寄存器。。LDR指令从内存中读取数据放入寄存器,用于对内存变量和数据的访问、查表、程序的跳转、外围部件的控制操作等;MOV指令将8位立即数或寄存器传送到目标寄存器(Rd),可用于移位运算等操作。17、LPC2000系列器件有几种常见的封装形式和其封装特点?常见的封装有64脚封装,144脚封装功耗低,有多个32位定时器,多达9个外部中断,16K字节静态RAM,1/128/256k字节片Flash存储器,128为宽度接口加速器,4路10位ADC或8路10位ADC(64脚和144脚封装),46或76~112个GPIO(64脚和144脚封装)。18、简要说明一下LPC2000系列器件片内存储器的特点?片内存储器分为片内Flash和片内静态RAM。片内Flash通过128位宽度的总线与ARM内核相连,具有很高的速度,特有的存储器加速功能,可以将程序直接放在Flash上运行。SRAM支持8位、16位和32位的读写访问。19、为什么要进行存储器重映射?存储器重映射是为了实现引导块和异常向量表地址的固定。重映射引导块,有利于用户调用其中的某些程序,增加代码的可移植性;异常向量表重映射为了能让ARM内核通过访问0x0000~0x003F地址访问到其他存储区域的向量表。20、LPC2000系列ARM7微控制器对向量表有什么要求(向量表中的保留字)?向量表中有一个空隙以确保软件能与不同的ARM结构兼容;表中异常入口地址处放置的是跳转指令,已转向中断子程序。FIQ地址要放在向量表的最后;21、ARM7微控制器内FLASH是多少位宽度的接口?它是通过哪个功能模块来提高FLASH的访问速度?FLASH是128位宽度的接口,通过存储器加速模块提高其访问速度。22、FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?FIQ是快速中断,具有最高优先级,中断处理转入FIQ模式;IRQ是普通中断,优先级低于FIQ,中断处理转入IRQ模式。向量IRQ支持16个向量IRQ中断,16个优先级,能为每个中断源设置服务程序地址;非向量IRQ支持一个非向量IRQ中断,所有中断都共用一个相同的服务程序入口地址。23、LPC2000系列芯片共有几个外接中断输入?它们是FIQ,还是IRQ?共有4个外接中断输入,它们既可以是IFQ也可以是IRQ。24、LPC2000系列芯片常用的开发工具?ADS、IAR、JATG、ISP25、什么是嵌入式处理器的最小系统?最小系统是指提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成的系统。26、嵌入式处理器的最小系统包含那些基本电路?最小系统包含时钟系统、供电系统、复位及其配置系统、存储器系统(可选)、调试测试系统(可选)。基本电路包括:末级电源电路、前级电源电路、时钟电路、复位电路、程序存储器(可选)、调试接口电路(可选)。二、问答题1、ARM7TDMI支持哪几种指令集,各有什么特点?支持ARM指令集和Thumb指令集两种。ARM指令集:指令32位,效率高,代码密度低,所有ARM指令都是可以有条件执行的。Thumb指令集:指令16位,代码密度较高,Thumb指令仅有一条指令具备条件执行功能。保持ARM的大多数性能上的优势,是ARM指令集的子集。2、ARM7TDMI有几种处理器模式,简单介绍该几种模式的工作特点?ARM7TDMI有7种处理器模式。用户模式:正常程序运行的工作模式,不能直接从用户模式切换到其它模式系统模式:用于支持操作系统的特权任务等,可以直接切换到其它模式快中断模式:用于快速中断处理,支持高速数据传输及通道处理,只有在FIQ异常响应时,才进入此模式。中断模式:用于通用中断处理,只有在IRQ异常响应时,才进入此模式。管理模式:供操作系统使用的一种保护模式,只有在系统复位和软件中断响应时,才进入此模式。中止模式:用于虚拟内存和/或存储器保护。未定义模式:支持软件仿真的硬件协处理器,只有在未定义指令异常响应时,才进入此模式。3、什么是引导程序?什么是启动程序?两者有什么区别?引导程序是ARM微处理器在上电或复位后首先运行BootBlock中的一段代码;启动程序是在运行引导程序后,正式运行用户main函数之前,还需要运行一段代码引导程序由芯片厂商固化在芯片中,功能包括:判断运行哪个存储器上的程序、检查用户代码是否有效、判断芯片是否被加密、芯片的在应用编程(IAP)以及在系统编程功能(ISP)。启动程序由用户添加,功能包括:向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、外围初始化,地址重映射等操作。4、简要描述LPC2000系列芯片内部GPIO的功能特点?(1)可以独立控制每个GPIO口的方向;(2)可以独立设置每个GPIO的输出状态;(3)所有GPIO口在复位后默认位输入状态。5、试说明LPC2000系列芯片的引脚设置寄存器PINSEL0、PINSEL1、PINSEL2的具体功能?PINSEL0控制引脚P0.0~P0.15的连接状态,每两位控制一个引脚。PINSEL1控制引脚P0.16~P0.31的连接状态,每两位控制一个引脚。PINSEL2控制P1端口和P2端口。6、试说明LPC2000系列芯片的存储器映射的结构特点?(看图回答问题4)(1)0GB向上为128KB或256KB的片内非易失性存储器;(2)1GB向上为16KB片内静态RAM;(3)2GB向下为BootBlock重映射;(4)3.5GB向上为VPB外设;(5)4GB向下为AHB外设。7、试说明LPC2000系列芯片内部向量中断控制器(VIC)的功能特点?(看图回答问题5)(1)可以管理最多32个中断请求,可将其编程为FIQ、向量IRQ或非向量IRQ;(2)有16个向量IRQ中断;(3)16个优先级,可动态分配优先级;(4)可产生软件中断。8、试说明LPC2000系列芯片的向量中断和非向量中断的功能特点?向量中断支持16个向量IRQ中断;16个优先级;每个优先级指定一个服务程序入口地址。非向量中断支持1个非向量IRQ中断;所有非向量IRQ的入口地址都相同。9、试说明LPC2000系列芯片内部定时器的功能特点?(看图回答问题6)(1)各含有一个可编程32位预分频器;(2)具有4路捕获通道,当输入信号跳变时可取得定时器的瞬时值,也可选择使捕获事件产生中断。(3)有4个32位匹配寄存器,匹配时动作有3种:定时器继续工作,可选择产生中断;停止定时器,可选择中断;复位定时器,可选择中断(4)有4个对应于匹配寄存器的外部输出,匹配时输出有4种:设置为低电平;设置为高电平;翻转;无动作。10、简要描述LPC2000系列芯片内部定时器的预分频功能,匹配功能,捕获功能?预分频功能:通过设置某个常量来控制pclk(定时器的时钟源)的分频。匹配功能:当定时器值等于预设的匹配值时,从引脚输出特定的信号。捕获功能:如果输入信号满足设定的要求,将触发捕获动作,将定时器的计数值保存到捕获寄存器中。11、试说明LPC2000系列芯片内部都具有那些外设接口,及其特点?12、试比较说明JATG工具和ISP工具的异同点?两者都可以将程序下载到开发板上。JATG通过计算机的并口和开发板的JATG口下载程序;ISP通过计算机的串口和开发板的UART0下载程序。三、看图回答问题1、下图是ARM7处理器的当前程序状态寄存器,请简单说明各位的功能。NVCZFTIM4M1M2M3167312043M05282930278ARM7当前程序状态寄存器N:负标志位,运算结果的第31位值,记录标志设置的结果。Z:零标志位,如果标志设置操作的结果为0,则置位。C:进位标志位,记录无符号加法溢出,减法无错位,循环移位。V:溢出标志位,记录标志设置操作的有符号溢出。I:中断禁止标志位,置位时禁止IRQ中断,否则允许IRQ中断使能。F:中断禁止标志位,置位时禁止FIQ中断,否则允许FIQ中断使能。T:控制位,置位时处理器运行在Thumb状态下,清零时处理器运行在ARM状态下。M0~M4:模式控制位,定义处理器的7中模式。其余位为保留位,留作将来使用。2、下图是LPC2000内部的时钟发生系统图,试对该图进行简单的描述说明。外接晶体或外接时钟源产生稳定的时钟信号将Fosc提升到合适的频率PLLPLL晶体振荡器晶体振荡器VPB分频器VPB分频器FCCLKFPCLKfOSCFOSCCPU内核芯片外设唤醒定时器唤醒定时器ON/OFFPLLPLL晶体振荡器晶体振荡器VPB分频器VPB分频器FCCLKFPCLKfOSCFOSCCPU内核芯片外设唤醒定时器唤醒定时器ON/OFF1342LPC2000内部的时钟发生系统图晶体振荡器为系统提供基本的时钟信号(Fosc);在复位或处理器从掉电模式唤醒时,唤醒定时器为输入的时钟信号做计数延时,使芯片内部有时间进行初始化;PLL把Fosc信号提高到一个符合用户需要的频率(Fcclk),用于CPU内核;VPB分频器用于把Fcclk信号降