收藏 分销(赏)

嵌入式专业系统设计大学教程习题与解答.doc

上传人:w****g 文档编号:2449988 上传时间:2024-05-30 格式:DOC 页数:49 大小:336.54KB
下载 相关 举报
嵌入式专业系统设计大学教程习题与解答.doc_第1页
第1页 / 共49页
嵌入式专业系统设计大学教程习题与解答.doc_第2页
第2页 / 共49页
嵌入式专业系统设计大学教程习题与解答.doc_第3页
第3页 / 共49页
嵌入式专业系统设计大学教程习题与解答.doc_第4页
第4页 / 共49页
嵌入式专业系统设计大学教程习题与解答.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、嵌入式系统设计大学教程习题和解答第1章 嵌入式系统设计基础概念(绪论)1、嵌入式系统定义是什么?你是怎样了解嵌入式系统? (P3) 答:嵌入式系统通常定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功效、可靠性、成本、体积、功耗和应用环境有特殊要求专用计算机系统。一个嵌入式系统就是一个硬件和软件集合体,它包含硬件和软件两部分。其中硬件包含嵌入式处理器/控制器/数字信号处理器(DSP)、存放器及外设器件、输入输出(I/O)端口、图形控制器等;软件部分包含操作系统软件(嵌入式操作系统)和应用程序(应用软件),因为应用领域不一样,应用程序千差万别。2、列出并说明嵌入式系统不一样于其它

2、计算机系统关键特征。(P3P4) 答:关键特征有: 系统内核小:因为嵌入式系统通常是应用于小型电子装置,系统资源相对有限,所以内核较传统操作系统要小得多。 专用性强:嵌入式系统通常是面向特定任务,个性化很强,其中软件系统和硬件结合很紧密,通常要针对硬件进行软件系统移植。 运行环境差异大:嵌入式系统使用范围极为广泛,其运行环境差异很大。 可靠性要求高:嵌入式系统往往要长久在无人值守环境下运行,甚至是常年运行,所以对可靠性要求尤其高。 系统精简和高实时性操作系统: 含有固化在非易失性存放器中代码:为了系统初始化,几乎全部系统全部要在非易失性存放器中存放部分代码(开启代码)。为了提升实施速度和系统可

3、靠性,大多数嵌入式系统常常把全部代码(或其压缩代码)固化,存放在存放器芯片或处理器内部存放器件中,而不使用外部存放介质。 嵌入式系统开发工作和环境:嵌入式系统开发需要专门开发工具和环境。3、简述嵌入式系统体系结构。(P5) 答:嵌入式系统自底向上包含四个部分:硬件平台、嵌入式实时操作系统(RTOS)、硬件抽象层(HAL)和嵌入式实时应用程序。硬件抽象层在操作系统和硬件之间,包含了系统中和硬件相关大部分功效。屏蔽了底层硬件多样性,操作系统不再直接面对具体硬件环境,而是面向由这个中间层次所代表、逻辑上硬件环境。4、嵌入式系统是怎样分类?(P8) 答:依据不一样分类标准,嵌入式系统有不一样分类方法。

4、按嵌入式微处理器位数分类:嵌入式系统可分为4位、8位、16位、32位和64位等;按软件实时性需求分类:可分为非实时系统(如PDA)、软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统)。按嵌入式系统复杂程度分类:嵌入式系统可分为小型嵌入式系统、中型嵌入式系统和复杂嵌入式系统。5、什么是实时操作系统,其关键功效是什么?(P8) 答:实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)简称实时操作系统,关键用来完成嵌入式实时应用任务调度和控制等关键功效。这些功效是经过内核服务函数形式交给用户调用,也就是RTOS系统调用,或叫做RT

