嵌入式课后答案.docx
《嵌入式课后答案.docx》由会员分享,可在线阅读,更多相关《嵌入式课后答案.docx(48页珍藏版)》请在冰豆网上搜索。
嵌入式课后答案
第一章
1.简述嵌入式的定义
以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
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)可预测性
可预测性就是指RTOS完成实时任务所需要的执行时间应就是可知的。
(3)可靠性(4)交互性
11、常用的RTOS调度技术有哪些?
各有什么特点?
(1)抢占式调度与非抢占式调度
抢占式调度通常就是优先级驱动的调度。
每个任务都有优先级,任何时候具有最高优先级且已启动的任务先执行。
抢占式调度实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其缺点就是上下文切换多。
而非抢占式调度就是指不允许任务在执行期间被中断,任务一旦占用微处理器就必须执行完毕或自愿放弃,其优点就是上下文切换少,缺点就是微处理器有效资源利用率低,可调度性不好。
(2)静态表驱动策略与优先级驱动策略
静态表驱动策略就是一种离线调度策略,指在系统运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表。
在系统运行时,调度器只需根据这张时刻表启动相应的任务即可。
优先级驱动策略指按照任务优先级的高低确定任务的执行顺序。
优先级驱动策略又分为静态优先级调度策略与动态优先级调度策略。
静态优先级调度就是指任务的优先级分配好之后,在任务的运行过程中,优先级不会发生改变。
静态优先级调度又称为固定优先级调度。
动态优先级调度就是指任务的优先级可以随着时间或系统状态的变化而发生变化。
12.冯诺依曼结构与哈佛结构各有什么特点?
(1)哈佛结构的主要特点就是将程序与数据存储在不同的存储空间中,即程序存储器与数据存储器就是两个相互独立的存储器,每个存储器独立编址、独立访问。
(2)冯·诺依曼结构的计算机由CPU与存储器构成,其程序与数据共用一个存储空间,程序指令存储地址与数据存储地址指向同一个存储器的不同物理位置;采用单一的地址及数据总线,程序指令与数据的宽度相同。
程序计数器(PC)就是CPU内部指示指令与数据的存储位置的寄存器
13.RISC架构与CISC架构相比有什么优点?
复杂指令集计算机(ComplexInstructionSetComputer,CISC);精简指令集计算机(ReducedInstructionSetComputer,RISC)
RISC优点:
(1)结构更加简单合理,从而提高运算效率;
(2)优先选取使用频率最高的、很有用但不复杂的指令,避免使用复杂指令;(3)固定指令长度,减少指令格式与寻址方式种类;(4)指令之间各字段的划分比较一致,各字段的功能也比较规整;(5)采用Load/Store指令访问存储器,其余指令的操作都在寄存器之间进行;(6)增加CPU中通用寄存器数量,算术逻辑运算指令的操作数都在通用寄存器中存取;(7)大部分指令控制在一个或小于一个机器周期内完成;(8)以硬布线控制逻辑为主,不用或少用微码控制;(9)采用高级语言编程,重视编译优化工作,以减少程序执行时间。
14.简述流水线技术的基本概念。
流水线技术的基本概念就是将一个重复的时序分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其她子过程同时执行。
15.试说明指令流水线的执行过程。
在流水线技术中,流水线要求可分成若干相互联系的子过程,实现子过程的功能所需时间尽可能相等。
形成流水处理,需要一段准备时间。
指令流发生不能顺序执行时,会使流水线过程中断,再形成流水线过程则需要时间。
(执行、取操作数、指令译码、取指令)
16.大端存储法与小端存储法有什么不同?
对存储数据有什么要求与影响?
小端:
较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址。
大端:
较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。
第二章
1、ARM微处理器的特点
A体积小、低功耗、低成本、高性能;
B支持Thumb(16位)/ARM(犯位)双指令集,能很好地兼容8位/16位器件;
C大量使用寄存器,指令执行速度更快;
D大多数数据操作都在寄存器中完成;
E寻址方式灵活简单、执行效率高。
2、画出ARM体系结构方框图,并说明各部分功能(23)
1.ALU
ARM体系结构的ALU与常用的ALU逻辑结构基本相同,由两个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。
ALU的最小数据通路周期包含寄存器读时间、移位器延迟、ALU延迟、寄存器写建立时间、双相时钟间非重叠时间等几部分。
2.桶形移位寄存器
ARM采用了32×32位桶形移位寄存器,左移/右移n位、环移n位与算术右移n位等都可以一次完成,可以有效的减少移位的延迟时间。
在桶形移位寄存器中,所有的输入端通过交叉开关(Crossbar)与所有的输出端相连。
交叉开关采用NMOS晶体管来实现。
3.高速乘法器
ARM为了提高运算速度,采用两位乘法的方法,2位乘法可根据乘数的2位来实现“加-移位”运算。
ARM的高速乘法器采用32×8位的结构,完成32×2位乘法也只需5个时钟周期
4.浮点部件
在ARM体系结构中,浮点部件作为选件可根据需要选用,FPA10浮点加速器以协处理器方式与ARM相连,并通过协处理器指令的解释来执行。
浮点的Load/Store指令使用频度要达到67%,故FPA10内部也采用Load/Store结构,有8个80位浮点寄存器组,指令执行也采用流水线结构。
5.控制器
ARM的控制器采用硬接线的可编程逻辑阵列PLA,其输入端有14根、输出端有40根,分散控制Load/Store多路、乘法器、协处理器以及地址、寄存器ALU与移位器。
6.寄存器
ARM内含37个寄存器,包括31个通用32位寄存器与6个状态寄存器
7、分析ARM11的内核结构(P26)
8、分析cortex-M4处理器内部结构(P33)
14、ARM微处理器支持哪几种运行模式?
各运行模式有什么特点?
答:
1)用户模式:
ARM处理器正常程序执行模式;
2)快速中断模式:
用于高速数据传输或通道处理;
3)外部中断模式:
用于通用的中断处理;
4)管理模式:
操作系统使用的保护模式;
5)数据访问终止模式:
当数据或指令预取终止时进入该模式,可用于虚拟存储
及存储保护;
6)系统模式:
运行具有特权的操作系统任务;
7)未定义指令中止模式:
当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
15、RM微处理器有哪几种工作状态?
各工作状态有什么特点
答:
ARM处理器有32位ARM与16位Thumb两种工作状态。
在32位ARM状态下执行字对齐的ARM指在16位Thumb状态下执行半字对齐的Thumb指令。
16、试分析ARM寄存器组织结构图,并说明寄存器分组与功能。
答:
1.通用寄存器
通用寄存器(R0~R15)可分成不分组寄存器R0~R7、分组寄存器R8~R14与程序计数器R15三类。
(1)不分组寄存器R0~R7
不分组寄存器R0~R7就是真正的通用寄存器,可以工作在所有的处理器模式下,
没有隐含的特殊用途。
(2)分组寄存器R8~R14
分组寄存器R8~R14取决于当前的处理器模式,每种模式有专用的分组寄存器
用于快速异常处理
(3)程序计数器R15
读程序计数器:
读PC主要用于快速地对临近的指令与数据进行位置无关寻址,包括程序中
的位置无关转移。
写程序计数器:
写R15的通常结果就是将写到R15中的值作为指令地址,并以此地址发生转
移。
2程序状态寄存器
寄存器R16用作程序状态寄存器CPSR(当前程序状态寄存器)。
在所有处理器模式下都可
以访问CPSR。
17、简述程序状态寄存器的位功能
(1)条件码标志
N、Z、C、V(Negative、Zero、Carry、oVerflow)均为条件码标志位(ConditionCodeFlags),它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令就是否被执行。
CPSR中的条件码标志可由大多数指令检测以决定指令就是否执行。
在ARM状态下,绝大多数的指令都就是有条件执行的。
在Thumb状态下,仅有分支指令就是有条件执行的。
通常条件码标志通过执行比较指令(CMN、CMP、TEQ、TST)、一些算术运算、逻辑运算与传送指令进行修改。
条件码标志的通常含义如下:
●N:
如果结果就是带符号二进制补码,那么,若结果为负数,则N=1;若结果为正数或0,则N=0。
●Z:
若指令的结果为0,则置1(通常表示比较的结果为“相等”),否则置0。
C:
可用如下4种方法之一设置:
一-加法(包括比较指令CMN)。
若加法产生进位(即无符号溢出),则C置1;否则置0。
一-减法(包括比较指令CMP)。
若减法产生借位(即无符号溢出),则C置0;否则置1。
一-对于结合移位操作的非加法/减法指令,C置为移出值的最后1位。
一-对于其她非加法/减法指令,C通常不改变。
●V:
可用如下两种方法设置,即
一-对于加法或减法指令,当发生带符号溢出时,V置1,认为操作数与结果就是补码形式的带符号整数。
一-对于非加法/减法指令,V通常不改变。
(3)控制位
程序状态寄存器PSR(ProgramStatusRegister)的最低8位I、F、T与M[4:
0]用作控制位。
当异常出现时改变控制位。
处理器在特权模式下时也可由软件改变。
⏹a.中断禁止位
I:
置1,则禁止IRQ中断;
F:
置1,则禁止FIQ中断。
⏹b.T位
T=0指示ARM执行;
T=1指示Thumb执行。
⏹c.模式控制位
M4、M3、M2、Ml与M0(M[4:
0])就是模式位,决定处理器的工作模式。
20、ARM体系结构支持几种类型的异常,并说明其异常处理模式与优先级状态?
答,支持7种类型的异常
异常处理过程:
(进入异常)PC→LR,CPRS→SPSR,设置CPSR的运行模式位,跳转
到相应的异常处理程序,(异常返回)LR→PC,SPSR→CPSR,若在进入异常处理时
设置中断禁止位,要在此清楚,复位异常处理程序不需要返回。
Reset>数据中指>快速中断请求(FIQ)>中断请求(IRQ)>指令预取中止>
未定义指令与软件中止。
、
21、简述异常类型的含义
⏹
(1)复位
⏹当处理器的复位电平有效时,产生复位异常,ARM处理器立刻停止执行当前指令。
复位后,ARM处理器在禁止中断的管理模式下,程序跳转到复位异常处理程序处执行(从地址0x00000000或0xFFFF0000开始执行指令)。
⏹
(2)未定义指令异常
⏹当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。
当ARM处理器执行协处理器指令时,它必须等待任一外部协处理器应答后,才能真正执行这条指令。
若协处理器没有响应,就会出现未定义指令异常。
若试图执行未定义的指令,也会出现未定义指令异常。
未定义指令异常可用于在没有物理协处理器(硬件)的系统上,对协处理器进行软件仿真,或在软件仿真时进行指令扩展。
⏹(3)软件中断异常(SoftWareInterrupt,SWI)
⏹软件中断异常由执行SWI指令产生,可使用该异常机制实现系统功能调用,用于用户模式下的程序调用特权操作指令,以请求特定的管理(操作系统)函数。
⏹(4)指令预取中止
⏹若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出存储器中止(Abort)信号,但当预取的指令被执行时,才会产生指令预取中止异常。
⏹(5)数据中止(数据访问存储器中止)
⏹若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。
存储器系统发出存储器中止信号。
响应数据访问(加载或存储)激活中止,标记数据为无效。
在后面的任何指令或异常改变CPU状态之前,数据中止异常发生。
⏹(6)外部中断请求(IRQ)异常
⏹当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。
系统的外设可通过该异常请求中断服务。
IRQ异常的优先级比FIQ异常的低。
当进入FIQ处理时,会屏蔽掉IRQ异常。
⏹(7)快速中断请求(FIQ)异常
⏹当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。
FIQ支持数据传送与通道处理,并有足够的私有寄存器。
22、简述ARM微处理器处理异常的操作过程。
1、将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。
若异常就是从ARM状态进入,LR寄存器中保存的就是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常就是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常就是从何种状态进入的。
例如:
在软件中断异常SWI,指令MOVPC,R14_svc总就是返回到下一条指令,不管SWI就是在ARM状态执行,还就是在Thumb状态执行。
2、将CPSR复制到相应的SPSR中。
3、根据异常类型,强制设置CPSR的运行模式位。
4、强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
24、说明存储器映射I/O的特点。
I/O口使用特定的存储器地址,当从这些地址加载(用于输入)或向这些地址存储(用于输出)时,完成I/O功能。
加载与存储也可用于执行控制功能,代替或者附加到正常的输入或输出功能。
然而,存储器映射I/O位置的行为通常不同于对一个正常存储器位置所期望的行为。
例如,从一个正常存储器位置两次连续的加载,每次返回的值相同。
而对于存储器映射I/O位置,第2次加载的返回值可以不同于第1次加载的返回值
43、简述ARMAMBA接口结构与功能。
AMBA有AHB(AdvancedHigh-performanceBus,先进高性能总线)、ASB(AdvancedSystemBus,先进系统总线)与APB(AdvancedPeripheralBus,先进外围总线)等三类总线。
⏹ASB就是目前ARM常用的系统总线,用来连接高性能系统模块,支持突发(Burst)方式数据传送。
⏹AHB不但支持突发方式的数据传送,还支持分离式总线事务处理,以进一步提高总线的利用效率。
特别在高性能的ARM架构系统中,AHB有逐步取代ASB的趋势,例如在ARM1020E处理器核中。
⏹APB为外围宏单元提供了简单的接口,也可以把APB瞧作ASB的余部。
⏹AMBA通过测试接口控制器TIC(TestInterfaceController)提供了模块测试的途径,允许外部测试者作为ASB总线的主设备来分别测试AMBA上的各个模块。
⏹AMBA中的宏单元也可以通过JTAG方式进行测试。
虽然AMBA的测试方式通用性稍差些,但其通过并行口的测试比JTAG的测试代价也要低些。
44.简述ARMJTAG调试接口结构、电路与功能。
ARMJTAG调试接口的结构如图2、7、2所示。
它由测试访问端口TAP(TestAccessPort)控制器、旁路(Bypass)寄存器、指令寄存器、数据寄存器以及与JTAG接口兼容的ARM架构处理器组成。
处理器的每个引脚都有一个移位寄存单元(边界扫描单元(BSC,BoundaryScanCell)),它将JTAG电路与处理器核逻辑电路联系起来,同时,隔离了处理器核逻辑电路与芯片引脚。
所有边界扫描单元构成了边界扫描寄存器BSR,该寄存器电路仅在进行JTAG测试时有效,在处理器核正常工作时无效。
(1)JTAG的控制寄存器
①测试访问端口TAP控制器对嵌入在ARM处理器核内部的测试功能电路进行访问控制,就是一个同步状态机。
通过测试模式选择TMS与时钟信号TCK来控制其状态转移,实现IEEE1149、1标准所确定的测试逻辑电路的工作时序。
②指令寄存器就是串行移位寄存器,通过它可以串行输入执行各种操作的指令。
③数据寄存器组就是一组串行移位寄存器。
操作指令被串行装入由当前指令所选择的数据寄存器,随着操作的进行,测试结果被串行移出
第三章
2简述S3C2410A存储器控制器的特性。
特性:
●支持小/大端(通过软件选择)。
●地址空间:
每个bank有128MB(总共有8个bank,共1GB)。
●除bank0只能就是16/32位宽之外,其她bank都具有可编程的访问位宽(8/16/32位)。
●总共有8个存储器bank(bank0~bank7):
一其中6个用于ROM,SRAM等;
一剩下2个用于ROM,SRAM,SDRAM等。
●7个固定的存储器bank(bank0~bank6)起始地址。
●最后一个bank(bank7)的起始地址就是可调整的。
●最后两个bank(bank6与bank7)的大小就是可编程的。
●所有存储器bank的访问周期都就是可编程的。
●总线访问周期可以通过插入外部等待来扩展。
●支持SDRAM的自刷新与掉电模式。
3画出S3C2410A复位后的存储器映射图,并分析不同存储器的地址范围。
(P69-70)
S3C2410A复位后,存储器的映射情况如图3、2、1所示,bank6与bank7对应不同大小存储器时的地址范围参见表3、2、1。
4试分析复位电路的工作过程。
工作过程:
在系统上电时,通过电阻R108向电容C162充电,当C162两端的电压未达到高电平的门限电压时,RESET端输出为高电平,系统处于复位状态;当C162两端的电压达到高电平的门限电压时,RESET端输出为低电平,系统进入正常工作状态。
当用户按下按钮RESET时,C162两端的电荷被放掉,RESET端输出为高电平,系统进入复位状态,再重复以上的充电过程,系统进入正常工作状态。
6简述S3C2410A时钟电路的特点。
特点:
产生CPU所需的FCLK时钟信号。
AHB总线外围设备所需的HCLK时钟信