arm9嵌入式课后答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

arm9嵌入式课后答案
【篇一:arm嵌入式系统结构与编程习题答案(全)】ass=txt>第一章绪论
1. 国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机系统。

从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的剪裁利用。

因此有人把嵌入式系统比作是一个针对特定的应用而“量身定做”的专业计算机系统。

2.嵌入式系统是从何时产生的,简述其发展历程。

答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。

嵌入式系统的出现最初是基于单片机的。

intel公司1971年开发出第一片具有4位总线结构的微处理器4004,可以说是嵌入式系统的萌芽阶段。

80年代初的8051是单片机历史上值得纪念的一页。

20世纪80年代早期,出现了商业级的“实时操作系统内核”,在实时内核下编写应用软件可以使新产品的沿着更快,更节省资金。

20世纪90年代实时内核发展为实时多任务操作系统。

步入21世纪以来,嵌入式系统得到了极大的发展。

在硬件上,mcu的性能得到了极大的提升,特别是arm技术的出现与完善,为嵌入式操作系统提供了功能强大的硬件载体,将嵌入式系统推向了一个崭新的阶段。

3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。

答:主要有嵌入式linux和嵌入式实时操作内核uc/os-ii
嵌入式linux操作系统是针对嵌入式微控制器的特点而量身定做的一种linux操作系统,包括常用的嵌入式通信协议和常用驱动,支持多种文件系统。

主要有以下特点:源码开放,易于移植,内核小,功能强大,运行稳定,效率高等。

uc/os是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。

4.举例说明嵌入式设备在工控设备中的应用。

答:由于工业控制系统特别强调可靠性和实时性,“量身定做”的嵌入式控制系统恰能满足工业控制的需求。

例如:工业过程控制,数字控制机床,电网设备监测,电力自动控制系统,石油化工监控等。

5.嵌入式技术的发展趋势有哪些?
答:未来嵌入式系统的发展趋势有:1.随着信息化与数字化的发展,嵌入式设备进行网络互联是未来发展的趋势。

2.优化嵌入式系统软硬件内核,提高系统运行速度,降低功耗和硬件成本。

3.指令集的并行计算技术将引入嵌入式微处理器。

4.嵌入式微处理器将会向多核技术发展。

5.嵌入式技术将引领信息时代。

第2章 arm技术与arm体系结构
1.简述arm处理器内核调试结构原理
答:arm处理器一般都带有嵌入式追踪宏单元etm(embedded trace macro),它是arm公司自己推出的调试工具。

arm处理器都支持基于jtag(joint test action group 联合测试行动小组)的调试方法。

它利用芯片内部的embedded ice来控制arm内核操作,可完
成单步调试和断点调试等操作。

当cpu处理单步执行完毕或到达断点处时,就可以在宿主机端查看处理器现场数据,但是它不能在cpu运行过程中对实时数据进行仿真。

etm解决了上述问题,能够在cpu运行过程中实时扫描处理器的现场信息,并数据送往tap(test access port)控制器。

上图中分为三条扫描链(图中的粗实线),分别用来监视arm核,etm,嵌入式ice的状态。

2. 分析arm7tdmi-s各字母所代表的含义。

答:arm7 t d m i – s 中
arm是advanced risc machines的缩写 7是系列号;
t:支持高密度16位的thumb指令集; d:支持jtag片上调试; m:支持用于长乘法操作(64位结果)arm指令,包含快速乘法器;; i:带有嵌入式追踪宏单元etm,用来设置断点和观察点的调试硬件;
s:可综合版本,意味着处理器内核是以源代码形式提供的。

这种源代码形式又可以编译成一种易于eda工具使用的形式。

3. arm处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异常模式,并指出处
理器在什么情况下进入相应的模式。

答:arm技术的设计者将arm 处理器在应用中可能产生的状态进行了分类,并针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口处进行异常服务。

? 1.用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下
执行。

在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式 ? 2.fiq模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优先级(fast)中断产生时将会进入这种模式。

? 3.irq模式:也称为普通中断模式,:当一个低优先级(normal)中断产生时将会进入
这种模式。

在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。

通常的中断处理都在irq模式下进行。

? 4.svc模式:称之为管理模式,它是一种操作系统保护模式。

当复位或软中断指
令执行时处理器将进入这种模式。

? 5
.中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存
储或存储保护。