5、OSAPI。6、在日常生活中,你接触过哪些嵌入式产品?她们全部有些什么功效?(P9P10) 答:略 第2章 嵌入式系统设计基础概念1、嵌入式系统硬件由哪多个部分组成?(P1213) 答:嵌入式系统硬件系统是由嵌入式处理器、存放器、I/O接口电路、通信模块和其它外部设备组成。其关键是嵌入式处理器。存放器是组成嵌入式系统硬件关键组成部分。嵌入式处理器工作时,必需有隶属电路支持,如时钟电路、复位电路、调试电路、监视定时器、中止控制电路等,这些电路并不完成数据输入/输出功效,而是为嵌入式处理器工作提供必需条件。嵌入式处理器和通用处理器最大区分在于嵌入式处理器集成了大量不一样功效I/O模块。用户在开发嵌

6、入式系统时,能够依据系统需求选择适宜嵌入式处理器,而无需再另外配置I/O电路。另外,嵌入式系统通常还包含人机交互界面,用于系统和用户交互。人机界面常常使用键盘、液晶屏、触摸屏等部件,以方便和用户交互操作。2、通用处理器和嵌入式处理器有哪些相同和不一样地方?(P13) 答:嵌入式微处理器通常含有四个特点: 对实时和多任务有很强支持能力,能完成多任务而且有较短中止响应时间,从而使内部代码和实时操作系统实施时间降低到最低程度; 含有功效很强存放区保护功效,这是因为嵌入式系统软件结构已模块化,而为了避免在软件模块之间出现错误交叉作用,需要设计强大存放区保护功效,同时也有利于软件诊疗; 可扩展处理器结构

7、,以能快速地扩展出满足应用高性能嵌入式微处理器; 嵌入式处理器功耗必需很低,尤其是用于便携式无线及移动计算和通信设备中靠电池供电嵌入式系统更是如此,功耗只能为mW甚至W级。 嵌入式处理器和通用处理器最大区分在于嵌入式处理器集成了大量不一样功效I/O模块。用户在开发嵌入式系统时,能够依据系统需求选择适宜嵌入式处理器,而无需再另外配置I/O电路。3、常见嵌入式处理器通常分成哪几大类?(P13) 答:嵌入式系统中处理器通常分为三大类,即微处理器(Micro-Processor Unit,MPU)、微控制器(Micro-Controller Unit,MCU)和数字信号处理器(DSP)。微处理器是指功

8、效较强大CPU,它不是为任何特定计算目标而设计。所以这种芯片通常见于个人计算机和服务器。微控制器是针对嵌入式系统而设计,它将CPU、存放器和其它外设全部集成在同一片电路板上。数字信号处理器(DSP)中CPU是针对快速离散时间信号处理计算。所以,DSP很适适用于音频及视频通信。现代芯片生产工艺已经许可将关键处理器内核和多种外围芯片器件整合在一起,以深入降低功耗,达成专用需求,这时,便出现了片上系统SoC(System On Chip)。4、什么是嵌入式外围设备?简明说明嵌入式外围设备是怎样分类。(P2223) 答:5、嵌入式操作系统发展经历了哪多个阶段?(P28)答:嵌入式操作系统伴伴随嵌入式系

9、统发展,大致经历了四个阶段:第一阶段:无操作系统嵌入算法阶段,以单芯片为关键可编程控制器形式系统,含有和监测、伺服、指示设备相配合功效。第二阶段:以嵌人式CPU为基础、简单操作系统为关键嵌入式系统。因为CPU种类繁多,所以通用性比较差;系统开销小,效率高;含有一定兼容性和扩展性;系统关键用来控制系统负载和监控应用程序运行。第三阶段:通用嵌入式实时操作系统阶段。以嵌入式操作系统为关键嵌入式系统,能运行于多种类型微处理器上,兼容性好;内核精小、效率高,含有高度模块化和扩展性;含有文件和目录管理、设备支持、多任务、网络支持、图形窗口和用户界面等功效;含有大量应用程序接口(APl);嵌入式应用软件丰富

