嵌入式综合练习答案.docx
《嵌入式综合练习答案.docx》由会员分享,可在线阅读,更多相关《嵌入式综合练习答案.docx(10页珍藏版)》请在冰豆网上搜索。
嵌入式综合练习答案
《嵌入式系统概论》综合练习
1.简述嵌入式系统与桌面通用系统的区别
答:
(1)嵌入式系统中运行的任务是专用且比较确定的;桌面通用系统需要支持大量的、需求多样的应用程序
(2)嵌入式系统往往对实时性提出较高的要求,实时系统是指能够在限定的响应时间内提供所需求的服务,嵌入式实时系统可分为:
强实时型、一般实时、弱实时型;桌面通用系统:
以性能、价格的最优为追求原则,面向多任务性能均衡
(3)嵌入式系统中使用的操作系统一般是实时操作系统,嵌入式实时操作系统数量众多,例如:
VxWorks、WindowsCE、pSoS/嵌入式Linux、RTLinux国产嵌入式实时操作系统,茹:
HOPEN、DeltaOS、SmartOS;桌面操作系统:
Linux、Windows系列
(4)嵌入式系统运行需要高可靠性保障,比桌面系统的故障容忍能力弱很多;嵌入式系统需要忍受长时间、无人值守条件下的运行;嵌入式系统运行的环境恶劣
(5)嵌入式系统大都有功耗约束
(6)嵌入式系统比桌面通用系统可用资源少得多;嵌入式系统的开发需要专用工具和特殊方法
(7)嵌入式系统开发是一项综合的计算机应用技术
2.简述嵌入式系统的组成结构
答:
嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统(可选),以及用户的应用软件系统等四个部分组成。
3.简述哈佛结构的特点
答:
(1)指令存储器与数据存储器一体化设计
(2)存储地址独立编址、独立访问
(3)四总线制提高吞吐率:
程序的地址总线、数据总线,数据的地址总线、数据总线
(4)取指与执行能并发
4.列举3种常见的嵌入式操作系统并分析其特点
答:
1、嵌入式linux
Linux作为嵌入式操作系统,具有以下特点:
(1)精简的内核,性能高、稳定,多任务;
(2)持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等;提供良好的开发环境,能够提供完善的嵌入式GUI以及嵌入式X-Windows;(3)支持大量嵌入式应用程序,提供嵌入式浏览器、邮件程序、MP3播放器、MPEG播放器、记事本等应用程序;(4)具有良好的开发环境,提供完整的开发工具和SDK,同时提供PC上的开发版本;(5)用户可定制,可提供图形化的定制和配置工具;(6)丰富的硬件驱动,常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富;(7)提供完善的解决方案。
针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案;(8)完善的中文支持,特别部分国产基于Linux的EOS,具有强大的技术支持,完整的文档;(9)开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构灵活,适用面广。
2、WindowsCE特点
(1)灵活的电源管理功能:
包括瞬眠/唤醒模式;
(2)对象存储(objectstore)技术。
包括文件系统、注册表及数据,还具有很多高性能、高效率的操作系统特性,包括按需换页、共享存储、交叉处理同步、支持大容量堆(heap)等;(3)良好的通信能力。
广泛支持各种通信硬件,亦支持直接的局域连接以及拨号连接,并提供与PC、内部网以及Internet的连接,还提供与Windows9x/NT的最佳集成和通信;(4)支持嵌套中断。
允许更高优先级别的中断首先得到响应,而不是等待低级别的ISR完成,具备实时性;(5)更好的线程响应能力。
对高级别IST(中断服务线程)的响应时间上限的要求更加严格,在线程响应能力方面的改进,帮助开发人员掌握线程转换的具体时间,并通过增强的监控能力和对硬件的控制能力帮助他们创建新的嵌入式应用程序;(6)256个优先级。
可以使开发人员在控制嵌入式系统的时序安排方面有更大的灵活性;(7)支持大量API。
WindowsCE的API是Win32API的一个子集,支持近1500个Win32API。
3、VxWorks
目前该操作系统的版本为VxWorks5.4,核心功能主要:
微内核wind,任务间的通信机制,高级的网络支持,功能强大的文件系统(VxWorks支持4种文件系统:
dosFs、rt11Fs、rawFs、
tapeFs)和I/O管理,POSIX标准实时扩展,C++和其他标准支持等核心功能;是现在所有独立于处理器的实时系统中最具特色的操作系统:
VxWork系统运行环境支持的CPU包括PowerPC、68K、SPARC、i960、x86等,同时支持RISC、DSP技术;微内核Wind是一个具有较高性能的标准的嵌入式实时操作系统内核,其主要特点包括快速多任务切换、抢占式任务调度、任务间通信手段多样化等。
5.简述ARM微处理器的特点
答:
(1)小体积、低功耗、成本低、高性能;
(2)16位/32位双指令集;
(3)全球众多的合作伙伴。
6.ARM处理器共有多少种寄存器?
几种工作模式?
答:
1、ARM处理器共有37个32位寄存器,其中:
31个为通用寄存器,6个为状态寄存器,通用寄存器R14~R0,程序计数器PC,一个或两个状态寄存器都是可访问的
2、七种ARM工作模式:
(1)用户模式(usr):
正常的程序执行模式;
(2)快速中断模式(fiq):
支持高速数据传输或通道处理;(3)中断模式(irq):
用于通用中断处理;(4)管理员模式(svc):
操作系统的保护模式;(5)中止模式(abt):
支持虚拟内存和/或内存保护;(6)系统模式(sys):
支持操作系统的特殊用户模式(运行操作系统任务);(7)未定义模式(und)-支持硬件协处理器的软件仿真,除了用户模式外,其他模式均可视为特权模式。
7.ARM有哪几种异常中断?
答:
7种异常:
(1)复位,进入管理模式;
(2)未定义指令:
未定义模式;(3)软件中断(SWI):
管理模式;(4)预取中止:
中止模式;(5)数据中止:
中止模式;(6)IRQ:
IRQ模式(7)FIQ:
FIQ模式
8.简述ARM异常中断的响应过程及异常返回的流程
答:
1、异常中断响应过程:
(1)在相应的链接寄存器LR(r14)中保存下一条指令的地址;
(2)保存当前的CPSR值,即将CPSR复制到新的异常模式的SPSR;(3)强制使CPSR模式位置成对应异常类型的值:
根据异常类型,重新设置CPSR的运行模式位CPSR[4:
0],使微处理器进入相应的工作模式;(4)强制给PC赋值,将相应的向量地址赋给PC,从而跳转到相应的异常处理程序处执行程序;(5)设置CPSR中的中断禁止位,以禁止中断发生。
2、异常返回流程:
(1)由链接寄存器LR的值恢复PC,返回到发生异常中断的指令的
下一条指令处执行程序;
(2)将SPSR复制回CPSR中;(3)若在进入异常处理时设置了中断禁止位,要在此清除。
9.简述ARM7与ARM9的主要区别
答:
10.简述什么是JTAG及其典型接口
答:
1、JTAG是JointTestActionGroup的缩写,是IEEE1149.1标准;JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试;在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线,IO口等信息,从而达到调试的目的。
2、JTAG的典型接口:
(1)TMS:
测试模式选择(TestModeSelect),通过TMS信号控制JTAG状态机的状态
(2)TCK:
JTAG的时钟信号(3)TDI:
数据输入信号(4)TDO:
数据输出信号(5)nTRST:
JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macrocell)
11.简述ARM的硬件断点和软件断点的优缺点
答:
(1)硬件断点:
数目受EmbeddedICE中的Watchpoint数目的限制;但是,可以在任何地方设置断点
(2)软件断点:
数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现
的,所以,软件断点只能在可写的存储器的地址中设置(比如:
RAM),而不能在ROM(比如:
Flash)中设置。
12.简述UEFI的优缺点
答:
1、UEFI优点:
(1)提供了一个连接操作系统载入程序与固件之间稳定的接口;
(2)一个更加强大的启动环境,这对那些系统设置公司来说,具有极大的价值;(3)解决了选择存储的问题;(4)为独立软件开发商和制造商提供了一个清晰的预启动编程环境;(5)延长了传统硬件的使用寿命
2、不足之处:
UEFI在安全问题并没有作出改善
13.简述DRAM与SRAM的区别
答:
(1)对DRAM芯片来说,在读出数据之后还需重新写回数据,因而它的访问延迟和存储周期不同。
SRAM的访问时间与存储周期则没有差别;
(2)为防止信息丢失,DRAM需要定期刷新每个存储单元,SRAM却不需要;
(3)DRAM设计强调容量,而对SRAM设计来说,容量和速度同样重要;
(4)就可以比较的存储器设计技术而言,DRAM的容量大概为SRAM的16倍,而SRAM的存储周期比DRAM的约快8~16倍。
14.简述NAND技术的特点
答:
NAND技术FlashMemory具有以下特点:
(1)以页为单位进行读和编程操作,具有快编程和快擦除的功能,其块擦除时间是2ms;而NOR技术的块擦除时间达到几百ms;
(2)数据、地址采用同一总线,实现串行读取。
随机读取速度慢且不能按字节随机编程;(3)芯片尺寸小,引脚少,是位成本(bitcost)最低的固态存储器,将很快突破每兆字节1美元的价格限制(3)芯片包含有失效块,其数目最大可达到3~35块,失效块不会影响有效块的性能。
15.简述嵌入式I/O接口的特点
答:
(1)微处理器是嵌入式计算平台的中枢,而接口是嵌入式的窗口和通道,没有它就无法工作
(2)嵌入式接口的特点是:
接口和设备电路紧密设计式
(3)大多为嵌入设计的处理器本身带有基本接口:
串、并、中断、AD/DA等
(4)嵌入式接口主要包含:
Cpu接口总线、村春接口总线、基本嵌入式接口、网络接口、标准接口
16.简述USB接口和IEEE1394接口的区别
答:
(1)传输速率不同:
目前的USB1.1标准的传输速率现在只有12Mbps,通常只能连接键盘、
鼠标与麦克风等低速设备;IEEE1394版本最高速率可达到400Mbps,可用来连接数码相机、扫描仪和信息家电等需要高速率的设备
(2)结构不同:
USB在连接时必须至少有一台电脑,并且必须需要HUB来实现多台设备
互连,整个网络中最多可连接127台设备;IEEE1394并不需要电脑来控制所有设备,也不需要HUB即可以实现多台设备的对等到互联。
可以用网桥将其他的IEEE1394网络连接起来,
达到无限连接。
(3)智能化程度不同:
IEEE1394网络可以在其设备进行增减时自动重设网络。
USB是以HUB
来判断连接设备的增减了。
(4)应用范围不同:
每台PC主板都设置了USB接口,USB2.0也会进一步加大USB应用的范围;IEEE1394目前主要在中、高档电脑、服务器计算机中得到普遍应用,在其它设备中通常只应用于音频、视频等多媒体方面。
17.简述SOC的概念
答:
SystemonChip,片上系统,系统级芯片。
从狭义角度讲,它是信息系统的芯片集成,是将系统集成在一块芯片上;从广义角度讲,SoC就是一个微小型系统,SoC不是各个芯片功能的简单叠加,而是从整个系统的功能和性能出发,用软硬结合的设计和验证方法,利用IP复用及深亚微米技术,在一个芯片上实现复杂的功能。
SoC是ASIC(ApplicationSpecificIntegratedCircuits)设计方法学中的新技术,SoC是市场和技术共同推动的结果。
18.简单对比嵌入式实时操作系统中的抢占式调度和非抢占式调度
答:
(1)抢占式调度:
优点是实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,缺点是上下文切换多;
(2)非抢占式调度:
优点是上下文切换少,缺点是一般情况下,处理器有效资源利用率低,可调度性不好;
(3)通用内核:
<1>调度策略:
优先级调度、时间片轮转调度<2>调度方式:
抢占式、不可抢占式、选择可抢占式<3>时间片:
定长时间片与变长时间片;
(4)商业上销售的实时内核都是抢占式内核。
19.简述VxWorks的特点
答:
(1)VxWorks6.0:
向后兼容,兼容5.X;存储保护技术;基于标准流程的编程模式;可根据客户需求定制的应用程序接口(API);错误探测与报告机制;可扩展的消息传递架构;双模式Ipv6/Ipv4网络栈;可支持非VxWorks应用;提高了对开放式标准的支持;支持处理器多
(2)VxWorks6.0的航向标:
对MMU、CACHE和大物理地址的抽象化。
20.简述VxWorks“可加载型启动方式”的启动过程(可用图示表示)
答:
21.简述VxWorks“基于ROM型启动方式”的启动过程(可用图示表示)
答:
22.简述嵌入式系统的启动流程
答:
(1)硬件加电;
(2)引导加载程序:
Boot代码、Bootloader等;(3)操作系统内核,如Linux内核:
根据特定的目标嵌入式硬件系统,定制的内核及启动参数;(4)加载文件系统:
包括根文件系统以及建立于Flash内存设备上的文件系统;(5)运行用户程序:
用户编写的完成特定功能的程序;一些用户程序运行在一个嵌入式图形用户界面(GUI)上,
常用的嵌入式GUI包括:
MicroWindows和MiniGuI等。
23.简述BootLoader的操作模式
答:
(1)启动加载模式(BootLoading):
<1>自主(Autonomous)模式,是BootLoader的正常工作模式;<2>流程:
从目标机某个固态存储设备上将OS加载到RAM;准备好内核运行所需的环境和参数;在RAM运行操作系统内核
(2)下载模式(Downloading):
用户干预进入下载模式,在控制台打印提示信息,等待用户输入,如用户不干预,则进入正常启动模式,即调用操作系统内核;可通过串口连接或网络连接等通信手段从主机(Host)下载文件,可以下载内核映像、根文件系统映像、Bootloader自身;通常在第一次安装内核与根文件系统时被使用;系统更新也会使用BootLoader的这种工作模式;流程,从主机下载的文件首先被BootLoader保存到目标机的RAM中,被BootLoader写到目标机上的FLASH类固态存储设备中,或者直接在RAM中运行
(3)通用bootloader一般同时支持两种工作模式:
如Blob或U-Boot;允许用户在这两种工作模式之间进行切换
(4)Blob在启动时处于正常的启动加载模式,但是它会延时10秒等待终端用户按下任意键而将blob切换到下载模式。
如10秒内没有用户按键,则blob继续启动Linux内核
24.简述Bootloader的特征
答:
(1)初始化硬件,特别是内存控制器;
(2)提供linux内核的启动参数;(3)启动linux内核。
25.简述U-boot的主要功能
答:
(1)系统引导:
支持NFS挂载、RAMDISK系统引导(压缩或非压缩)形式的根文件系
统;支持NFS挂载,从Flash中引导压缩或非压缩系统内核
(2)基本辅助:
强大的操作系统接口功能,可灵活设置、传递多个关键参数给操作系
统,适合系统在不同开发阶段的调试要求与产品发布,尤其对Linux支持最为功能强劲;
支持目标板环境参数的多种存储方式,如Flash、NVRAM、EEPROM;CRC32校验,可校验Flash
中内核、RAMDISK镜像文件是否完好
(3)设备驱动:
串口、SDRAM、Flash、以太网、LCD、NVRAM、EEPROM、键
盘、USB、PCMCIA、PCI、RTC等驱动支持
(4)上电自检功能:
SDRAM、Flash大小自动检测;SDRAM故障检测;CPU型号
(5)特殊功能:
XIP内核引导
26.简述嵌入式Linux的启动优化方法
答:
缩短响应时间的方法:
(1)固化各种不可扩张硬件的设置,尽量标准化可扩展设备的接口。
节约设备检测时间
(2)LazyLoading延迟加载:
不加载当前必需的模块;模块可以在启动后待机时间内加载,或者在具体用到之后再加载
(3)任务并行化:
启动任务的并行化,明确任务依赖关系,任务并行启动(make-j工具的使用)
(4)系统任务裁减:
裁减不适合本系统的部分任务
27.简述嵌入式GUI的特点
答:
(1)可移植性
(2)较高的稳定性和可靠性(3)系统开销少:
占用的存储空间以及运行时占用资源少;运行速度以及响应速度快(4)较高的可配置性:
可裁减性、界面特性配置、皮肤和主题配置。
28.简述Qt应用程序的执行过程(可用图示表示)
答:
29.简单对比NAND和NOR的区别
答:
30.简述WindowsCE的特点
答:
1.紧凑、高效和可扩展的操作系统,适用于各种嵌入系统和产品
2.拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境3.专门面向只有有限资源的硬件系统
4.采用模块化设计方式,对标准硬件和特定硬件都可定制Win32API子集
31.简述嵌入式开发的调试方法有哪些
答:
调试工作需要配和其他的模块或者产品方可完成,有一下几种调试方法:
模拟调试方法、ROMMonitor方式、内嵌JTAG仿真、在线仿真(ICE)