? 6.未定义指令异常模式:当执行未定义指令时会进入这种模式,主要是用来处理未
定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。

? 7.系统模式:使用和user模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。

? 在这7种工作模式中,除了用户模式以外,其他6种处理器模式可以称为特权模式,
在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切
换。

? 在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式,每种
异常都对应有自己的异常处理入口点。

4. 分析程序状态寄存器(psr)各位的功能描述,并说明c,z,n,v在什么情况下进行置位和清零。

答:
? 条件位:
? n = 1-结果为负, 0-结果为正或0
? z = 1-结果为0,0-结果不为0 ? c =1-进位, 0-借位
? v =1-结果溢出, 0结果没溢出
? q 位:
? 仅arm 5te/j架构支持 ? 指示增强型dsp指令是否溢出
? 中断禁止位:
? i = 1: 禁止 irq. ? f = 1: 禁止 fiq.
? t bit
? 仅arm xt架构支持
? t = 0: 处理器处于 arm 状态
? t = 1: 处理器处于 thumb 状态
? mode位(处理器模式位):
? 0b10000 ? 0b10001 ? 0b10010 ? 0b10011 ? 0b10111
user fiq irq
supervisor abort
? 0b11011 ? 0b11111
undefined system
5. 简述arm处理器异常处理和程序返回的过程。

答:只要正常的程序流被暂时中止,处理器就进入异常模式。

例如响应一个来自外设的中断。

在处理异常之前,arm7tdmi内核保存当前的处理器状态,这样当处理程序结束时可以恢复执行原来的程序。

如果同时发生两个或更多异常,那么将按照固定的顺序来处理异常。

1.在适当的lr中保存下一条指令的地址
2.将cpsr复制到适当的spsr中;
3. 将cpsr模式位强制设置为与异常类型相对应的值;
4.强制pc从相关的异常向量处取指。

arm7tdmi内核在中断异常时置位中断禁止标志,这样可以防止不受控制的异常嵌套。

注:异常总是在arm状态中进行处理。

当处理器处于thumb状态时发生了异常,在异常向量地址装入pc时,会自动切换到arm状态。

当异常结束时,异常处理程序必须:
1.将lr中的值减去偏移量后存入pc,偏移量根据异常的类型而有所不同;
2.将spsr的值复制回cpsr;
3.清零在入口置位的中断禁止标志。

注:恢复cpsr的动作会将t、f和i位自动恢复为异常发生前的值。

6. arm处理器字数据的存储格式有哪两种?并指出这两种格式的区别。

答:arm7tdmi处理器可以将存储器中的字以下列格式存储 ? 大端格式(big-endian)
?
小端格式(little-endian)
? 小端存储器系统:
在小端格式中,高位数字存放在高位字节中。

因此存储器系统字节0连接到数据线7~0。

? 大端存储器系统:在大端格式中,高位数字存放在低位字节中。

因此存储器系统字节0连接到数据线31~24。

7. 分析带有存储器访问指令(ldr)的流水线运行情况,并用图示说明流水线的运行机制。

答:存储器访问指令ldr 流水线举例
取指的存储器访问和执行的数据路径占用都是不可同时共享的资源,对于多周期指令来说,如果指令复杂以至于不能在单个时钟周期内完成执行阶段,就会产生流水线阻塞。

对存储器的访问指令ldr是非单周期指令
ldr指令的执行,访问存储器,回写寄存器(占用了3个周期)。

造成了mov指令的执行被阻断。

8. 简述arm9的5级流水线每一级所完成的功能和实现的操作。

答:arm920在指令操作上采用5级流水线 .
取指:从指令cache中读取指令。

译码:对指令进行译码,识别出是对哪个寄存器进行操作并从通用寄存器中读取操作数。

执行:进行alu运算和移位操作,如果是对存储器操作的指令,则在alu中计算出要访问的存储器地址。

存储器访问:如果是对存储器访问的指令,用来实现数据缓冲功能(通过数据cache)。

寄存器回写:将指令运算或操作结果写回到目标寄存器中。

9. 什么叫流水线互锁?应如何来解决,举例说明。

答:互锁:当前指令的执行需要前面指令的执行结果,但前面的指令没有执行完毕,引起流水线的等待。

互锁发生时,硬件会停止指令的执行,直到数据准备好。

【篇二:嵌入式课后答案】
式的定义
以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2. 举例说明嵌入式系统的“嵌入性”、“专用性”、“计算机系统”的基本特征。