10、。第四阶段:以基于Internet为标志嵌入式系统。这是一个正在快速发展阶段。嵌入式设备和Internet结合将代表着嵌入式技术真正未来。6、现阶段常见操作系统有哪些?经过调研,指出多个常见嵌入式操作系统特点是什么?常见在什么场所?(P2829) 答:常见嵌入式RTOS分三大类:商用系统、专用系统和开放系统。商品化嵌入式实时操作系统,关键有WindRiverVxworks和pSOS+,3ComPalm OS和MicrosoftWindows CE等。专用操作系统功效相对较弱,但针对性强,其安全可靠性大全部超出一般商用系统,如应用于手机嵌入式操作系统SymbianOS。开放系统经典代表是嵌入式L

11、inux和mC/OS-。7、嵌入式操作系统关键任务有哪些?(P28) 答:嵌入式操作系统通常包含和硬件相关底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。 嵌入式操作系统含有通用操作系统基础特点,如能够有效管理越来越复杂系统资源;能够把硬件虚拟化,使得开发人员从繁忙驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集和应用程序。8、嵌入式系统基础设计过程包含哪多个阶段?每一个阶段关键工作有哪些?(P33) 答:以自顶向下角度来看,系统设计包含五个阶段,从系统需求分析开始;第二步是规格说明,在这一步,我们对需设计系统功效进行更细致地描述,这些描述并不包含系统组

12、成;第三步是系统结构设计,在这一阶段以大构件为单位设计系统内部具体结构,明确软、硬件功效划分;第四步是构件设计,它包含系统程序模块设计、专用硬件芯片选择及硬件电路设计;第五步是系统集成,在完成了全部构件设计基础上进行系统集成,结构出所需完整系统。9、需求分析阶段细分为哪多个步骤?每个步骤完成什么工作?(P3435) 答:需求分析阶段可细分为四个阶段:1、需求和规格说明:经过和用户进行交流,了解用户意图,明确用户需求,整理成正式规格说明,这些规格说明里包含了进行系统体系结构设计所需要足够信息。2、确定需求:确定这一系列需求不仅需要了解什么是用户需要,而且需要了解她们是怎样表示这些需求。3、简单需

13、求表格:将复杂而费时工作用相对少许格式清楚、简单需求表格来表示,在考虑系统基础特征时能够将这个表格作为检验表。4、需求内部一致性:在写完需求分析以后,应该对它们内部一致性进行检验。10、试经过多种渠道调查现在市场上关键有哪些嵌入式系统开发平台,它们各自有什么特点。 答:略第3章 ARM体系结构及基于ARM9处理器嵌入式系统硬件平台OMAP59121、试比较RISC和CISC体系结构异同,为何ARM内核要采取RISC体系结构?(P47)答:ARM体系结构总设计思绪是在不牺牲性能同时尽可能简化处理器。同时从体系结构层面上支持灵活处理器扩展。这种简化和开放思绪使ARM处理器采取了很简单结构精简指令集

14、计算机(Reduced Instruction Set Computer,RISC)体系结构来进行实现。传统复杂指令集计算机(Complex Instruction Set Computer,CISC)结构有其固有缺点,即伴随计算机技术发展而不停引入新复杂指令集,为支持这些新增指令,计算机体系结构会越来越复杂,然而,在CISC指令集多种指令中,其使用频率却相差悬殊,大约有20指令会被反复使用,占整个程序代码80。而余下80指令却不常常使用,在程序设计中只占20,显然,这种结构是不太合理。基于以上不合理性,1979年美国加州大学伯克利分校提出了RISC概念。RISC并非只是简单地去降低指令。RI

15、SC是一个设计思想,其目标是设计出一套能在高时钟频率下单周期实施、简单而有效指令集。RISC设计关键在于降低由硬件实施指令复杂度,因为软件比硬件轻易提供更大灵活性和更高智能。所以,RICS设计对编译器有更高要求;相反,传统CISC则更侧重于硬件实施指令功效性,使CISC指令变得更复杂。2、简述ARM设计思想及其和单纯RISC定义不一样。(P4849) 答:ARM内核并不是一个纯粹RISC体系结构,这是为了使它能够愈加好地适应其关键应用领域嵌入式系统。为了使ARM指令集能够愈加好地满足嵌入式应用需要,ARM指令集和单纯RISC定义有以下多个方面不一样: 部分特定指令周期数可变并不是全部ARM指令

