嵌入式系统开发 李宥谋 答案.docx
- 文档编号:20121531
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:28
- 大小:214.51KB
嵌入式系统开发 李宥谋 答案.docx
《嵌入式系统开发 李宥谋 答案.docx》由会员分享,可在线阅读,更多相关《嵌入式系统开发 李宥谋 答案.docx(28页珍藏版)》请在冰豆网上搜索。
嵌入式系统开发李宥谋答案
嵌入式系统开发
习题1
1.什么是嵌入式系统?
有何特点?
答:
嵌入式系统的概念有很多种,在嵌入式系统领域中比较认同的嵌入式系统的概念是:
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统的特点:
嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
系统内核小。
由于嵌入式系统一般是应用于小型电子装置中,系统资源相对有限,所以内核较之传统的操作系统要小得多。
专用性强。
系统精简。
系统软件(OS)要求具有高实时性。
嵌入式软件开发要走向标准化,需要使用多任务的操作系统。
嵌入式系统本身并不具备在其上进行进一步开发的能力。
2.嵌入式系统可以分为几层?
每一层各完成哪些功能?
答:
嵌入式系统由硬件层、中间层、软件层和功能层组成。
硬件层:
以嵌入式微处理器为核心,存储器用以存储数据和执行代码,相关的设备接口和I/O接口,这些组成了一个嵌入式系统的基础,实现逻辑运算,算术运算等。
中间层:
将系统上层软件和底层硬件进行分离,封装成标准的接口,在上层软件开发人员无需知道底层硬件的具体情况,完成的任务是底层硬件的初始化、数据的输入/输出操作、硬件的配置等功能。
软件层:
主要由RTOS、文件系统、图形用户接口、网络系统和通用的组件模块组成,是软件开发的基础。
功能层:
用来完成被控对象的控制功能。
3.嵌入式系统中硬件抽象层有什么特点?
答:
硬件抽象层是介于硬件层与软件层之间的中间层,它将系统上层软件与底层硬件分离开来,具有以下两个特点:
硬件相关性:
因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,硬件抽象层需要为操作系统提供操作和控制具体硬件的方法。
操作系统相关性:
不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。
4.简述嵌入式处理器的硬件组成?
答:
随着集成电路集成度的不断提高,嵌入式系统板级的硬件电路模块也越来越多的集成到芯片内部,目前处理器芯片内部的电路模块组成如下:
处理器内核,以CPU为核心,有的还包含MMU(存储器管理单元)、Cache(高速缓存)、ICE(在线仿真)等电路模块。
DSP/协处理器,对于多媒体处理的处理器,内部一般有DSP(数字信号处理)、浮点运算、图像加速等协处理器。
RAM/ROM,在单片机处理器中,处理器芯片内部一般集成了ROM(只读存储器)和RAM(可读可写存储器)。
处理器内部控制电路,如PLL(锁相环)、复位、DMA(直接存储器存取)、中断控制器、低功耗控制、看门狗等电路。
芯片内部接口电路,如GPIO(通用输入、输出)接口、I2C(双向两线制的串行总线)接口、IIS(音频总线)接口、SPI(串行外设接口)、USB(通用串行总线)接口、LCD(液晶显示)接口、ADC/DAC(模数/数模转换)、UART(通用异步收发器)、IrDA(红外接口)、CAN(控制器局域网络)总线接口、以太网接口、Timer/RTC(定时器/计数器)接口等电路模块。
5.嵌入式处理器分那几类?
它们有何特点?
答:
嵌入式微处理器。
特点:
处理能力强,具有较高的性能,价格也相应较高。
嵌入式微控制器。
特点:
主要用于嵌入式体统工业的主流,跟嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降,可靠性提高。
并且价格低廉,功能优良,拥有的品种和数量最多。
嵌入式DSP处理器。
特点:
DSP处理器是专门用于信号处理方面的处理器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。
SoC片上系统。
特点:
实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块
具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统
绝大部分系统构件在系统内部,系统简洁,减少了系统的体积和功耗,提高了系统的可靠性跟设计生产效率。
6.分析目前市场上常用的几种嵌入式处理器,说明不同嵌入式处理器的各自特点?
答:
目前市场上常用的嵌入式处理器有MCS51单片机,ARM处理器,MIPS处理器,PowerPC处理器,MC68000处理器,X86处理器等。
MCS51的特点是,8位CPU,片内振荡器,4KBROM,128KBRAM,21个特殊功能寄存器,32根I/O总线,片外可寻找范围分别为64KB的外部程序和数据,两个16位的定时/计数器,一个全双工串口接口,中断结构分为两级优先级,5个中断源,适于按位逻辑运算的处理器。
ARM处理器的特点是,体积小,功耗低,成本低,高性能,支持16/32位双指令集,在全球有众多合作伙伴。
MIPS处理器的特点是,高性能,高档次的处理器,有32位和64位的处理器,简化硬件设计,强调软硬件协同提高性能。
PowerPC处理器特点,具有优异的性能,低能量消耗,低散热量。
MC68000处理器,是一个16/32位的CISC处理器,采用32位总线和寄存器,这个结构对之后的32为产品保持兼容。
X86处理器的特点,可变指令长度的CISC处理器,允许不对齐访问存储器。
7.举例说明嵌入式处理器的性能指标?
并分析对嵌入式系统的影响?
答:
性能指标主要有主频,处理器字长,数据通路速度,运算速度,高速缓存和处理器的系统架构。
主频,执行每条指令的时钟周期数一定,主频越高单位时间内执行的指令越多。
处理器字长,处理器内部数据运算的基本位数,反映的是计算精度,以及单次处理数据的总长度;数据通路速度,读取指令数据传输计算数据的速度越高,处理器性能越好。
运算速度,用MIPS(每秒执行多少百万条指令)表示,MIPS越大,说明运算速度越快;高速缓存,突破主存访问速度的瓶颈,提高处理器的综合性能。
8.简述你对嵌入式操作系统的认识,分析嵌入式操作系统有哪些特点?
答:
嵌入式操作系统EOS是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括软硬件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。
EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等之外,还有以下特点:
可装卸性,开放性、可伸缩性的体系结构。
强实时性,EOS实时性一般较强,可用于各种控制系统中。
统一的接口,提供各种设备驱动接口。
操作方便、简单,提供友好的图形GUI,追求易学易用。
提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。
强稳定性,弱交互性。
固化代码。
更好地硬件适应性,也就是良好的移植性。
9.试分析实时操作系统中可抢占型和不可抢占型有何区别?
并举例说明。
答:
实时操作系统可分为可抢占型和不可抢占型两类。
对于基于优先级的系统而言,可抢占型的实时操作系统是指内核可以抢占正在运行任务的CPU使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了CPU让别的任务运行。
不可抢占型实时操作系统使用某种算法以决定让某个任务运行后,就把CPU的控制权完全交给该任务,直到它主动将CPU控制权还回来。
比如嵌入式操作系统uC/OS,可以根据优先级进行抢占使用CPU,优先级高的任务可以比优先级低的任务优先使用CPU。
10.简述嵌入式系统的开发过程?
答:
嵌入式系统的开发过程可以分为需求分析、建立开发环境、体系结构设计、软件/硬件设计、系统集成和系统优化与测试6个阶段。
如果设计的流程是从需求分析开始,然后是建立开发环境,依次进行,最后是系统优化与测试,那么就叫做自上而下的设计流程;反之就叫做自下而上的设计流程。
所有的嵌入式系统设计不可避免的设计这六个阶段,更重要的是找到一个好的设计方法,目前一种比较好的设计方法是采用计算机辅助设计工具。
11.简述在线仿真器ICE和在线调试器ICD有何区别?
答:
在线仿真器ICE是一种模拟CPU的设备,能执行CPU的全部动作。
采用该方式调试时,利用仿真头代替目标板上的CPU,可以完全仿真CPU的行为。
在线调试器ICD是将CPU的调试功能的引脚引出来,让外部的硬件直接连接到这些引脚上去监控整个CPU的动作。
12.试分析嵌入式系统测试中的纯软件测试过程,举例说明实现方法。
答:
纯软件测试过程是指用工具采用软件打点技术,在被测试代码中加入一些函数,这些函数用来完成数据的生成,并将数据送往目标机系统的共享内存中,同时,在目标机系统中运行一个与处理任务,用于完成这些数据的预处理,然后将处理过的数据通过目标机的串口,网口或者USB口送往宿主机测试平台。
举例,可以在程序中间插入函数,读出当前所有寄存器内容,发送至目标机系统,测试者可以根据这些数据了解系统执行情况。
习题2
1.按照ARM处理器的命名规则,说明ARM7TDMI中T、D、M、I的含义。
答:
T:
支持16位的Thumb指令集;D:
支持JTAG片上调试;M:
支持长乘法操作(64位结果)的ARM指令,包含快速乘法器;I:
带有嵌入式追踪宏单元ETM(EmbeddedTraceMacro),用来设置断点和观察点。
2.什么是哈佛结构?
与普林斯顿结构有何区别?
答:
哈佛结构是一种将程序中指令和数据分开存储的存储器结构。
即哈佛结构中程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
普林斯顿结构(冯·诺伊曼结构)是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。
这便是。
这便是两种结构的区别。
3.什么是RSIC?
什么是CSIC?
简述他们的特点与差别。
答:
RSIC是精简指令集计算机,CISC是复杂指令集计算机。
两者的区别在于不同的CPU设计理念和方法。
对于CISC:
在CSIC结构的指令系统中,各种指令的使用频率相差悬殊。
有80%的指令只在20%的运行时间内才会用到。
CISC结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
在CISC结构指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术来提高系统的性能。
对于RISC:
简化指令集,只保留常用的基本指令;
设计大量的通用存储器,减少访存的次数;
采用装载/保存结构,支持流水线技术,使每个周期时间相等;
采用简单的指令格式、规整的指令字长和简单的寻址方式;
单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。
4.ARM7处理器是几级流水线?
在ARM7处理器中,“PC指向的是下一条要执行的指令”,这句话对吗?
为什么?
答:
ARM7处理器采用三级流水线。
“PC指向的是下一条要执行的指令”,这句话不对。
在ARM处理器中将PC程序计数器定义到R15寄存器,无论处理器处于何种状态,PC总是指向“正在取值”指令的地址,一般来说,人们习惯性的约定将“正在执行的指令作为参考点”,成为当前第一条指令,那么PC总是指向随后的第三条指令,或者说PC总是指向当前正在执行的指令地址再加上2条指令的地址,即指向正在执行指令的下下一条指令,而不是指向下一条要执行的指令。
5.简述ARM处理器中在线仿真器模块EmbeddedICE-RT的作用。
答:
ARM处理器中的在线仿真器模块EmbeddedICE-RT,一般还带有嵌入式宏跟踪单元模块ETM,实现ARM处理器的在线调试和运行过程的跟踪功能;并且具有诸多ICE功能,例如实时寻址、断点、单步、对ARMCPU的完全控制、对ASIC系统其余部分的访问,以及对主机显示器外设访问、键盘输入和磁盘存储。
6.ARM处理器的工作状态分为哪二种?
ARM处理器又是怎么定义和标志的?
答:
ARM处理器的工作状态分为ARM状态和Thumb状态,这两种状态有程序状态字CPSR中T标志位确定,为0时处理器工作在ARM状态,为1时处理器工作在Thumb状态。
7.ARM7TDMI支持哪几种指令集,各有什么特点?
答:
ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令集,两种指令集的特点是:
ARM指令集:
处理器执行32位字对齐方式的ARM指令,每条ARM指令长度为32位,指令的功能强大。
Thumb指令集:
处理器执行16位字对齐方式的Thumb指令,每条Thumb指令长度为16位,是ARM指令功能的子集。
8.ARM7处理器有哪些工作模式?
如何实现不同模式之间的切换?
举例说明。
答:
ARM处理器供支持7种工作模式,分别为:
用户模式(usr);快速中断模式(fiq);外部中断模式(irq);管理模式(svc);数据访问终止模式(abt);系统模式(sys);未定义指令中止模式(und)。
在7中模式中,除用户模式外,其他的6种模式称为特权模式,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。
特权模式下通过修改当前程序状态寄存器CPSR中控制位M[4:
0]的值,来改变处理器的运行模式。
例如
1、MSRCPSR_c,#(NoInt|SVC32Mode)
什么是重映射?
试分析重映射的原理与实现机制。
答:
存储器重映射:
将已经映射过的存储器再次映射的过程称为存储器重映射,它使同一物理存储单元映射多个不同的逻辑地址。
原理:
此时运用了异常向量表重映射技术,就是将BootBlock的0x7FFFE000~0x7FFFE03F,片内SRAM的0x~0x4000003F及片外存储器的0x~0x8000003F向量表分别重映射到0x0000~0x003F地址空间。
实现机制:
使用存储器映射控制机制来改变0x0000~0x003F区间的中断向量映射关系,比如LPC2000提供了一个存储映射控制寄存器MEMMAP,可以被读写,低两位为00、01、10、11时分别重映射BootBlock、片内Flash、片内SRAM和片外存储器。
2、什么是中断?
叙述中断处理过程。
答:
计算机在执行正常程序过程中,当出现某种异常事件或某种外部请求时,处理器就暂停执行当前的程序,而转去执行对异常事件或某种外部请求的处理操作。
当处理完毕后,CPU再返回到被暂停执行的程序,继续执行,这个过程称为中断。
中断处理过程一般包括五个步骤:
中断请求,中断响应,断点保护,中断处理和中断返回。
3、ARM7的中断类型有哪些?
哪种方式最快?
当有多个中断源同时向CPU发出中断申请时,CPU依据什么来进行响应中断?
答:
根据中断源的不同,中断可以分为硬件中断和软件中断。
有三类:
非向量IRQ中断,向量IRQ中断,FIQ中断。
它们的优先级依次升高。
所以FIQ中断的处理速度最快。
当多个中断源同时向CPU发出中断申请时,CPU只能按一定的次序处理相应和处理,这个响应的次序称为中断优先级。
处理原则为:
⑴不同优先级的多个中断源同时发出中断请求,按优先级由高到低依次处理。
⑵低优先级中断正在处理,出现高优先级请求,应转去处理高优先级请求,服务结束后再返回原优先级较低的中断服务程序继续执行。
⑶高优先级中断正在处理,出现低优先级请求,可暂不响应。
⑷中断处理时,出现同级别请求,应在当前中断处理结束以后再处理新的请求。
4、LPC2000系列有那些降低功耗的方法?
简述空闲模式和掉电模式的区别。
答:
降低功耗的方法有空闲模式和掉电模式。
除了采用这两种模式外,还允许程序对某个外设进行关闭控制,可以独立的关闭应用中不需要的外设,这样进一步降低功耗。
空闲模式和掉电模式的区别:
在空闲模式下,处理器停止执行指令,此时处理器,存储器,内部总线以及相关的控制器不再消耗功率,但整个系统的时钟仍然有效,外设也能在空闲模式下继续工作,并可产生中断使处理器恢复运行。
然而在掉电模式下,振荡器关闭,这样芯片内部没有任何时钟。
处理器状态和寄存器,外设寄存器,内部SRAM值以及引脚的逻辑电平在掉电模式下被保持。
5、简述LPC2000系列中PLL的工作原理,说明系统时钟的配置过程。
答:
PLL接受的输入时钟频率范围为10~25MHz,PLL的输出时钟信号是由电流控制振荡器(CCO)分频得到的,CCO的振荡频率由“相位频率检测”部件控制,该部件会比较输出时钟信号和CCO经过M分频后信号的相位和频率,并根据误差输出不同的电流值以控制CCO的振荡频率,CCO的输出频率经过M分频后再送给“相位频率检测”部件检测以控制CCO的振荡频率,经过反复拉锯调节过程,能够使得“相位频率检测”部件的两路输入信号频率和相位逐步接近,渐渐稳定到预期的频率值上。
这种反复拉锯调节过程称为PLL锁定过程,输出频率稳定后即“锁定”成功。
其配置过程:
1.选择处理器的操作频率,选择振荡器的频率,计算M值和P值;
2.配置PLLCON使能但不连接的PLL的模式,根据P和M的值配置PLLCFG寄存器,发送PLL馈送序列,然后等待PLL锁定或中断;
3.连接PLL,发送PLL馈送序列。
6、简述LPC2000系列芯片内部向量中断控制器(VIC)的功能特点,如果定时器0作为一个向量中断源,需要对VIC进行哪些配置?
简述向量处理过程。
答:
向量中断控制器(VIC)负责管理芯片的中断源,最多可管理32个中断输入请求,16个向量IRQ中断和1个非向量中断,16个优先级可动态分配给中断请求,可产生软中断。
VIC为每一个中断分配中断通道号,通道号就是每一种中断源的唯一标识,中断到来时,根据VIC通道号就能确定中断源。
1.配置中断选择寄存器VICIntSelect,中断通道4分配为IRQ中断;
2.配置寄存器VICVectAddr0,确定定时器0中断的服务程序地址;
3.配置寄存器VICVectCntl0,向量IRQ通道0控制寄存器位分配位数值;
4.配置中断时能寄存器,使能中断。
7、FIQ、IRQ有什么不同?
向量IRQ和非向量IRQ有什么不同?
答:
快速中断请求FIQ要求具有最高优先级。
向量IRQ具有中等优先级,该级别可分配32个请求中的16个,32个请求中的任意一个都可分配到16个向量IRQslot中的任意一个,其中slot()具有最高优先级,而slot15则为最低优先级。
非向量IRQ的优先级最低。
习题6
1.简述LPC2000系列芯片的引脚设置寄存器PINSEL0、PINSEL1、PINSEL2的具体功能。
答:
这三个寄存器的主要功能是实现对引脚的功能选择。
具体来说PINSEL0和PINSEL1可以配置P0口~的功能,PINSEL2寄存器用来配置~引脚的功能。
PINSELx的连个比特位可配置一个引脚的功能,比如以PINSEL[1:
0]两个比特位的00、01、10可以配置为GPIO、TxD(UART0)、PWM1,11保留。
2.简要描述LPC2000系列芯片内部GPIO的功能特点?
举例说明GPIO输入和输出的应用。
答:
GPIO(GeneralPurposeInput/Outputports,通用输入输出接口)是用于二进制数据的输入和输出。
芯片的某个引脚通过MUX1功能选择,对应PINSELx寄存器选择器功能。
如果选择该引脚为GPIO那,再经MUX2中的IOxDIR对应位选择控制管脚的输入和输出方向,GPIO管脚为输入时通过IOxPIN寄存器读入,GPIO为输出时通过IOxSET和IOxCLR寄存器控制输出,实现对对应GPIO管脚的控制。
当引脚设置为GPIO输出模式时,使用IOxSET寄存器设置其从引脚输出高电平,向某位写入1是对应引脚输出高电平,写入0无效;使用IOxCLR寄存器设置从引脚输出低电平,向某位写入0是对应引脚输出低电平。
GPIO输入用于向ARM核中读入数据,GPIO输出用于输出数据。
3.LPC2000系列芯片外部中断有几种触发方式?
【例】中外部中断修改为EINT1,输出控制LED,试编程实现。
答:
外部中断有两类四种触发方式:
边沿触发(上升沿触发或者下降沿触发),电平触发(高电平触发或低电平触发)。
编程实现的代码如下:
#include""
#difineLED1<<5//设置控制LED,高电平LED点亮
void__irqURQ_Eint1(void)
{
uint32i;
i=IO0SET;//读取LED控制值
if((i&LED)==0)
IO0SET=LED;//点亮LED
else
IO0CLR=LED;//熄灭LED
WHILE((EXTINT&0x02)!
=0)//等待EINT1恢复为高电平
{
EXTINT=0x02;//清除EINT1中断标志
}
VICVectAddr=0;//向量中断结束
}
intmain(void)
{
PINSEL0=0x000000C0;//设置为EINT0
IO0DIR=LED;//设置引脚为输出
EXTMODE=0x00;//设置EINT1为电平触发
EXTPOLAR=0x00;//极性寄存器-低电平有效
IO0CLR=LED;//设置LED初态为熄灭
VICIntSelect=0x00000000;//设置中断类型为IRQ中断
VICDefVECAddr=(int)IRQ_Eint1;//装载中断服务程序地址
EXTINT=0x02;//清除EINT1中断标志
VICIntEnable=1<<15//使能EINT1
while
(1);//等待中断
return0;
}
4.简述LPC2000系列芯片内部定时器的内部由哪些模块构成?
各模块完成功能是什么?
答:
定时器内部由三部分组成:
分频与计数模块、匹配控制模块和捕获控制模块。
分频计数模块:
属于基本模块,提供每个定时器捕获匹配的基本时钟,属于定时器的公共部分,可对外部接入时钟进行预分频。
匹配控制模块:
比较器随时进行MR0~MR3与TC的匹配,当TC计数值与某一MRx的预置值相等时即执行MCR编程的功能。
捕获控制模块:
外部触发捕获时,将当前TC值装在如CRx中。
5.采用匹配中断输出产生周期为1秒的方波。
答:
#include“”
intmain(void)
{
PINSEL0=PINSEL0&(~(3<<10))|(2<<10);
T0CTCR=0x00;
T0TC=0;
T0PR=199;
T0MCR=0x02<<3;
T0MR1=Fpclk/200;
T0EMR|=0xC2;
T0TCR=0x01;
while
(1);
return0;
}
6.通过一个定时器中断控制多个输出接口控制LED灯分别以、和1S频率同时闪烁,假设这三种灯分别连接、和,试编程实现上述功能。
答:
程序如下:
#include“”
#defineled11<<1//控制led1,低电平点亮
#defineled21<<2//控制led2,低电平点亮
#defineled31<<3//
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统开发 李宥谋 答案 嵌入式 系统 开发