按照嵌入式系统的定义,嵌入式系统有3个基本特点,即“嵌入性”、“专用性”与“计算机”。

“嵌入性”由早期微型机时代的嵌入式计算机应用而来,专指计算机嵌入到对象体系中,实现对象体系的智能控制。

当嵌入式系统变成一个独立应用产品时,可将嵌入性理解为内部嵌有微处理器或计算机。

“计算机”是对象系统智能化控制的根本保证。

随着单片机向mcu、soc发展,片内计算机外围电路、接口电路、控制单元日益增多,“专用计算机系统”演变成为“内含微处理器”的现代电子系统。

与传统的电子系统相比较,现代电子系统由于内含微处理器,能实现对象系统的计算机智能化控制能力。

“专用性”是指在满足对象控制要求及环境要求下的软硬件裁剪性。

嵌入式系统的软、硬件配置必须依据嵌入对象
的要求,设计成专用的嵌入式应用系统。

3. 简述嵌入式系统发展各阶段的特点。

(1)无操作系统阶段:使用简便、价格低廉;(2)简单操作系统阶段:初步具有了一定的兼容性和扩展性,内核精巧且效率高,大大缩短了开发周期,提高了开发效率。

(3)实时操作系统阶段:系统能够运行在各种不同类型的微处理器上,具备了文件和目录管理、设备管理、多任务、网络、图形用户界面graphic user interface,gui)等功能,并提供了大量的应用程序接口application programming interface,api),从而使应用软件的开发变得更加简单。

(4)面向internet阶段:进入21世纪,internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与internet技术的结合正在推动着嵌入式系统的飞速发展
4.简述嵌入式系统的发展趋势。

(1)新的微处理器层出不穷,精简系统内核,优化关键算法,降低功耗和软硬件成本。

(2)linux、windows ce、palm os等嵌入式操作系统迅速发展。

(3)嵌入式系统的开发成了一项系统工程,开
发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。

5.简述soc和ip核的区别。

soc是指在单芯片上集成数字信号处理器、微控制器、存储器、数据转换器、接口电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。

ip核是指具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(soc)的基本构件。

6. 简述嵌入式计算机系统硬件层的组成和功能。

硬件层中包含嵌入式微处理器、存储器(sdram、rom、flash 等)、通用设备接口和i/o接口(a/d、d/a、i/o等)。

(1)嵌入式微处理器是嵌入式系统硬件层的核心,嵌入式微处理器将通用cpu中许多由板卡完成的任务集成到芯片内部,从而有利于系统设计趋于小型化、高效率和高可靠性
(2)嵌入式系统的存储器包含cache、主存储器和辅助存储器,用来存放和执行代码。

(3)与外界交互所需要的通用设备接口
7. 简述cache的功能与分类。

(1)cache是一种位于主存储器和嵌入式微处理器内核之间的快速存储器阵列,存放的是最近一段时间微处理器使用最多的程序代码和数据。

在需要进行数据读取操作时,微处理器尽可能的从cache 中读取数据,而不是从主存中读取,
减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,提高微处理器和主存之间的数据传输速率,使处理速度更快,实时性更强
(2)cache一般集成在嵌入式微处理器内,可分为数据cache、指令cache或混合cache,cache的存储容量大小依不同处理器而定。

8. 简述嵌入式计算机系统中间层的组成和功能。

中间层也称为硬件抽象层(hardware abstract layer,hal)或板级支持包(board support package,bsp),位于硬件层和软件层之间,将系统上层软件与底层硬件分离开来。

bsp作为上层软件与硬件平台之间的接口,需要为操作系统提供操作和控制具体硬件的方法。

不同的操作系统具有各自的软件层次结构,bsp需要为不同的操作系统提供特定的硬件接口形式。

bsp使
上层软件开发人员无需关心底层硬件的具体情况,根据bsp层提供的接口即可进行开发。

bsp是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。

bsp一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。

9.简述嵌入式计算机系统系统软件层的组成和功能。

系统软件层通常包含有实时多任务操作系统(real-time operation system,rtos)、文件系统、图形用户接口(graphic user interface,gui)、网络系统及通用组件模块组成。

(1)嵌入式操作系统(embedded operating system,eos)eos负责嵌入式系统的软件、硬件的资源分配、任务调度,控制协调。