16、全部是单周期。比如:多寄存器装载/存放Load/Store指令实施周期就是不确定,必需依据被传送寄存器个数来定。假如是访问连续存放器地址,就能够改善性能,因为连续内存访问通常比随机访问要快;同时,代码密度也得到了提升,因为在函数起始和结尾,多个寄存器传输是很常见操作。 内嵌桶形移位器产生了更为复杂指令内嵌桶形移位器是一个硬件部件,在一个输入寄存器被一条指令使用之前,内嵌桶形移位器能够处理该寄存器中数据。它扩展了很多指令功效,以此改善了内核性能,提升了代码密度。 Thumb 16位指令集ARM内核增加了一套称之为Thumb指令16位指令集,使得内核既能够实施16位指令,也能够实施32位指令,从而

17、增强了ARM内核功效。16位指令和32位定长指令相比较,代码密度能够提升约30%。 条件实施只有当某个特定条件满足时指令才会被实施。这个特征能够降低分支指令数目,从而改善性能,提升代码密度。3、ARM体系结构发展过程中,关键有哪些变种,对各变种做简明介绍。(P4950)答:我们将在ARM体系中增加一些特定功效称为ARM体系某种变种(variant),下面介绍ARM体系部分变种形式。 (1)Thumb指令集(T变种) Thumb指令集是将ARM指令集一个子集重新编码而形成一个指令集。ARM指令长度为32位,Thumb指令长度为16位。这么,使用Thumb指令集能够得到密度更高代码,这对于需要严格

18、控制产品成本设计很有意义。 (2)长乘法指令(M变种) M变种增加了两条用于进行长乘法操作ARM指令:其中一条指令用于实现32位整数乘以32位整数,生成64位整数长乘法操作,另一条指令用于实现32位整数乘以32位整数,然后再加上32位整数,生成64位整数长乘加操作。 (3)增强型DSP指令(E变种) E变种包含了部分附加指令,这些指令用于增强处理器对部分经典DSP算法处理性能,关键包含:几条新实现16位数据乘法和乘加操作指令,实现饱和带符号数加减法操作指令。 (4)Java加速器Jazelle(J变种)ARMJazelle技术将Java优势和优异32位RISC芯片完美地结合在一起。Jazell

19、e技术提供了Java加速功效,能够得到比一般Java虚拟机高得多性能。和一般Java虚拟机相比,Jazelle使Java代码运行速度提升了3倍,而功耗降低了80%。Jazelle技术使得程序员能够在一个单独处理器上同时运行Java应用程序、已经建立好操作系统、中间件和其它应用程序。和使用协处理器和双处理器相比,使用单独处理器能够在提供高性能同时,确保低功耗和低成本。 (5)ARM媒体功效扩展(SIMD变种) SIMD变种关键特点是:能够同时进行两个16位操作数或4个8位操作数运算,提供了小数算术运算,用户能够定义饱和运算模式,两套16位操作数乘加/乘减运算,32位乘以32位小数MAC,同时8位

20、/16位选择操作。4、ARM体系结构版本命名规则有哪些?简单说明ARM7TDMI含义。(P50)答:ARM产品通常以ARMxyzTDMIEJF-S形式出现。ARM体系结构命令规则中这些后缀具体含义见表3-2。ARM7TDMI含义即ARM7内核,增加了Thumb指令集(T变种)、JTAG调试器、长乘法指令(M变种)和嵌入式跟踪宏单元功效。5、列举现在常见ARM微处理器型号及功效特点。(P5153)答:ARM微处理器现在包含下面多个系列,和其它厂商基于ARM体系结构处理器,除了含有ARM体系结构共同特点以外,每一个系列ARM微处理器全部有各自特点和应用领域。 ARM7系列 ARM9系列 ARM9E

