单片机嵌入式系统原理及应用答案
【篇一:嵌入式系统原理复习题及答案】
>1、 嵌入式系统的概念
广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。如各类单片机和dsp系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于他们没有操作系统,管理系统硬件和软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现。
从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的嵌入式系统。本书所谓的嵌入式系统是指狭义上的嵌入式系统。
根据ieee(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2、 嵌入式系统的特点 1) 系统内核小 2) 专用性强
3) 运行环境差异大 4) 可靠性要求高
5) 系统精简和高实时性操作系统
6) 具有固化在非易失性存储器中的代码 7) 无自举开发能力
3、 嵌入式系统的硬件平台由哪些部分组成
嵌入式系统的微硬件包括嵌入式核心芯片、存储器系统及外部接口 4、 什么是分时系统、软实时系统、硬实时系统,它们的区别是什么?
分时操作系统按照相等的时间片调度进程轮流运行,分时操作系统由调度程序自动计算进程的优先级,而不是由用户控制进程的优先级。这样的系统无法实时响应外部异步事件。 硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时
错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。
软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,仅仅是轻微的降低了系统的吞吐量。 5、 嵌入式系统的分类
按嵌入式微处理器的位数分类 a) 4位 b) 8位 c) 16位 d) 32位 e) 64位
按软件实时性需求分类 a) 非实时系统 b) 软实时系统 c) 硬实时系统
按嵌入系统的复杂程度分类 b) 小型嵌入式系统 c) 中型嵌入式系统 d) 复杂嵌入式系统
6、 arm9处理器的工作状态有哪些 arm状态,thumb状态
7、 arm9处理器的内部寄存器结构
arm处理器总共有37个寄存器,可以分为以下两类寄存器 : 1) 31个通用寄存器 : r0~r15;
r13_svc、r14_svc; r13_abt、r14_abt; r13_und、r14_und; r13_irq、r14_irq; r8_frq-r14_frq。 2)6个状态寄存器
cpsr;spsr_svc、spsr_abt、spsr_und、spsr_irq和spsr_fiq 。 8、 arm9处理器的工作模式有哪些
用户,fiq,irq,svc,中止,未定义,系统 9、 cpsr寄存器各数据位的作用
cpsr包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。
10、 如何实现arm状态和thumb状态的切换 arm处理器在两种工作状态之间切换方法: 进入thumb状态:
当操作数寄存器rm的状态位bit[0]为1时,执行bx rm指令进入thumb状态。如果处理器在thumb状态进入异常,则当异常处理(irq,fiq,undef,abort和swi)返回时,自动切换到thumb状态。
进入arm状态:
当操作数寄存器rm的状态位bit[0]为0时,执行bx rm指令进入arm状态。如果处理器进行异常处理(irq,fiq,undef,abort和swi),在此情况下,把pc放入异常模式链接寄存器lr中,从异常向量地址开始执行也可以进入arm状态。
11、 arm为何集成了32位的arm指令集和16位的thumb指令集
arm的risc体系结构的发展中已经提供了低功耗、小体积、高性能的方案。而为了解决代码长度的问题,arm体系结构又增加了T变种,开发了一种新的指令体系,这就是thumb指令集。它有从标准32位arm指令集抽出来的36条指令格式,可以重新编成16 位的操作码。这能带来很高的代码密度。
12、 arm指令寻址方式与arm指令集中各类常用指令的用法 (内容太多,第三章全部内容!)
13、 什么是交叉编译,为什么要进行交叉编译
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,这个编译过程就叫交叉编译。
原因:有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。 14、 1) 2) 3) 4) 5)