(2)文件系统
嵌入式文件系统与通用操作系统的文件系统不完全相同,主要提供文件存储、检索和更新等功能,一般不提供保护和加密等安全机制。

(3)图形用户接口(gui)
gui使用户可以通过窗口、菜单、按键等方式来方便地操作计算机或者嵌入式系统。

10.简述rtos的定义与特点。

rtos是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。

特点:(1)约束性
rtos任务的约束包括时间约束、资源约束、执行顺序约束和性能约束。

(2)可预测性
【篇三:嵌入式课后答案】
嵌入式系统?它由哪几部分组成?有何特点?
以应用为中心,计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统、应用软件等几大部分组成。

嵌入式处理器与通用处理器的最大不同点
在其大多工作在为特定用户群设计的系统。

外围设备包括:存储器、接口、人机交互。

嵌入式操作系统的特点:软硬件一体化,集计算机技术、微电子技术和行业技术为一体;需要操作系统支持,代码小,执行速度快;专用紧凑,用途固定,成本敏感;可靠性要求高;多样性,应用广泛,种类繁多。

2. 嵌入式处理器分为哪几类?
低端的微控制器(microconctroller unit,mcu)
中高端的嵌入式微处理器(embedded microprocessor unit,empu)通信领域的dsp系统(digital signal processor,dsp)
高度集成的片上系统(system on chip,soc)
3. arm英文原意是什么?它是个怎样的公司?其处理器有何特点? arm(advanced risc machines)公司是全球领先的16/32位risc微处理器知识产权设计供应商。

arm公司通过将其高性能、低功耗、低成本的risc微处理器,外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。

arm处理器的特点:小体积、低功耗、低成本而性能高。

16/32位指令集。

全球至多的合作伙伴。

4. 什么是实时系统?它由哪些特征?如何分类?
实时系统是具有实时性且能支持实时控制系统工作的操作系统。

其首要任务是调动一切可利用的资源来完成实时控制任务,其次才着眼于提高计算机系统的使用效率,其重要特点是能满足对时间的限制和要求。

实时性:实时系统所产生的结果在时间上有严格的要求,只有符合时间要求的结果才是正确的。

并行性:要求系统有并行处理能力,以便能同时相应来自不同端口的输入信号。

多路性:对多个不同的现场进行采集,以及对多个对象和多个执行实行控制。

独立性:每个用户向实时系统提出服务请求,相互间是独立的。

在实时控制系统中对信号的采集和对象控制也是独立的。

可预测性:实时系统的实际行为必须处在一定的限度内,而这个限度由系统的定义获得。

可靠性:一方面指系统的正确性,另一方面指系统的健壮性,即使系统出现错误,仍然处于可预测状态,仍可以安全地带错运行和平缓降级它的性能。

分类:强实时系统(保质、保量、在限定时间内完成任务)、弱实时系统(没有限制完成时间)、一般实时系统(强和弱的折中)。

5. rtos由几部分组成?它由哪些特点?与一般操作系统有何不同?实时内核(主要实现任务管理,定时器管理,存储器管理、任务间通信与同步,中断管理等)、网络组件、文件系统、图形用户界面。

特点:支持异步事件的响应;中断和调度任务的优先级机制;支持抢占式调度;确定的任务切换时间和中断延迟时间;支持同步。

6. 实时操作系统常用的任务调度算法有哪几种?
基于优先级的调度算法:非抢占式调度,抢占式调度
同一优先级的时间轮转调度算法(执行一段时间无论完成与否,处理器均转入下一个就绪的同一优先级任务)
单调速率调度算法(执行频率越高,其优先级越高)
7. 用什么方法解决优先级反转问题?
(1) 优先级继承:设c为正占用着某项共享资源的进程p以及所有正在等待占用此项资源的
进程集合;找出这个集合的优先级最高者p_h,其优先级为p’;把进程p的优先级设置成p成’。

(2) 优先级封顶:设c为所有可能竞争使用某项共享资源的进程的集合。

事先为这个集合规
定一个优先级上限p’,使得这个集合的所有优先级都小于p’;在创建保护该项资源的信号量或互斥量时,将p将’作为一个参数;每当有进程通过这个信号量或互斥量取
得对共享资源的独占使用权时,就将此进程的优先级暂时提高到p’’,一直到释放该项资源时菜恢复对其原有的优先级。

第二章
1. 嵌入式系统开发过程分为哪几个阶段?每个阶段的特点是什么?
(1) 需求分析阶段:对问题的识别和分析;制定规格说明文档;需求评审
特点:采用成熟、易于二次开发的系统易于节省时间,从而以最短时间面世。

(2) 设计阶段:数据流分析-划分任务-定义任务间接口
特点:darts的设计方法-是结构化设计的扩展,划分出任务,并提供定义任务间的接
口机制,适合设计多个并发执行的任务。

(3) 生成代码阶段:代码编程-交叉编译和链接-交叉调试-测试(单元和集成测试)
特点:一般采用的方法是现在通用pc机上编程,然后通过交叉编译、链接,将程序做
成目标平台上可以运行的二进制代码格式,最后将程序下载到目标平台上的特定位置,在目标板上启动这段二进制代码。

(4) 固化阶段:嵌入式应用软件完成以后,编译器要对源代码重新编译一次,以产生固化到
目标坏境的可执行代码,再烧到环境目标环境的flash中。

固化的可执行代码和用于
调试的可执行代码有些不同。

固化用的代码在目标文件中把调式用的信息都屏蔽掉了。

固化后没有监控器执行硬件的启动和初始化,这部分工作必须由固化的程序自己完成,所以启动模块必须包含在固化代码中。

特点:程序需要写入到flash中固化,保证每次运行后下一次运行无误,所以嵌入式
开发相比增加了软件的固化阶段。

2. 嵌入式系统有哪几种调试方式?现在流行的哪种?使用什么接口?
(1) 源程序模拟器方式:在pc机上,通过软件手段模拟执行为某种嵌入式处理器写的源程
序的测试工具。

三级模拟功能(指令级、周期级、定时级)
(2) 监控器方式:宿主机和目标机建立物理上的连接,通过串口、以太口等把两台机器相连,
使之正常工作,然后在宿主机上运行调试器,目标机运行监控程序和被调试程序。

(3) 仿真器方式:使用处理器内嵌的调试模块接管中断及异常处理。

用户通过设置cpu内部
的寄存器来指定哪些中断或异常发生后处理器直接进入调试状态,而不进入操作系统的处理程序。

jtag、ide(在线仿真器in-circuit emulator)、icd(in-circuit debugger在线调试器)接口。

通过jtag 既可以对目标系统进行测试,也可以对目标系统的存储单元进行编程。

3. 什么是板级支持包?它一般应完成哪些工作?
板级支持包(board support package)是操作系统与目标应用硬件环境的中间接口,它是软件包中具有平台依赖性的那一部分。

功能:在系统启动时,对硬件进行初始化;为驱动程序提供访问硬件的手段。

工作:在系统启动时,对硬件进行初始化进行:
(1) 将系统代码定位到cpu将要执行的内存入口处,比便硬件初始化完毕后cpu能够执
行系统代码
(2) 根据不同cpu在启动时的硬件规定,bsp要负责将cpu设置为特定状态。

(3) 对内存进行初始化,根据系统的内存配置将系统的内存划分为代码、数据、堆栈等
不同的区域。

(4) 如果有特殊的启动代码,bsp要将控制权移交给启动代码。

(5) 如果应用软件中包含一个嵌入式操作系统,bsp要负责将操作系统需要的模块加载
到内存中。

(6) 如果应用软件中包含一个嵌入式操作系统,bsp还要在操作系统初始化之前,将硬
件设置为静止状态,以免造成操作系统初始化失败。

为驱动程序提供访问硬件的手段进行:
(1) 将驱动程序提供的isr(中断服务程序)挂载到中断向量表上。

(2) 创建驱动程序初始化所需要的设备对象,bsp将硬件设备描述为一个数据结构。

(3) 为驱动程序提供访问硬件设备寄存器的函数。

(4) 为驱动程序提供可重用性措施。

只要不同的硬件系统bsp提供的接口相同,驱动程序就
可在不同的硬件系统上运行。

第三章
1. 从技术角度讲,linux是一个什么样的操作系统?你认为它由哪些不足?
linux是一个类unix操作系统,它完全是一个自由的操作系统,它是一个单一内核的操作系统,这是由于linus torvalds以代码执行效率为自己操作系统的第一要务,比起结构的清晰他们更加注重功能的强大和高效率,他们花大量的经历在优化代码上,而这样以损失。

相关文档
最新文档