21、系列 ARM10E系列 ARM11系列 SecurCore系列 InterXscale InterStrongARM其中,ARM7、ARM9、ARM9E和ARM10E为4个通用处理器系列,每一个系列提供一套相对独特征能来满足不一样应用领域需求。SecurCore系列专门为安全要求较高应用而设计。6、比较ARM9和ARM7处理器性能特点,试说明它们有何异同。(P5556) 答:ARM7提供了很好性能功耗比,它包含了Thumb指令集快速乘法指令和ICE调试技术内核。ARM9处理器经过全新设计,采取了更多晶体管,能够达成两倍以上于ARM7处理器处理能力。ARM7内核是0.9MIPS/MHz三级流水线

22、和冯诺伊曼结构,而ARM9内核是5级流水线,提供1.1MIPS/MHz哈佛结构。从ARM7到ARM9性能提升还起源于存放器读写指令load和store,和互锁技术应用。7、简单介绍OMAP5912微处理器特点和功效。(P5960) 答:OMAP5912处理器是OMAP1510系列一个分支,是由TI应用最为广泛TMS320C55X DSP内核和低功耗、高性能ARM926EJ-S微处理器组成双核应用处理器,这两个内核经过一个专用处理器内部通信机制相连接。OMAP5912结构图3-10所表示。C55x系列可提供对低功耗应用实时多媒体处理支持;ARM926可满足控制和接口方面处理需要。基于双核结构,O

23、MAP5912含有极强运算能力和极低功耗,首先,产品性能高、省电;其次,同其它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 rec

24、ognition) 音频处理(MPEG-1 Audio Layer3 MP3,AMR,WMA,AAC,及其它GSM Speech Codecs) 图形和视频加速 数据处理8、常见OMAP5912开发工含有哪些?(P6061)答:常见OMAP5912开发工含有:(1)OMAP5912 Starter Kit (OSK)Omap5912基础板,提供了完成设计和测试过程所需全部软件,这包含一系列主板专用库、芯片专用库和一套针对OMAP5912 Linux内核Linux开发工具。(2)MU-Q-VGA LCD Module for OMAP5912OSKLCD扩充套件,提供了LCD触摸屏。(3)Acc

25、elerator Program for OMAP5912针对omap5912OSKLinux和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微处理器编

26、程模型和指令系统1、ARM微处理器有哪多个运行模式?其中哪些是特权模式,哪些又是异常模式?(P64) 答:ARM微处理器支持7种运行模式,分别为:用户模式;快速中止模式;外部中止模式;管理模式;数据访问终止模式;系统模式;未定义指令中止模式。除用户模式以外,其它全部6种模式称之为非用户模式,或特权模式(Privileged Modes);而除去用户模式和系统模式以外5种又称为异常模式(Exception Modes),常见于处理中止或异常。2、ARM体系结构存放器格式有哪多个?(P6465) 答:ARM体系结构能够用两种方法存放字数据,称之为大端格式(big-endian)和小端格式(litt

27、le-endian)。大端格式:字数据高字节存放在低地址中,而字数据低字节则存放在高地址中;小端格式:低地址中存放是字数据低字节,高地址存放是字数据高字节。3、ARM状态下和Thumb状态下寄存器组织有何不一样?(P6970) 答:Thumb状态下寄存器集是ARM状态下寄存器集一个子集,程序能够直接访问8个通用寄存器(R7R0)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。同时,在每一个特权模式下全部有一组SP、LR和SPSR。在Thumb状态下,高位寄存器R8R15并不是标准寄存器集一部分,但可使用汇编语言程序受限制访问这些寄存器,将其用作快速暂存器。4、简述CPSR

28、各状态位作用,并说明怎样对其进行操作,以改变各状态位。(P6768) 答:CPSR可在任何运行模式下被访问,它包含条件码标志位、中止严禁位、目前处理器模式标志位,和其它部分相关控制和状态位。条件码标志位: N(Negative)当用两个补码表示带符号数进行运算时,N=1表示运算结果为负数;N=0 表示运算结果为正数或零; Z(Zero)Z=1 表示运算结果为零;Z=0表示运算结果为非零; C(Carry)能够有4种方法设置C值: 加法运算(包含比较指令CMN):当运算结果产生了进位时(无符号数溢出),C=1,不然C=0。 减法运算(包含比较指令CMP):当运算时产生了借位(无符号数溢出),C=

