分享
分销 收藏 举报 申诉 / 66
播放页_导航下方通栏广告

类型嵌入式系统设计大学教程习题与解答样本.doc

  • 上传人:a199****6536
  • 文档编号:9266612
  • 上传时间:2025-03-19
  • 格式:DOC
  • 页数:66
  • 大小:367KB
  • 下载积分:14 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    嵌入式 系统 设计 大学 教程 习题 解答 样本
    资源描述:
    资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 嵌入式系统设计大学教程习题与解答 第1章 嵌入式系统设计基本概念( 绪论) 1、 嵌入式系统的定义是什么? 你是如何理解嵌入式系统的? ( P3) 答: 嵌入式系统一般定义为以应用为中心、 以计算机技术为基础, 软硬件可裁剪, 应用系统对功能、 可靠性、 成本、 体积、 功耗和应用环境有特殊要求的专用计算机系统。一个嵌入式系统就是一个硬件和软件的集合体, 它包括硬件和软件两部分。其中硬件包括嵌入式处理器/控制器/数字信号处理器( DSP) 、 存储器及外设器件、 输入输出( I/O) 端口、 图形控制器等; 软件部分包括操作系统软件( 嵌入式操作系统) 和应用程序( 应用软件) , 由于应用领域不同, 应用程序千差万别。 2、 列出并说明嵌入式系统不同于其它计算机系统的主要特征。( P3~P4) 答: 主要特征有: · 系统内核小: 由于嵌入式系统一般是应用于小型电子装置, 系统资源相对有限, 因此内核较传统的操作系统要小得多。 · 专用性强: 嵌入式系统一般是面向特定任务的, 个性化很强, 其中软件系统和硬件的结合非常紧密, 一般要针对硬件进行软件系统的移植。 · 运行环境差异大: 嵌入式系统使用范围极为广泛, 其运行环境差异很大。 · 可靠性要求高: 嵌入式系统往往要长期在无人值守的环境下运行, 甚至是常年运行, 因此对可靠性的要求特别高。 · 系统精简和高实时性操作系统: · 具有固化在非易失性存储器中的代码: 为了系统的初始化, 几乎所有系统都要在非易失性存储器中存放部分代码( 启动代码) 。为了提高执行速度和系统可靠性, 大多数嵌入式系统常常把所有代码( 或者其压缩代码) 固化, 存放在存储器芯片或处理器的内部存储器件中, 而不使用外部存储介质。 · 嵌入式系统开发工作和环境: 嵌入式系统开发需要专门的开发工具和环境。 3、 简述嵌入式系统的体系结构。( P5) 答: 嵌入式系统自底向上包含四个部分: 硬件平台、 嵌入式实时操作系统( RTOS) 、 硬件抽象层( HAL) 和嵌入式实时应用程序。硬件抽象层位于操作系统和硬件之间, 包含了系统中与硬件相关的大部分功能。屏蔽了底层硬件的多样性, 操作系统不再直接面对具体的硬件环境, 而是面向由这个中间层次所代表的、 逻辑上的硬件环境。 4、 嵌入式系统是怎样分类的? ( P8) 答: 根据不同的分类标准, 嵌入式系统有不同的分类方法。按嵌入式微处理器的位数分类: 嵌入式系统可分为4位、 8位、 16位、 32位和64位等; 按软件实时性需求分类: 可分为非实时系统( 如PDA) 、 软实时系统( 如消费类产品) 和硬实时系统( 如工业实时控制系统) 。按嵌入式系统的复杂程度分类: 嵌入式系统可分为小型嵌入式系统、 中型嵌入式系统和复杂嵌入式系统。 5、 什么是实时操作系统, 其主要功能是什么? ( P8) 答: 实时多任务操作系统( Real Time multi-tasking Operation System, RTOS) 简称实时操作系统, 主要用来完成嵌入式实时应用的任务调度和控制等核心功能。这些功能是经过内核服务函数形式交给用户调用的, 也就是RTOS的系统调用, 或者叫做RTOS的API。 6、 在日常生活中, 你接触过哪些嵌入式产品? 她们都有些什么功能? ( P9~P10) 答: [略] 第2章 嵌入式系统设计基本概念 1、 嵌入式系统的硬件由哪几个部分组成? ( P12~13) 答: 嵌入式系统的硬件系统是由嵌入式处理器、 存储器、 I/O接口电路、 通信模块以及其它外部设备组成的。其核心是嵌入式处理器。 存储器是构成嵌入式系统硬件的重要组成部分。 嵌入式处理器工作时, 必须有附属电路支持, 如时钟电路、 复位电路、 调试电路、 监视定时器、 中断控制电路等, 这些电路并不完成数据的输入/输出功能, 而是为嵌入式处理器的工作提供必要的条件。嵌入式处理器与通用处理器的最大区别在于嵌入式处理器集成了大量的不同功能的I/O模块。用户在开发嵌入式系统时, 能够根据系统需求选择合适的嵌入式处理器, 而无需再另外配备I/O电路。 另外, 嵌入式系统一般还包括人机交互界面, 用于系统与用户的交互。人机界面常常使用键盘、 液晶屏、 触摸屏等部件, 以方便与用户的交互操作。 2、 通用处理器与嵌入式处理器有哪些相同和不同的地方? ( P13) 答: 嵌入式微处理器一般具备四个特点: · 对实时和多任务有很强的支持能力, 能完成多任务而且有较短的中断响应时间, 从而使内部的代码和实时操作系统的执行时间减少到最低限度; · 具有功能很强的存储区保护功能, 这是由于嵌入式系统的软件结构已模块化, 而为了避免在软件模块之间出现错误的交叉作用, 需要设计强大的存储区保护功能, 同时也有利于软件诊断; · 可扩展的处理器结构, 以能迅速地扩展出满足应用的高性能的嵌入式微处理器; · 嵌入式处理器的功耗必须很低, 特别是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此, 功耗只能为mW甚至μW级。 嵌入式处理器与通用处理器的最大区别在于嵌入式处理器集成了大量的不同功能的I/O模块。用户在开发嵌入式系统时, 能够根据系统需求选择合适的嵌入式处理器, 而无需再另外配备I/O电路。 3、 常见的嵌入式处理器一般分成哪几大类? ( P13) 答: 嵌入式系统中的处理器一般分为三大类, 即微处理器( Micro-Processor Unit, MPU) 、 微控制器( Micro-Controller Unit, MCU) 和数字信号处理器( DSP) 。微处理器是指功能较强大的CPU, 它不是为任何特定的计算目标而设计的。因此这种芯片一般见于个人计算机与服务器。微控制器是针对嵌入式系统而设计的, 它将CPU、 存储器以及其它外设都集成在同一片电路板上。数字信号处理器( DSP) 中的CPU是针对快速离散时间信号处理计算的。因此, DSP非常适用于音频及视频通信。现代的芯片生产工艺已经允许将重要处理器的内核和各种外围的芯片器件整合在一起, 以进一步降低功耗, 达到专用的需求, 这时, 便出现了片上系统SoC( System On Chip) 。 4、 什么是嵌入式外围设备? 简要说明嵌入式外围设备是如何分类的。( P22~23) 答: 5、 嵌入式操作系统的发展经历了哪几个阶段? ( P28) 答: 嵌入式操作系统伴随着嵌入式系统的发展, 大致经历了四个阶段: 第一阶段: 无操作系统的嵌入算法阶段, 以单芯片为核心的可编程控制器形式的系统, 具有与监测、 伺服、 指示设备相配合的功能。 第二阶段: 以嵌人式CPU为基础、 简单操作系统为核心的嵌入式系统。由于CPU种类繁多, 因此通用性比较差; 系统开销小, 效率高; 具有一定的兼容性和扩展性; 系统主要用来控制系统负载以及监控应用程序运行。 第三阶段: 通用的嵌入式实时操作系统阶段。以嵌入式操作系统为核心的嵌入式系统, 能运行于各种类型的微处理器上, 兼容性好; 内核精小、 效率高, 具有高度的模块化和扩展性; 具备文件和目录管理、 设备支持、 多任务、 网络支持、 图形窗口以及用户界面等功能; 具有大量的应用程序接口( APl) ; 嵌入式应用软件丰富。 第四阶段: 以基于Internet为标志的嵌入式系统。这是一个正在迅速发展的阶段。嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。 6、 现阶段常见的操作系统有哪些? 经过调研, 指出几种常见的嵌入式操作系统的特点是什么? 常见在什么场合? ( P28~29) 答: 常见的嵌入式RTOS分三大类: 商用系统、 专用系统和开放系统。商品化的嵌入式实时操作系统, 主要有WindRiver的Vxworks和pSOS+, 3Com的Palm OS以及Microsoft的Windows CE等。专用操作系统功能相对较弱, 但针对性强, 其安全可靠性大都超过普通商用系统, 如应用于手机的嵌入式操作系统SymbianOS。开放系统的典型代表是嵌入式Linux和mC/OS-Ⅱ。 7、 嵌入式操作系统的主要任务有哪些? ( P28) 答: 嵌入式操作系统一般包括与硬件相关的底层驱动软件、 系统内核、 设备驱动接口、 通信协议、 图形界面、 标准化浏览器等。 嵌入式操作系统具有通用操作系统的基本特点, 如能够有效管理越来越复杂的系统资源; 能够把硬件虚拟化, 使得开发人员从繁忙的驱动程序移植和维护中解脱出来; 能够提供库函数、 驱动程序、 工具集以及应用程序。 8、 嵌入式系统的基本设计过程包括哪几个阶段? 每一个阶段的主要工作有哪些? ( P33) 答: 以自顶向下的角度来看, 系统设计包括五个阶段, 从系统需求分析开始; 第二步是规格说明, 在这一步, 我们对需设计的系统功能进行更细致地描述, 这些描述并不涉及系统的组成; 第三步是系统结构设计, 在这一阶段以大的构件为单位设计系统内部详细构造, 明确软、 硬件功能的划分; 第四步是构件设计, 它包括系统程序模块设计、 专用硬件芯片选择及硬件电路设计; 第五步是系统集成, 在完成了所有构件设计的基础上进行系统集成, 构造出所需的完整系统。 9、 需求分析阶段细分为哪几个步骤? 每个步骤完成什么工作? ( P34~35) 答: 需求分析阶段可细分为四个阶段: 1、 需求与规格说明: 经过与客户进行交流, 了解用户的意图, 明确客户需求, 整理成正式的规格说明, 这些规格说明里包含了进行系统体系结构设计所需要的足够信息。 2、 确认需求: 确认这一系列的需求不但需要理解什么是用户需要的, 而且需要理解她们是如何表示这些需求的。 3、 简单的需求表格: 将复杂而费时的工作用相对少量的格式清晰、 简单的需求表格来表示, 在考虑系统基本特征时能够将这个表格作为检查表。 4、 需求的内部一致性: 在写完需求分析以后, 应该对它们的内部一致性进行检查。 10、 试经过各种渠道调查当前市场上主要有哪些嵌入式系统开发平台, 它们各自有什么特点。 答: [略] 第3章 ARM体系结构及基于ARM9处理器的嵌入式系统硬件平台OMAP5912 1、 试比较RISC和CISC体系结构的异同, 为什么ARM内核要采用RISC体系结构? ( P47) 答: ARM体系结构总的设计思路是在不牺牲性能的同时尽可能简化处理器。同时从体系结构的层面上支持灵活的处理器扩展。这种简化和开放的思路使ARM处理器采用了很简单的结构——精简指令集计算机( Reduced Instruction Set Computer, RISC) 体系结构来进行实现。 传统的复杂指令集计算机( Complex Instruction Set Computer, CISC) 结构有其固有的缺点, 即随着计算机技术的发展而不断引入新的复杂的指令集, 为支持这些新增的指令, 计算机的体系结构会越来越复杂, 然而, 在CISC指令集的各种指令中, 其使用频率却相差悬殊, 大约有20%的指令会被重复使用, 占整个程序代码的80%。而余下的80%的指令却不经常使用, 在程序设计中只占20%, 显然, 这种结构是不太合理的。 基于以上的不合理性, 1979年美国加州大学伯克利分校提出了RISC的概念。 RISC并非只是简单地去减少指令。RISC是一种设计思想, 其目标是设计出一套能在高时钟频率下单周期执行、 简单而有效的指令集。RISC的设计重点在于降低由硬件执行的指令的复杂度, 因为软件比硬件容易提供更大的灵活性和更高的智能。因此, RICS设计对编译器有更高的要求; 相反, 传统的CISC则更侧重于硬件执行指令的功能性, 使CISC指令变得更复杂。 2、 简述ARM的设计思想及其与单纯的RISC定义的不同。( P48~49) 答: ARM内核并不是一个纯粹的RISC体系结构, 这是为了使它能够更好地适应其主要应用领域——嵌入式系统。为了使ARM指令集能够更好地满足嵌入式应用的需要, ARM指令集和单纯的RISC定义有以下几个方面的不同: · 一些特定的指令周期数可变——并不是所有的ARM指令都是单周期的。例如: 多寄存器装载/存储的Load/Store指令的执行周期就是不确定的, 必须根据被传送的寄存器个数来定。如果是访问连续的存储器地址, 就能够改进性能, 因为连续的内存访问一般比随机访问要快; 同时, 代码密度也得到了提高, 因为在函数的起始和结尾, 多个寄存器的传输是很常见的操作。 · 内嵌桶形移位器产生了更为复杂的指令——内嵌桶形移位器是一个硬件部件, 在一个输入寄存器被一条指令使用之前, 内嵌桶形移位器能够处理该寄存器中的数据。它扩展了许多指令的功能, 以此改进了内核性能, 提高了代码密度。 · Thumb 16位指令集——ARM内核增加了一套称之为Thumb指令的16位指令集, 使得内核既能够执行16位指令, 也能够执行32位指令, 从而增强了ARM内核的功能。16位指令与32位的定长指令相比较, 代码密度能够提高约30%。 · 条件执行——只有当某个特定条件满足时指令才会被执行。这个特性能够减少分支指令的数目, 从而改进性能, 提高代码密度。 3、 ARM体系结构发展过程中, 主要有哪些变种, 对各变种做简要介绍。( P49~50) 答: 我们将在ARM体系中增加的某些特定功能称为ARM体系的某种变种( variant) , 下面介绍ARM体系的一些变种形式。 ( 1) Thumb指令集( T变种) Thumb指令集是将ARM指令集的一个子集重新编码而形成的一个指令集。ARM指令长度为32位, Thumb指令长度为16位。这样, 使用Thumb指令集能够得到密度更高的代码, 这对于需要严格控制产品成本的设计非常有意义。 ( 2) 长乘法指令( M变种) M变种增加了两条用于进行长乘法操作的ARM指令: 其中一条指令用于实现32位整数乘以32位整数, 生成64位整数的长乘法操作, 另一条指令用于实现32位整数乘以32位整数, 然后再加上32位整数, 生成64位整数的长乘加操作。 ( 3) 增强型DSP指令( E变种) E变种包含了一些附加的指令, 这些指令用于增强处理器对一些典型DSP算法的处理性能, 主要包括: 几条新的实现16位数据乘法和乘加操作的指令, 实现饱和的带符号数的加减法操作的指令。 ( 4) Java加速器Jazelle( J变种) ARM的Jazelle技术将Java的优势和先进的32位RISC芯片完美地结合在一起。Jazelle技术提供了Java加速功能, 能够得到比普通Java虚拟机高得多的性能。与普通的Java虚拟机相比, Jazelle使Java代码运行速度提高了3倍, 而功耗降低了80%。 Jazelle技术使得程序员能够在一个单独的处理器上同时运行Java应用程序、 已经建立好的操作系统、 中间件以及其它应用程序。与使用协处理器和双处理器相比, 使用单独的处理器能够在提供高性能的同时, 保证低功耗和低成本。 ( 5) ARM媒体功能扩展( SIMD变种) SIMD变种的主要特点是: 能够同时进行两个16位操作数或者4个8位操作数的运算, 提供了小数算术运算, 用户能够定义饱和运算的模式, 两套16位操作数的乘加/乘减运算, 32位乘以32位的小数MAC, 同时8位/16位选择操作。 4、 ARM体系结构版本的命名规则有哪些? 简单说明ARM7TDMI的含义。( P50) 答: ARM产品一般以ARM[x][y][z][T][D][M][I][E][J][F][-S]形式出现。ARM体系结构的命令规则中这些后缀的具体含义见表3-2。ARM7TDMI的含义即ARM7内核, 增加了Thumb指令集( T变种) 、 JTAG调试器、 长乘法指令( M变种) 和嵌入式跟踪宏单元的功能。 5、 列举当前常见的ARM微处理器的型号及功能特点。( P51~53) 答: ARM微处理器当前包括下面几个系列, 以及其它厂商基于ARM体系结构的处理器, 除了具有ARM体系结构的共同特点以外, 每一个系列的ARM微处理器都有各自的特点和应用领域。 · ARM7系列 · ARM9系列 · ARM9E系列 · ARM10E系列 · ARM11系列 · SecurCore系列 · Inter的Xscale · Inter的StrongARM 其中, ARM7、 ARM9、 ARM9E和ARM10E为4个通用处理器系列, 每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。 6、 比较ARM9与ARM7处理器的性能特点, 试说明它们有何异同。( P55~56) 答: ARM7提供了非常好的性能-功耗比, 它包含了Thumb指令集快速乘法指令和ICE调试技术的内核。ARM9处理器经过全新的设计, 采用了更多的晶体管, 能够达到两倍以上于ARM7处理器的处理能力。ARM7内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼结构, 而ARM9内核是5级流水线, 提供1.1MIPS/MHz的哈佛结构。 从ARM7到ARM9的性能提升还来源于存储器读写指令——load和store, 以及互锁技术的应用。 7、 简单介绍OMAP5912微处理器的特点和功能。( P59~60) 答: OMAP5912处理器是OMAP1510系列的一个分支, 是由TI应用最为广泛的TMS320C55X DSP内核与低功耗、 高性能的ARM926EJ-S微处理器组成的双核应用处理器, 这两个内核经过一种专用的处理器内部通信机制相连接。OMAP5912的结构如图3-10所示。C55x系列可提供对低功耗应用的实时多媒体处理的支持; ARM926可满足控制和接口方面的处理需要。基于双核结构, OMAP5912具有极强的运算能力和极低的功耗, 一方面, 产品性能高、 省电; 另一方面, 同其它OMAP处理器一样, 采用开放式、 易于开发的软件设施, 支持广泛的操作系统, 如Linux、 Windows、 WinCE、 Nucleus、 Palm OS、 VxWorks等。能够经过API及用户熟悉且易于使用的工具优化其应用程序。 OMAP5912处理器的目标应用是: · 需要密集信号处理的设备 · 通讯终端 · WAN 802.11X · BlueTooth · GSM, GPRS, EDGE · CDMA · 视频和图像处理( MPEG4, JPEG, Windows Media Video, etc.) · 高级语言处理应用( text-to-speech, speech recognition) · 音频处理( MPEG-1 Audio Layer3 [MP3], AMR, WMA, AAC, 及其它GSM Speech Codecs) · 图形和视频加速 · 数据处理 8、 常见的OMAP5912开发工具有哪些? ( P60~61) 答: 常见的OMAP5912开发工具有: ( 1) OMAP5912 Starter Kit ( OSK) Omap5912基本板, 提供了完成设计与测试过程所需的所有软件, 这包括一系列主板专用库、 芯片专用库以及一套针对OMAP5912 Linux内核的Linux开发工具。 ( 2) MU-Q-VGA LCD Module for OMAP5912 OSK的LCD扩充套件, 提供了LCD触摸屏。 ( 3) Accelerator Program for OMAP5912 针对omap5912OSK的Linux和WinCE 4.2 BSP和驱动程序软件包, 方便易用, 支持很多设备和扩展模块, 如LCD、 USB Client & Host、 键盘、 触摸屏、 以太网、 串口等设备。 ( 4) RAPID DEVELOPMENT KIT ( RDK) omap5912 OSK无线模块扩充套件。 ( 5) Portable Data Terminal Reference Design 基于omap5912的便携式数据终端( PDT) 参考设计, 一个完整的多媒体智能手机设计案例。相关应用包括导航、 游戏、 学习辅助、 通话、 娱乐等等。 …… 第4章 ARM微处理器的编程模型与指令系统 1、 ARM微处理器有哪几种运行模式? 其中哪些是特权模式, 哪些又是异常模式? ( P64) 答: ARM微处理器支持7种运行模式, 分别为: 用户模式; 快速中断模式; 外部中断模式; 管理模式; 数据访问终止模式; 系统模式; 未定义指令中止模式。除用户模式以外, 其余的所有6种模式称之为非用户模式, 或特权模式( Privileged Modes) ; 而除去用户模式和系统模式以外的5种又称为异常模式( Exception Modes) , 常见于处理中断或异常。 2、 ARM体系结构的存储器格式有哪几种? ( P64~65) 答: ARM体系结构能够用两种方法存储字数据, 称之为大端格式( big-endian) 和小端格式( little-endian) 。大端格式: 字数据的高字节存储在低地址中, 而字数据的低字节则存放在高地址中; 小端格式: 低地址中存放的是字数据的低字节, 高地址存放的是字数据的高字节。 3、 ARM状态下和Thumb状态下寄存器的组织有何不同? ( P69~70) 答: Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集, 程序能够直接访问8个通用寄存器( R7~R0) 、 程序计数器( PC) 、 堆栈指针( SP) 、 连接寄存器( LR) 和CPSR。同时, 在每一种特权模式下都有一组SP、 LR和SPSR。在Thumb状态下, 高位寄存器R8~R15并不是标准寄存器集的一部分, 但可使用汇编语言程序受限制的访问这些寄存器, 将其用作快速的暂存器。 4、 简述CPSR各状态位的作用, 并说明如何对其进行操作, 以改变各状态位。( P67~68) 答: CPSR可在任何运行模式下被访问, 它包含条件码标志位、 中断禁止位、 当前处理器模式标志位, 以及其它一些相关的控制和状态位。 条件码标志位: · N( Negative) 当用两个补码表示的带符号数进行运算时, N=1表示运算的结果为负数; N=0 表示运算的结果为正数或零; · Z( Zero) Z=1 表示运算的结果为零; Z=0表示运算的结果为非零; · C( Carry) 能够有4种方法设置C的值: ① 加法运算( 包括比较指令CMN) : 当运算结果产生了进位时( 无符号数溢出) , C=1, 否则C=0。② 减法运算( 包括比较指令CMP) : 当运算时产生了借位( 无符号数溢出) , C=0, 否则C=1。③ 对于包含移位操作的非加/减运算指令, C为移出值的最后一位。④ 对于其它的非加/减运算指令, C的值一般不改变。 · V( OVerflow) 能够有2种方法设置V的值: ① 对于加/减法运算指令, 当操作数和运算结果为二进制的补码表示的带符号数时, V=1表示符号位溢出。② 对于其它的非加/减运算指令, V的值一般不改变。 CPSR的低8位( 包括I、 F、 T和M[4: 0]) 称为控制位, 当发生异常时这些位能够被改变。如果处理器运行特权模式, 这些位也能够由程序修改。 状态寄存器( PSR) 中的其余位为保留位, 当改变PSR中的条件码标志位或者控制位时, 保留位不要被改变, 在程序中也不要使用保留位来存储数据。保留位将用于ARM版本的扩展。 5、 ARM体系结构所支持的异常类型有哪些? 具体描述各类异常, 在应用程序中应该如何处理? ( P70~71) 答: ARM体系结构所支持的异常类型有复位、 未定义指令、 软件中断、 指令预取中止、 数据中止、 外部中断请求、 快速中断请求。具体地: · 当处理器的复位电平有效时, 产生复位异常, 程序跳转到复位异常处理程序处执行; · 当ARM处理器或协处理器遇到不能处理的指令时, 产生未定义指令异常。可使用该异常机制进行软件仿真; · 软件中断异常由执行SWI指令产生, 可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用; · 若处理器预取指令的地址不存在, 或该地址不允许当前指令访问, 存储器会向处理器发出中止信号, 但当预取的指令被执行时, 才会产生指令预取中止异常; · 若处理器数据访问指令的地址不存在, 或该地址不允许当前指令访问时, 产生数据中止异常; · 当处理器的外部中断请求引脚有效, 且CPSR中的I位为0时, 产生IRQ异常。系统的外设可经过该异常请求中断服务; · 当处理器的快速中断请求引脚有效, 且CPSR中的F位为0时, 产生FIQ异常。 6、 ARM指令有哪几种寻址方式? 试分别叙述其各自的特点并举例说明。( P77) 答: ARM指令系统支持的基本寻址方式有7种: 立即数寻址、 寄存器寻址、 寄存器间接寻址、 基址变址寻址、 多寄存器寻址、 堆栈寻址、 相对寻址。她们的特点分别是: · 立即数寻址: 操作数本身就在指令中给出。如: ADD R0, R0, #0x3f · 寄存器寻址: 指令中地址码给出的是寄存器编号。如: ADD R0, R1, R2 · 寄存器间接寻址: 寄存器中的值作为操作数的地址, 操作数本身存放在存储器中。如: ADD R0, R1, [R2] · 基址变址寻址: 将寄存器的内容与指令中给出的地址偏移量相加, 从而得到一个操作数的有效地址, 用于访问基址附近的存储器单元。如: LDR R0, [R1, #4] · 多寄存器寻址: 块拷贝寻址。如: LDMIA R0, {R1, R2, R3, R4} · 堆栈寻址: 用堆栈作为地址。如: STMFD SP! {R1-R7, LR} · 相对寻址: 以程序计数器PC的当前值为基地址, 指令中的地址标号作为偏移量, 将两者相加之后得到操作数的有效地址。如: BL NEXT 7、 简述ARM指令集的分类。( P81) 答: ARM指令集总体分为六大类: 数据处理指令、 程序状态寄存器访问指令、 Load/Store指令、 跳转指令( 转移指令) 、 异常中断指令、 协处理器指令。 8、 假设R0的内容为0x8000, 寄存器R1、 R2内容分别为0x01和0x10, 存储器内容为空。执行下述指令后, 说明PC如何变化? 存储器及寄存器的内容如何变化? STMIB R0! , {R1, R2} LDMIA R0! , {R1, R2} 答: 略。 9、 如何从ARM指令集跳转到Thumb指令集? ARM指令集中的跳转指令与汇编语言中的跳转指令有什么区别? ( P96) 答: 进入Thumb指令模式有2种方法: 一种是执行一条交换转移指令BX, 将指令中的目标地址寄存器的最低位置1, 并将其它位的值放入程序计数器PC, 则可进入Thumb指令。另一种方法是利用异常返回, 也可把微处理器从ARM模式转换为Thumb模式。在这个过程中, ARM提供了2种机制: 当返回地址保存在当前异常模式的R14( LR) 时, 采用传送指令; 当返回地址保存在堆栈时, 使用多寄存器Load/Store指令。ARM指令集中的跳转指令与汇编语言中的跳转指令的区别是ARM指令集中的跳转指令能够直接向程序计数器PC写入跳转地址值。 10、 ARM指令集支持哪几种协处理器指令? 试分别简述并列举其特点。( P93) 答: ARM协处理器指令包括以下5条, 其特点分别是: · CDP协处理器数操作指令: 用于ARM处理器通知ARM协处理器执行特定的操作, 若协处理器不能成功完成特定的操作, 则产生未定义指令异常。 · LDC协处理器数据加载指令: 用于将源寄存器所指向的存储器中的字数据传送到目的寄存器中, 若协处理器不能成功完成传送操作, 则产生未定义指令异常。 · STC协处理器数据存储指令: 用于将源寄存器中的字数据传送到目的寄存器所指向的存储器中, 若协处理器不能成功完成传送操作, 则产生未定义指令异常。 · MCR处理器寄存器到协处理器寄存器的数据传送指令: 用于将ARM处理器寄存器中的数据传送到协处理器寄存器中, 若协处理器不能成功完成操作, 则产生未定义指令异常。 · MRC协处理器寄存器到ARM处理器寄存器的数据传送指令: 用于将协处理器寄存器中的数据传送到ARM处理器寄存器中, 若协处理器不能成功完成操作, 则产生未定义指令异常。 第5章 嵌入式操作系统 1、 嵌入式操作系统进程的定义是什么? ( P101) 答: 进程是可并发执行的、 具有独立功能的程序在一个数据集合上的运行过程, 是操作系统进行资源分配和保护的基本单位。 2、 一个比较完善的操作系统应当包括哪几个模块? ( P100) 答: 一个比较完善的操作系统应当包括内存管理、 进程管理、 文件管理以及为了充分利用各种资源而设计的调度机制等四个模块。 3、 说明嵌入式操作系统进程调度的几种策略, 并说出不同之处和优缺点。( P105~108) 答: 实时调度方法大致能够划分为以下几类: 离线和在线调度: 对于离线调度算法, 运行过程中使用的调度信息在系统运行之前就确定了。离线调度算法具有确定性, 但缺乏灵活性, 适用于那些特性能够预先确定, 且不容易发生变化的应用。在线调度算法的调度信息则在系统运行过程中动态获得, 在线调度算法在形成最佳调度决策上具有较大的灵活性。 抢占和非抢占调度: 在抢占式调度算法中, 正在运行的任务可能被其它任务所打断, 抢占式调度算法, 使关键任务能够打断非关键任务的执行, 确保关键任务的截止时间能够得到满足, 抢占式调度算法要更复杂些, 且需要更多的资源, 并可能在使用不当的情况下会造成低优先级任务出现长时间得不到执行的情况。非抢占式调度常见于那些任务需要按照预先确定的顺序进行执行, 且只有当任务主动放弃CPU资源后, 其它任务才能得到执行的情况。 静态和动态调度: 在静态调度算法中, 任务的优先级需要在系统运行前进行确定, 且在运行过程中不会发生变化。在动态调度算法中, 任务的优先级可根据需要进行改变, 也可能随着时间按照一定的策略自动发生变化。 4、 嵌入式系统中进程间通信主要采用哪几种形式? ( P110) 答: 嵌入式系统中进程间通信主要采用两种形式: 共享内存和消息传递。二者在逻辑上没有什么区别, 进程通信采用哪种方式, 主要依赖实际需要。进程间通信也能够采用信号和管道的方式。 5、 简述嵌入式操作系统的中断管理和时钟管理模式。( P117-118) 答: 在嵌入式操作系统中, 中断前导和中断后续一般由内核的中断接管程序来实现。硬件中断发生后, 中断接管程序获得控制权, 先由中断接管程序进行处理, 然后才将控制权交给相应的用户中断服务程序。用户中断服务程序执行完成后, 又回到中断接管程序。实时内核一般还提供如下中断管理功能: 挂接中断服务程序、 获得中断服务程序入口地址、 获取中断嵌套层次、 开中断、 关中断。 在实时系统中, 时钟具有非常重要的作用。经过时钟, 应用和内核能够查询当前时间、 定时地完成各项工作、 报警、 有限的等待和睡眠等, 是处理具有时间约束特性应用必不可少的内容。因此, 实时内核都需要提供对时钟进行管理的机制。 时钟管理一般具有以下功能: 维持日历时间, 任务有限等待的计时, 软定时器的定时管理和维持系统时间片轮转调度。 6、 嵌入式操作系统中的内存管理功能有哪些? 并做简要阐述。( P120) 答: 嵌入式操作系统中的内存管理功能有: 1) 虚拟内存空间: 操作系统采用虚拟内存功能使系统显得它有比实际大得多的内存空间, 虚拟内存能够比系统中的物理内存大许多倍。 2) 内存保护: 系统中每个进程有自己的虚拟地址空间, 这些虚拟地址空间相互之间完全分离。因此运行一个应用的进程不会影响其它的进程。同样, 硬件的虚拟内存机制允许内存区域被写保护, 这样保护了代码和数据不被恶意应用重写。 3) 内存映射: 用来把映像和数据文件映像到一个进程的地址空间。在内存映射中, 文件的内容被直接链接到进程的虚拟地址空间。 4) 公平物理内存分配: 内存管理子系统分配给系统中运行的每个进程公平的一份系统物理内存。 5) 共享虚拟内存: 允许进程拥有分隔的虚拟地址空间, 但有时还需要进程共享内存。如进程间通信需要共享内存。 7、 mC/OS-II的主要特点有哪些? 简要说明之。( P121) 答: mC/OS-II的主要特点有: 1) 公开源代码 2) 可移植性( Portable) 绝大部分mC/OS-II的源码是用移植性很强的ANSI C写的。和微处理器硬件相关的那部分是用汇编语言写的。汇编语言写的部分已经压到最低限度, 使得mC/OS-II便于移植到其它微处理器上。mC/OS-II能够在绝大多数8位、 16位、 32位以至64位微处理器、 微控制器、 数字信号处理器( DSP) 上运行。 3) 可固化( Romable) mC/OS-II是为嵌入式应用而设计的, 这就意味着, 只要读者有固化手段( C编译、 连接、 下载和固化) , mC/OS-II能够嵌入到读者的产品中成为产品的一部分。 4) 可裁剪( Scalable) 能够只使用mC/OS-II中应用程序需要的那些系统服务。也就是说某产品能够只使用很少几个mC/OS-II调用, 而另一个产品则使用了几乎所有mC/OS-II的功能, 这样能够减少产品中的mC/OS-II所需的存储器空间( RAM和ROM) 。这种可剪裁性是靠条件编译实现的。 5) 占先式( Preemptive) mC/OS-II是完全占先式的实时内核, mC/OS-II总是运行就绪条件下优先级最高的任务。 6) 多任务 mC/OS-II能够管理64个任务, 当前这一版本保留8个给系统。留给用户的应用程序最多能够有56个任务。赋予每个任务的优先级必须是不相同的, 这意味着mC/OS-II不支持时间片轮转调度法( 常见的非抢占式调度算法) 。 7) 可确定性 全部mC/OS-II的函数调用与服务的执行时间具有可确定性。 8) 任务栈 每个任务有自己单独的栈, mC/OS-II允许每个任务有不同的栈空间, 以便压低应用程序对RAM的需求。 9) 系统服务 mC/OS-II提供很多系统服务, 例如邮箱、 消息队列、 信号量、 块大小固定的内存的申请与释放、 时间相关函数等。 10) 中断管理 中断能够使正在执行的任务暂时挂起, 如果优先级更高的任务被该中断唤醒, 则高优先级
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:嵌入式系统设计大学教程习题与解答样本.doc
    链接地址:https://www.zixin.com.cn/doc/9266612.html
    页脚通栏广告

    Copyright ©2010-2025   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork