arm9嵌入式课后答案.docx
- 文档编号:13069034
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:21
- 大小:29.70KB
arm9嵌入式课后答案.docx
《arm9嵌入式课后答案.docx》由会员分享,可在线阅读,更多相关《arm9嵌入式课后答案.docx(21页珍藏版)》请在冰点文库上搜索。
arm9嵌入式课后答案
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(embeddedtracemacro),它是arm公司自己推出的调试工具。
arm处理器都支持基于jtag(jointtestactiongroup联合测试行动小组)的调试方法。
它利用芯片内部的embeddedice来控制arm内核操作,可完
成单步调试和断点调试等操作。
当cpu处理单步执行完毕或到达断点处时,就可以在宿主机端查看处理器现场数据,但是它不能在cpu运行过程中对实时数据进行仿真。
etm解决了上述问题,能够在cpu运行过程中实时扫描处理器的现场信息,并数据送往tap(testaccessport)控制器。
上图中分为三条扫描链(图中的粗实线),分别用来监视arm核,etm,嵌入式ice的状态。
2.分析arm7tdmi-s各字母所代表的含义。
答:
arm7tdmi–s中
arm是advancedriscmachines的缩写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位:
?
仅arm5te/j架构支持?
指示增强型dsp指令是否溢出
?
中断禁止位:
?
i=1:
禁止irq.?
f=1:
禁止fiq.
?
tbit
?
仅armxt架构支持
?
t=0:
处理器处于arm状态
?
t=1:
处理器处于thumb状态
?
mode位(处理器模式位):
?
0b10000?
0b10001?
0b10010?
0b10011?
0b10111
userfiqirq
supervisorabort
?
0b11011?
0b11111
undefinedsystem
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)实时操作系统阶段:
系统能够运行在各种不同类型的微处理器上,具备了文件和目录管理、设备管理、多任务、网络、图形用户界面graphicuserinterface,gui)等功能,并提供了大量的应用程序接口applicationprogramminginterface,api),从而使应用软件的开发变得更加简单。
(4)面向internet阶段:
进入21世纪,internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与internet技术的结合正在推动着嵌入式系统的飞速发展
4.简述嵌入式系统的发展趋势。
(1)新的微处理器层出不穷,精简系统内核,优化关键算法,降低功耗和软硬件成本。
(2)linux、windowsce、palmos等嵌入式操作系统迅速发展。
(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.简述嵌入式计算机系统中间层的组成和功能。
中间层也称为硬件抽象层(hardwareabstractlayer,hal)或板级支持包(boardsupportpackage,bsp),位于硬件层和软件层之间,将系统上层软件与底层硬件分离开来。
bsp作为上层软件与硬件平台之间的接口,需要为操作系统提供操作和控制具体硬件的方法。
不同的操作系统具有各自的软件层次结构,bsp需要为不同的操作系统提供特定的硬件接口形式。
bsp使上层软件开发人员无需关心底层硬件的具体情况,根据bsp层提供的接口即可进行开发。
bsp是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。
bsp一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。
9.简述嵌入式计算机系统系统软件层的组成和功能。
系统软件层通常包含有实时多任务操作系统(real-timeoperationsystem,rtos)、文件系统、图形用户接口(graphicuserinterface,gui)、网络系统及通用组件模块组成。
(1)嵌入式操作系统(embeddedoperatingsystem,eos)eos负责嵌入式系统的软件、硬件的资源分配、任务调度,控制协调。
(2)文件系统
嵌入式文件系统与通用操作系统的文件系统不完全相同,主要提供文件存储、检索和更新等功能,一般不提供保护和加密等安全机制。
(3)图形用户接口(gui)
gui使用户可以通过窗口、菜单、按键等方式来方便地操作计算机或者嵌入式系统。
10.简述rtos的定义与特点。
rtos是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。
特点:
(1)约束性
rtos任务的约束包括时间约束、资源约束、执行顺序约束和性能约束。
(2)可预测性
【篇三:
嵌入式课后答案】
嵌入式系统?
它由哪几部分组成?
有何特点?
以应用为中心,计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统、应用软件等几大部分组成。
嵌入式处理器与通用处理器的最大不同点在其大多工作在为特定用户群设计的系统。
外围设备包括:
存储器、接口、人机交互。
嵌入式操作系统的特点:
软硬件一体化,集计算机技术、微电子技术和行业技术为一体;需要操作系统支持,代码小,执行速度快;专用紧凑,用途固定,成本敏感;可靠性要求高;多样性,应用广泛,种类繁多。
2.嵌入式处理器分为哪几类?
低端的微控制器(microconctrollerunit,mcu)
中高端的嵌入式微处理器(embeddedmicroprocessorunit,empu)
通信领域的dsp系统(digitalsignalprocessor,dsp)
高度集成的片上系统(systemonchip,soc)
3.arm英文原意是什么?
它是个怎样的公司?
其处理器有何特点?
arm(advancedriscmachines)公司是全球领先的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-circuitemulator)、icd(in-circuitdebugger在线调试器)接口。
通过jtag既可以对目标系统进行测试,也可以对目标系统的存储单元进行编程。
3.什么是板级支持包?
它一般应完成哪些工作?
板级支持包(boardsupportpackage)是操作系统与目标应用硬件环境的中间接口,它是软件包中具有平台依赖性的那一部分。
功能:
在系统启动时,对硬件进行初始化;为驱动程序提供访问硬件的手段。
工作:
在系统启动时,对硬件进行初始化进行:
(1)将系统代码定位到cpu将要执行的内存入口处,比便硬件初始化完毕后cpu能够执
行系统代码
(2)根据不同cpu在启动时的硬件规定,bsp要负责将cpu设置为特定状态。
(3)对内存进行初始化,根据系统的内存配置将系统的内存划分为代码、数据、堆栈等
不同的区域。
(4)如果有特殊的启动代码,bsp要将控制权移交给启动代码。
(5)如果应用软件中包含一个嵌入式操作系统,bsp要负责将操作系统需要的模块加载
到内存中。
(6)如果应用软件中包含一个嵌入式操作系统,bsp还要在操作系统初始化之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- arm9 嵌入式 课后 答案