29、0,不然C=1。 对于包含移位操作非加/减运算指令,C为移出值最终一位。 对于其它非加/减运算指令,C值通常不改变。 V(OVerflow)能够有2种方法设置V值: 对于加/减法运算指令,当操作数和运算结果为二进制补码表示带符号数时,V=1表示符号位溢出。 对于其它非加/减运算指令,V值通常不改变。CPSR低8位(包含I、F、T和M4:0)称为控制位,当发生异常时这些位能够被改变。假如处理器运行特权模式,这些位也能够由程序修改。状态寄存器(PSR)中其它位为保留位,当改变PSR中条件码标志位或控制位时,保留位不要被改变,在程序中也不要使用保留位来存放数据。保留位将用于ARM版本扩展。5、ARM

30、体系结构所支持异常类型有哪些?具体描述各类异常,在应用程序中应该怎样处理?(P7071)答:ARM体系结构所支持异常类型有复位、未定义指令、软件中止、指令预取中止、数据中止、外部中止请求、快速中止请求。具体地: 当处理器复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处实施; 当ARM处理器或协处理器碰到不能处理指令时,产生未定义指令异常。可使用该异常机制进行软件仿真; 软件中止异常由实施SWI指令产生,可用于用户模式下程序调用特权操作指令。可使用该异常机制实现系统功效调用; 若处理器预取指令地址不存在,或该地址不许可目前指令访问,存放器会向处理器发出中止信号,但当预取指令被实施时,才

31、会产生指令预取中止异常; 若处理器数据访问指令地址不存在,或该地址不许可目前指令访问时,产生数据中止异常; 当处理器外部中止请求引脚有效,且CPSR中I位为0时,产生IRQ异常。系统外设可经过该异常请求中止服务; 当处理器快速中止请求引脚有效,且CPSR中F位为0时,产生FIQ异常。6、ARM指令有哪多个寻址方法?试分别叙述其各自特点并举例说明。(P77) 答:ARM指令系统支持基础寻址方法有7种:立即数寻址、寄存器寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、堆栈寻址、相对寻址。她们特点分别是: 立即数寻址:操作数本身就在指令中给出。如:ADD R0,R0,#0x3f 寄存器寻址:指令中

32、地址码给出是寄存器编号。如: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 NEXT7、简述ARM指令集分类。(P81) 答:ARM

33、指令集总体分为六大类:数据处理指令、程序状态寄存器访问指令、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,并将其它位值放入程序

34、计数器PC,则可进入Thumb指令。另一个方法是利用异常返回,也可把微处理器从ARM模式转换为Thumb模式。在这个过程中,ARM提供了2种机制:当返回地址保留在目前异常模式R14(LR)时,采取传送指令;当返回地址保留在堆栈时,使用多寄存器Load/Store指令。ARM指令集中跳转指令和汇编语言中跳转指令区分是ARM指令集中跳转指令能够直接向程序计数器PC写入跳转地址值。10、ARM指令集支持哪多个协处理器指令?试分别简述并列举其特点。(P93)答:ARM协处理器指令包含以下5条,其特点分别是: CDP协处理器数操作指令:用于ARM处理器通知ARM协处理器实施特定操作,若协处理器不能成功完

35、成特定操作,则产生未定义指令异常。 LDC协处理器数据加载指令:用于将源寄存器所指向存放器中字数据传送到目标寄存器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。 STC协处理器数据存放指令:用于将源寄存器中字数据传送到目标寄存器所指向存放器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。 MCR处理器寄存器到协处理器寄存器数据传送指令:用于将ARM处理器寄存器中数据传送到协处理器寄存器中,若协处理器不能成功完成操作,则产生未定义指令异常。 MRC协处理器寄存器到ARM处理器寄存器数据传送指令:用于将协处理器寄存器中数据传送到ARM处理器寄存器中,若协处理器不能成功完成操作

36、,则产生未定义指令异常。第5章 嵌入式操作系统1、嵌入式操作系统进程定义是什么?(P101) 答:进程是可并发实施、含有独立功效程序在一个数据集合上运行过程,是操作系统进行资源分配和保护基础单位。2、一个比较完善操作系统应该包含哪多个模块?(P100) 答:一个比较完善操作系统应该包含内存管理、进程管理、文件管理和为了充足利用多种资源而设计调度机制等四个模块。3、说明嵌入式操作系统进程调度多个策略,并说出不一样之处和优缺点。(P105108) 答:实时调度方法大致能够划分为以下几类:离线和在线调度:对于离线调度算法,运行过程中使用调度信息在系统运行之前就确定了。离线调度算法含有确定性,但缺乏灵

37、活性,适适用于那些特征能够预先确定,且不轻易发生改变应用。在线调度算法调度信息则在系统运行过程中动态取得,在线调度算法在形成最好调度决议上含有较大灵活性。抢占和非抢占调度:在抢占式调度算法中,正在运行任务可能被其它任务所打断,抢占式调度算法,使关键任务能够打断非关键任务实施,确保关键任务截止时间能够得到满足,抢占式调度算法要更复杂些,且需要更多资源,并可能在使用不妥情况下会造成低优先级任务出现长时间得不到实施情况。非抢占式调度常见于那些任务需要根据预先确定次序进行实施,且只有当任务主动放弃CPU资源后,其它任务才能得到实施情况。静态和动态调度:在静态调度算法中,任务优先级需要在系统运行前进行确

38、定,且在运行过程中不会发生改变。在动态调度算法中,任务优先级可依据需要进行改变,也可能伴随时间根据一定策略自动发生改变。4、嵌入式系统中进程间通信关键采取哪多个形式?(P110) 答:嵌入式系统中进程间通信关键采取两种形式:共享内存和消息传输。二者在逻辑上没有什么区分,进程通信采取哪种方法,关键依靠实际需要。进程间通信也能够采取信号和管道方法。5、简述嵌入式操作系统中止管理和时钟管理模式。(P117-118)答:在嵌入式操作系统中,中止前导和中止后续通常由内核中止接管程序来实现。硬件中止发生后,中止接管程序取得控制权,先由中止接管程序进行处理,然后才将控制权交给对应用户中止服务程序。用户中止服

39、务程序实施完成后,又回到中止接管程序。实时内核通常还提供以下中止管理功效:挂接中止服务程序、取得中止服务程序入口地址、获取中止嵌套层次、开中止、关中止。在实时系统中,时钟含有很关键作用。经过时钟,应用和内核能够查询目前时间、定时地完成各项工作、报警、有限等候和睡眠等,是处理含有时间约束特征应用必不可少内容。所以,实时内核全部需要提供对时钟进行管理机制。时钟管理通常含有以下功效:维持日历时间,任务有限等候计时,软定时器定时管理和维持系统时间片轮转调度。6、嵌入式操作系统中内存管理功效有哪些?并做简明叙述。(P120) 答:嵌入式操作系统中内存管理功效有:1)虚拟内存空间:操作系统采取虚拟内存功效

40、使系统显得它有比实际大得多内存空间,虚拟内存能够比系统中物理内存大很多倍。2)内存保护:系统中每个进程有自己虚拟地址空间,这些虚拟地址空间相互之间完全分离。所以运行一个应用进程不会影响其它进程。一样,硬件虚拟内存机制许可内存区域被写保护,这么保护了代码和数据不被恶意应用重写。3)内存映射:用来把映像和数据文件映像到一个进程地址空间。在内存映射中,文件内容被直接链接到进程虚拟地址空间。4)公平物理内存分配:内存管理子系统分配给系统中运行每个进程公平一份系统物理内存。5)共享虚拟内存:许可进程拥有分隔虚拟地址空间,但有时还需要进程共享内存。如进程间通信需要共享内存。7、mC/OS-II关键特点有哪

41、些?简明说明之。(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

42、)能够只使用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)

43、可确定性全部mC/OS-II函数调用和服务实施时间含有可确定性。8)任务栈每个任务有自己单独栈,mC/OS-II许可每个任务有不一样栈空间,方便压低应用程序对RAM需求。9)系统服务mC/OS-II提供很多系统服务,比如邮箱、消息队列、信号量、块大小固定内存申请和释放、时间相关函数等。10)中止管理中止能够使正在实施任务临时挂起,假如优先级更高任务被该中止唤醒,则高优先级任务在中止嵌套全部退出后立即实施,中止嵌套层数可达255层。8、常见linux操作系统采取怎样内存管理机制和调度机制?(P130)答:Linux内存管理程序经过映射机制把用户程序逻辑地址映射到物理地址,在用户程序运行时,假如发

44、觉程序中要用虚拟地址没有对应物理内存时,就发出请页要求。假如有空闲内存可供分配,就请求分配内存,并把正在使用物理页统计在页缓存中;假如没有足够内存可供分配,那么就调用交换机制,腾出一部分内存。为了支持虚拟存放器管理,Linux系统采取分页(paging)方法来载入进程。所谓分页即是把实际存放器分割为相同大小段,比如每个段1024个字节,这么1024个字节大小段称为一个页面(page)。Linux属于经典多用户多任务操作系统。它采取分时技术,进程交替实施,实现所谓“假并行”。它关键有三种调度算法,一个是基于优先级循环实施法,二是FIFO算法,三是传统基于优先级循环实施法。前两种调度算法全部是软实

45、时,而第三种则并非实时。第6章 嵌入式Linux开发环境及其在ARM上移植1、试述嵌入式Linux系统移植通常过程。(P141142)答:嵌入式系统开发和应用层软件开发不一样,有其本身特点,尤其在开发步骤上有很大不一样。从大致上讲,Linux系统移植通常分为下面几步:(1)开发环境搭建嵌入式系统移植过程中,目标机和宿主机往往在软硬件环境上有很大不一样,开发时常常在功效强大宿主机上进行,这就形成了交叉开发环境搭建和选择问题。同时因为宿主机和目标机在体系结构等方面差异,编译时也需要采取交叉编译工具对目标代码进行编译,这么,才能使生成可实施文件在目标机上能够实施。(2)系统引导在微处理器第一次开启时

46、候,会从预定、固定地址空间开始实施指令。通常嵌入式系统中并没有PC机上BIOS,而是由一个称为Bootloader系统引导程序来完成上述功效,开启代码完全依靠于硬件,需要在系统移植中完成。(3)内核引导系统移植开发人员还应该完成Bootloader和内核衔接部分移植和I/O映射、存放器映射等和目标硬件平台相关板级初始化和CPU本身初始化移植工作。(4)设备驱动程序Linux内核源代码树中相当大部分是各类驱动程序,在实际开发过程中,也需要对对应设备进行驱动,如LCD、网卡、触摸屏等等进行移植和编写。因为通常在Linux源码和相关小区中全部拥有相当丰富设备驱动源码资源,所以,设备驱动任务关键是相近

47、源码移植修改工作。(5)文件系统 在嵌入式Linux内核开启最终阶段,将进行文件系统加载。不一样嵌入式目标平台有不一样应用需求,需要依据具体情况实现对文件系统移植工作。现在,常见嵌入式文件系统有JFFS2、Cramfs、Romfs等。2、Linux系统中常见交叉编译工含有哪些?简述它们功效和基础使用方法。(P143153)答:(1)GNU binutils是一套用来结构和使用二进制所需工具集。建立嵌入式交叉编译环境,Binutils工具包是必不可少,而且Binutils和GNUC编译器gcc是紧密相集成,没有binutils,gcc也不能正常工作。GNU binutils是一组开发工具,包含连接器、汇编器和其它用于目标文件和档案工具。(2)GUN cc(GUN C

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 大学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服