微控制器系统设计复习题.doc

上传人:wux****ua 文档编号:9562051 上传时间:2020-04-06 格式:DOC 页数:16 大小:1.27MB
返回 下载 相关 举报
微控制器系统设计复习题.doc_第1页
第1页 / 共16页
微控制器系统设计复习题.doc_第2页
第2页 / 共16页
微控制器系统设计复习题.doc_第3页
第3页 / 共16页
点击查看更多>>
资源描述
v 1. 通过 PA 口控制 PB 口,PA 口作为输入口与开关 K0K7 相连,PB 口作为输出口与小灯 L0L7 相连。设计硬件电路,且编程控制,在拨动开关时控制小灯的亮灭。 ORG 0000H LJMP MAIN ORG 0770H MAIN: MOV DPTR,#OFF2BH MOV A, # 90H MOVX DPTR, A LOOP1: MOV DPTR,#OFF28H MOVX A ,DPTR INC DPTR MOVX DPTR,A SJMP LOOP1 END v 例题 用6264(8K8位)给8051单片机的外围扩展8K的片外数据存储器,画出与单片机相连地址线、数据线和控制线,并注明信号名称。例题 给8051单片机的外围扩展一片16K8位片外程序存储器,画出与单片机相连地址线、数据线和控制线,并注明信号名称。 LED显示器有静态显示和动态显示两种方式,显示原理是什么? 静态显示就是在同一时刻只显示一种字符,或者说被显示的字符在同一时刻是稳定不变的。其显示方法比较简单,只要将显示段码送至段码口,并把位控字送至位控口即可。 动态显示是同一时刻只有被选通位的数码管能显示相应的字符,而其他所有位都是熄灭的。利用人眼对视觉的残留效应,采用动态扫描显示的方法,逐个循环的点亮各位数码管,每位显示1ms左右。使人感觉就好像在同时显示不同的字符一样。LED数码显示器有两种连接方法共阳极接法或共阴极接法常用键盘接口分为独立式键盘接口和行列式键盘接口。一般按键较少时采用独立式键盘,在按键较多时采用矩阵式键盘。他们的工作原理是什么?独立式键盘是指用I/O口线构成的单个键盘电路。每个独立式键盘单独占有一根I/O口线,每根I/O口线的工作状态不会影响其他I/O线的工作状态。在独立式按键电路中,按键输入一般采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平无按键按下时,常态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平亦为高。消抖和按键释放怎么理解?在第一次检测到有按键按下时,该键所对应的行线为低点平,之行一段延时10ms的子程序后,确认该行线电平是否为低电平,如果仍为低电平,则认为该行确实有按键按下。通常在检测到一次有效的按键操作后,并不立即执行该键的功能程序,而是继续检测该键是否被释放,当检测到该键被释放后立即执行该键的功能程序,这样就可以保证一次按键操作,只执行一次键功能程序。v A/D转换是把连续的模拟电信号转换成时间和数值离散的数字信号的过程。v A/D转换过程主要包括采样、量化和编码。 v 如当满量程电压为5V,采用10位A/D转换器的量化间隔、绝对量化误差、相对量化误差分别为: D/A转换器与 A/D转换器的功能是什么?各在什么场合下使用?A/D转换是把连续的模拟电信号转换成时间和数值连续的数字信号的过程实现转换的器件称为模数转换器低速A/D转换器件:双积分型中速A/D转换器件:逐次逼近型高速A/D转换器件:并行比较型逐次逼近型是目前使用最广泛的一种,其性价比适中,适合一般的应用;双积分型具有转换精度高、抗干扰性好的优点,但是转换速度慢,常用于各类仪器仪表中;并行式是一种通过编码技术实现高速A/D转换的器件,其速度可以达到几十ns,但是价格很高。 D/A转换的目的是把输入的数字信号转换成与此数字量大小成正比的模拟量D/A 转换器的主要性能指标有哪些?设某 DAC 有二进制 12 位,满量程输出电压为 5V,请问它的分辨率是多少? 主要性能指标:D/A建立时间、分辨率、D/A转化精度 分辨率为5/4096v 判断下列说法是否正确? v (1) “转换速度”这一指标仅适于 A/D转换器,D/A 转换其可以忽略不计转换时间。(w) v (2) ADC0809可以利用“转换结束”信号 EOC向8051 单片机发出中断请求。(r) v (3) 输出模拟量的最小变化量称为 A/D转换器的分辨率。 (w)v (4) 输出的数字量变化一个相邻的值所对应的输入模拟量的变化称为 D/A 转换器的分辨率。 (w)v 请分析 A/D 转换器产生量化误差的原因,具有 8 位分辨率的 A/D 转换器,当输入 05V 电压时,其最大量化误差是多少? 把电压值分成有限的数值区间,使某个区间的所有电压值都对应一个数字量,这个过程称为量化,量化导致的误差称为量化误差。 v 8051 单片机与 DAC0832 接口时,有那三种工作方式?各有什么特点?适合在什么场合使用? 方式:直通式、单缓冲、双缓冲 直通: 当DAC0832的片选信号 、写信号 、及传送控制信号 的引脚全部接地,允许输入锁存信号ILE引脚接+5V时,DAC0832工作于直通方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。但由于直通方式不能直接与系统的数据总线相连,需另加锁存器,故较少应用。 单缓冲:单缓冲方式是指内部的一个寄存器工作于直通状态,另一个工作于受控状态,当然也可以使两个寄存器同时选通及锁存。因此,单缓冲方式有三种不同的连接方法;在不要求多相D/A同时输出时,可以采用单缓冲方式,此时只需一次写操作,就开始转换,可以提高D/A的数据吞吐量。 双缓冲:就是把DAC0832的两个锁存器都接成受控锁存方式。由于芯片中有两个数据寄存器,这样就可以将8位输入数据先保存在“输入寄存器”中,当需要D/A转换时,再将此数据从输入寄存器送至“DAC寄存器”中锁存并进行D/A转换输出。采用这种方式,可以克服在输入数据更新期间输出模拟量随之出现的不稳定。这时,可以在上一次模拟量输出的同时,将下一次要转换的数据事先存入“输入寄存器”中,一方面克服了不稳定现象,另一方面出提高了数据的转换速度;用这种方式还可以同时更新多个D/A转换器的输出;此外,采用两级缓冲方式也可以使位数较多的DAC器件用于数据位数较少的系统中;在多路D/A转换需要同步的时候,双缓冲方式是非常有用的,比如数字式示波器 RS-232、RS-485、CAN为外总线,它们是系统之间的通信用总线;I2C、SPI是内总线,主要用于系统内芯片之间的数据传输。 SPI只需四条线就可以完成MCU与各种外围器件的通信,这四条线是:串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线(/CS)。 工作原理:当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。主SPI的时钟信号(SCK)用来保证传输的同步。 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 工作原理: I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系; SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。1. 填空题 (1) 干扰窜入单片机系统的主要途径有 空间干扰 、供电系统干扰 、过程通道干扰v 其他干扰 。 v (2) 干扰的耦合方式主要有:光电耦合器、隔离变压器、滤波器 v 等几种形式。 v (3) 常用的数字滤波方法有 、 、 、 、 v 、 和 等几种。 v (4) 常用的软件抗干扰技术有 :软件滤波、指令冗余技术、软件陷阱技术 、“看门狗” 技术v 2. 选择题 v (1) 可以使 PC 摆脱“死循环”困境的是 C 。 v ANOP指令冗余 B软件陷阱技术 v CWatchdog 技术 D数字滤波 v (2) 可以抑制空间干扰的是 D 。 v A光电隔离 B双绞线传输 v C可靠接地 D屏蔽技术 v (4) Watchdog定时间隔 tw以满足最好为 A。 v A1.1Ttw2T BTtw1.1T v C1.1Ttw1.5T D1.5Ttw2T v (5) 单片机系统受到干扰后,容易使程序计数器 PC 发生改变,则不能使程序纳入正轨的是。 Dv A软件陷阱 BWatchdog 技术 v C指令冗余技术 D数字滤波技术 习题11.什么是嵌入式系统?嵌入式系统的特点是什么? 我国通常定义:嵌入式系统(Embedded System)就是嵌入到目标体系中的专用计算机系统嵌入式系统是指以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 嵌入性、专用性与计算机系统是嵌入式系统的3个基本要素 嵌入式系统的特点:1嵌入式系统是专用的计算机系统2嵌入式系统须满足系统应用环境的要求3嵌入式系统需满足对象系统的控制要求4嵌入式系统是一个知识集成应用系统5嵌入式系统具有较长的应用生命周期6嵌入式系统软件固化在非易失性存储器中7多数嵌入式系统具有实时性要求8嵌入式系统设计需专用的开发环境和工具4 嵌入式系统有哪些组成部分?各部分的功能和作用是什么? 硬件层由嵌入式微处理器、存储系统、通信模块、人机接口、其他I/O接口(A/D、D/A、通用I/O等)以及电源等组成。嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理器基础上增加电源电路、时钟电路和存储器电路(RAM,ROM等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在ROM中 中间层程序主要为上层软件提供了设备的操作接口,它包括硬件抽象层(Hardware Abstraction Layer,HAL)、板级支持包(Board Support Package,BSP)以及设备驱动程序 应用软件是在嵌入式操作系统支持下通过调用API函数,结合实际应用编制的用户软件5 简述嵌入式处理器的分类及各自的主要特点。写出EMPU、EMCU、EDSP、SOC和SOPC的全称,并解释其含义 嵌入式处理器的种类 嵌入式微处理器(Embedded Microcomputer Unit,EMPU)、 嵌入式微控制器(Embedded Microcontroller Unit,EMCU) 嵌入式数字信号处理器(Embedded Digital Signal Processor,EDSP) 嵌入式片上系统(System On Chip,SOC) 嵌入式可编程片上系统(System On a Programmable Chip,SOPC)。 嵌入式微处理器是由PC中的CPU演变而来的,与通用PC的微处理器不同的是,它只保留了与嵌入式应用紧密相关的功能硬件,ARM是应用最广、最具代表性的嵌入式微处理器。 嵌入式微控制器的典型代表是单片机,其内部集成了ROM/EPROM/Flash、RAM、总线、总线逻辑、定时器、看门狗、I/O接口等各种必要的功能部件。 嵌入式数字信号处理器(DSP)是专门用于数字信号处理的微处理器,在系统结构和指令算法方面经过特殊设计,因而具有很高的编译效率和指令执行速度 SOC是一个集成的复杂系统,它一般将一个完整的产品的各功能集成在一个芯片上或芯片组上SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器的片内嵌入了操作系统,不仅减小了系统的体积和功耗,而且提高了系统的可靠性和设计生产效率。 可编程片上系统SOPC 是一种基于FPGA的可重构SOC,它集成了硬IP核或软IP核CPU、DSP、存储器、外围I/O及可编程逻辑,是更加灵活、高效的SOC解决方案。SOC与SOPC的区别:SOC是专用集成系统,设计周期长,设计成本高,SOPC是基于FPGA的可重构SOC,是一种通用系统,设计周期短,设计成本低7 简述典型的嵌入式微处理器和微控制器的系列及应用领域。 ARM处理器目前包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、ARM11系列、 SecurCore系列、OptimoDE系列、StrongARM系列、XScale系列以及Cortex-A8系列等。 ARM7、ARM9、ARM9E及ARM10E为4个通用嵌入式微处理器系列,每个系列提供一套相对独特的性能来满足不同应用领域的要求,有多个厂家生产;SecurCore系列则是专门为安全性要求较高的场合而设计的;Strong ARM是Intel公司生产的用于便携式通信产品和消费电子产品的理想嵌入式微处理器,应用于多家掌上电脑系列产品;Xscale是Intel 公司推出的基于ARMv5TE体系结构的全性能、高性价比、低功耗的嵌入式微处理器,应用于数字移动电话、个人数字助理和网络产品等场合。 Cortex-A8处理器是第一款基于下一代ARMv7架构的应用处理器,使用了能够带来更高性能、功耗效率和代码密度的Thumb-2技术8 简单分析几种嵌入式操作系统的主要特点,包括嵌入式Linux,Windows CE,C/OS- II及VxWorks。1Linux Linux是一种自由和开放源码的类Unix操作系统,目前存在着许多不同的Linux,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。 2Windows CE Microsoft Windows CE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。该操作系统的基本内核至少需要200 KB的ROM。,其缺点是系统软件价格过高,影响整个产品的成本控制。 3.C/OS-IIC/OS-II是一个可裁剪、源代码开放、结构小巧、抢先式的实时嵌入式操作系统,主要用于中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能好和可扩展性强等优点。4 VxWorks VxWorks操作系统是一种实时操作系统。VxWorks拥有良好的持续发展能力、高性能的内核以及友好的用户开发环境,它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高、精、尖技术及实时性要求极高的领域中,。但大多数的VxWorks API是专用的,VxWorks的价格昂贵。 5苹果iOS iOS是由苹果公司为iPhone开发的操作系统。它是以Darwin为基础的,主要是给iPhone、iPod touch以及iPad使用。6.Android Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。Android操作系统最初由Andy Rubin开发,最初主要支持手机。9 嵌入式系统的应用模式有哪几种?各有什么有缺点? 1非操作系统层次的应用 非操作系统层次的应用,主要是在一些结构简单的系统中或在实时性要求非常高的系统中,许多时候用于代替原来8位/16位单片机的应用。随着32位单片机成本的不断降低,其成本已与8位单片机相差无几。因此,非操作系统层次的应用也越来越广泛。 2操作系统非GUI层次的应用 操作系统非GUI层次的应用,主要是指其应用程序建立在操作系统基础上,是为了实现程序的多任务及实时性,此类应用在人机交互方面没有很高的要求,可选择的操作系统有许多。 3操作系统GUI层次的应用操作系统GUI层次的应用,主要是为了方便实现人机交互功能、网络功能、数据库功能以及其它更复杂的应用。GUI层次的开发,除了借助于操作系统及GUI库强大的功能,更重要的是可以让程序开发人员把关注点集中在高层的目标与任务的实现中,使嵌入式系统应用的开发更简单,让开发速度及开发效率更高10简述嵌入式系统的总体设计应考虑哪些因素。 1嵌入式微处理器及操作系统的选择嵌入式微处理器可谓多种多样,品种繁多,而且都在一定领域应用广泛 2开发工具的选择 目前用于嵌入式系统设计的开发工具种类繁多,不仅各种操作系统有各自的开发工具, 在同一系统下开发的不同阶段也使用不同的开发工具。 3对目标系统的观察与控制 要使系统能正常工作,软件开发者必须要对目标系统具有完全的观察和控制能力,如硬件的各种寄存器、内存 空间,操作系统的信号量、消息队列、任务、堆栈等。11 简述嵌入式系统的开发环境的组成,解释其中的基本概念。 嵌入式系统的开发环境一般由三个部分组成:宿主机、调试仿真器和目标机。其中宿主机用来完成源代码编辑、编译、显示一部分运行结果等。目标机就是用户嵌入式程序的运行环境,通过调试仿真器可以在PC上实现对应用软件的调试;再使用烧写软件,将开发成功的应用系统从宿主机向目标机下载移植,从而完成整个开发过程。12 简述嵌入式系统的调试方法。 1指令集模拟器方便用户在PC上完成一部分简单的调试工作,与真实的硬件环境相差很大,因此即使用户调试通过的程序也有可能无法在真实的硬件环境下运行, 2驻留监控软件 驻留监控软件(Resident Monitors)是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通信端口与驻留监控软件进行交互,由调试软件发布命令,通知驻留监控软件控制程序执行、读/写储存器、读/写寄存器和设置断点等。是一种比较低廉有效的调节方式,不需要任何其它的硬件调试和仿真设备。对硬件设备的要求比较高。 3JTAG仿真器 也称为JTAG调试器,是通过ARM芯片的JTAG边界扫描口进行调试的设备。JTAG仿真器比较便宜,连接比较方便,它无需目标储存器,不占用目标端口的任何端口。另外,由JTAG调试的目标程序是在目标板上执行的仿真,许多接口问题被最小化了。是目前采用最多的一种调节方式4在线仿真器 在线仿真器使用仿真头完全取代目标板上的CPU,可以完全仿真ARM芯片的行为,提供更加深入的调试功能。但全速仿真时钟速度高于100MHz,价格比较昂贵。在线仿真器常用在ARM的硬件开发中,在软件的开发中使用较少,其价格昂贵也是在线仿真器难以普及的因素。 13 简述嵌入式系统的设计方法和嵌入式系统的设计步骤。软硬件协同设计方法与传统设计相比有2个显著的特点: 描述软、硬件使用统一的表示形式; 硬、软件划分可以选择多种方案,直到满足要求。14 简述嵌入式应用软件的开发的特点。 1需要交叉编译工具由于嵌入式系统目标机上的资源较为有限,不能直接在目标机上开发和调试应用软件。因此,需要放在高性能计算机上的集成开发环境上进行嵌入式应用软件开发,另一个原因是嵌入式系统处理器与PC处理器的指令系统不同 2 通过仿真手段进行调试在目标机上调试排错是非常困难的。原因是输入输出方式较少,多数嵌入式系统显示面积小,甚至没有显示屏,从而无法显示调试信息;调试工具需要较大存储空间,对嵌入式系统来说,比较困难。因此,通常的调试也是在PC上完成的,方式就是仿真调试。 3目标机是最终的运行环境嵌入式应用程序开发、调试往往是在PC上完成的,最终的运行环境是目标机。嵌入式应用程序开发调试完成后,到目标机上运行,正确运行后才表示成功。如果不成功或需要完善,则需重新 回到PC上运行修改调试。 4执行应用程序的指令通常写入操作系统 在常用的嵌入式系统中,应用程序的启动执行指令通常需要预先写入操作系统的任务调度程序里,编辑在目标程序中。因此,嵌入式应用程序与操作系统有一定联系,开发者不仅要了解应用程序,也要了解操作系统, 5系统资源有限 必须考虑可用资源问题。以存储容量为例,嵌入式系统的ROM容量少,对目标程序有长度限制,在编程时必须考虑这个限制。 6控制特定部件在嵌入式应用软件开发过程中,程序员往往需要针对特定的部件做更加细致的编写作业。1 目前世界上流行的四种嵌入式处理器是哪几种? Power PC、MIPS、MC68000、 i386EX、AMD K6 2E以及ARM2具体说明ARM7TDMI的含义,其中的T、D、M、I分别代表什么?ARMxyzTDMIEJF-S其中花括号的内容表示可有可无。前三个参数含义在下面说明:x表示系列号,例如:ARM7,ARM9,ARM10y表示内部存储管理和保护单元,例如:ARM72,ARM92z表示含有高速缓存(Cache),例如:ARM720,ARM940TThumb指令集,Thumb指令的长度为16位。目前Thumb有两个版本。Thumb1用于ARM4的T变种,Thumb2用于ARM5以上的T变种。D含JTAG调试器,支持片上调试。M提供用于进行长乘法操作的ARM指令,产生全64位结果。I嵌入式跟踪宏单元(EmbeddedICE macrocell)硬件部件,提供片上断点和调试点支持。E增强型DSP指令,增加了几条16位乘法和加法指令,加减法指令可以完成饱和带符号算术运算。JJAVA加速器Jazelle,与普通的JAVA虚拟机相比较,Jazelle使Java代码运行速度提高了8倍,而功耗降低了80%。F向量浮点单元S可综合版本,以源代码形式提供的,可以被EDA工具使用。3简述CISC与RISC 体系结构的特点。 CISC(Complex Instruction Set Computer)复杂指令集计算机:指令复杂,开发成本高、指令长度不等,大量微码、不利于VLSI实现统计发现,20%的简单指令(取数、运算、转移等)占CPU动态执行时间的80%90%;80%的复杂指令只占CPU动态执行时间的20% RISC( Reduced Instruction Set Computer )精简指令集计算机:精简指令集的复杂度,简化指令实现的硬件设计,硬件只执行使用频度最高的那部分简单指令,大部分复杂的操作则由简单指令的组合完成RISC与CISC比较 RISC指令格式和长度固定,类型少,功能简单、寻址简单方式少;CISC指令长度不等、类型多、功能复杂。RISC使用硬连线指令译码逻辑,易于流水线实现;CISC采用微码ROM译码。RISC大多数指令单周期完成;CISC指令多为多周期完成。RISC除Load/Store指令外,所有指令只对寄存器操作;大多数CISC指令皆可对主存及寄存器器操作。 RICS的不足:RISC代码密度没有CISC高,CISC中的一条指令在RISC中有时要用一段子程序来实现。RISC不能执行x86代码RISC给优化编译程序带来了困难4 什么是ARM处理器的ARM状态和Thumb状态?ARM 处理器的七种基本工作模式是哪些? ARM状态:ARM状态下指令长度为32位,ARM指令,字对准 Thumb状态:Thumb状态下长度为16位, Thumb指令,半字对准。 ARM处理器可以在ARM和Thumb两种状态之间进行切换 ,状态的切换不影响处理器的模式或寄存器的内容进入Thumb状态: 执行BX Rm指令进入Thumb状态。当操作数寄存器Rm的bit0为1时,执行该指令进入Thumb状态。 异常处理返回时,自动切换到Thumb状态(若在Thumb状态进入异常)进入ARM状态: 执行BX Rm指令进入ARM状态。 进行异常处理时进入ARM状态ARM处理器启动时,只能处于ARM状态ARM支持7种工作模式,由CPSR的低5位决定。处理器模式 说明 备注用户 (usr) 正常程序执行模式 不能直接切换到其它模式系统 (sys) 运行操作系统的特权任务 与用户模式类似,但具有可以 直接切换到其它模式等特权快中断 (fiq) 支持高速数据传输及通道处理 FIQ异常响应时进入此模式中断 (irq) 用于通用中断处理 IRQ异常响应时进入此模式管理 (svc) 操作系统保护模式 系统复位和软件中断响应时进入此模式中止 (abt) 用于支持虚拟内存和/或存储器保护 在ARM7TDMI没有大用处未定义 (und) 支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式 除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内资源在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。 特权模式中除系统模式外的其它5种模式称为异常模式,即把FIQ、IRQ、SVC、中止(Abort)和未定义(Undefined)5种模式称为异常模式。此类模式用于处理中断和异常,发生异常或中断时,进入相应的异常模式,拥有部分专用寄存器。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。5.ARM处理器有多少个可访问的寄存器? R13R15通常用来存储什么?ARM处理器总共有37个寄存器,可分为两类: 通用寄存器 (31个)R0R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_frqR14_frq。 状态寄存器(6个)CPSR、SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq 分组寄存器R13: R13通常用做堆栈指针SP ,习惯用法,非强制 每一种异常模式都有自已的物理R13分组寄存器R14: R14称作子程序链接寄存器(Link RegisterLR),简称LR,用于存放当前子程序的返回地址。当程序执行子程序调用指令BL,BLX时,当前的PC将保存在R14中。执行完子程序后,只要将R14复制到PC,子程序即可返回。 每一种异常模式都有自已的物理R14程序计数器R15: 寄存器R15被用作程序计数器,也称为PC R15值的改变将引起程序执行顺序的变化,这有可能引起程序执行中出现一些不可预料的结果 ARM处理器采用多级流水线技术,因此保存在R15的程序地址并不是当前指令的地址 一些指令对于R15的用法有一些特殊的要求 CPSR(Current Program Status Register):当前程序状态寄存器,指示当前程序的状态信息,包括条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。 SPSR(Saved Program Status Register):程序状态保存寄存器。每种异常模式都有一个对应的SPSR物理寄存器( SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq、SPSR_fiq ),当异常出现时,用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。 SPSR的格式与CPSR相同。 Thumb状态下的寄存器集是ARM状态下寄存器集的子集。程序员可以直接访问8个通用的寄存器(R0R7),程序计数器PC、堆栈指针SP、连接寄存器LR和当前状态寄存器CPSP。每一种特权模式都各有一组SP,LR和SPSR。6ARM V4及以上版本的CPSR的哪一位反映了处理器的状态?若CPSR=0x00000090,分析系统的状态。7 ARM有哪几个异常的类型,为什么FIQ的服务程序地址要位于0x1C?在复位后,ARM处理器处于何种模式,何种状态?异常中断类型复位中断(Reset)未定义指令异常(Undefined Instruction)软件中断(Software interrupt)预取指令中止异常(Prefetch Abort)取数据中止异常(Data Abort)普通中断 (Interrupt ReQuest-IRQ)快速中断FIQ8.简述ARM异常中断的响应过程。 ARM处理器对异常中断的响应过程如下: 1, 将CPSR的内容保存到相应的异常模式的SPSR_中 2, 设置当前状态寄存器CPSR中的相应位 设置模式控制位CPSR4:0 设置中断标志位CPSR7,禁止IRQ 若是进入Reset 或FIQ,还需设置中断标志位CPSR6,禁止FIQ3, 将产生异常中断指令的下一条指令的地址保存到相应的连接寄存器R14_ 中4, 给程序计数器(PC)强制赋值(即装入相应的异常中断向量地址) 指令寻址方式、简单汇编指令阅读NOR Flash与NAND Flash优缺点。 Flash闪存,分为这两种。 NAND Flash非易失性,读写速度快,容易做到大容量,用作存储数据。 NOR Flash存储速度快,用作内存片或者叫做数据缓冲。S3c44b0的内核,S3C2410的内核,以及他们的功能特点。 S3c44b0它采用ARM7TDMI核,为32位嵌入式微处理器。S3C44B0X内部集成了8KB的Cache(指令和数据共用)、写缓冲器、存储器控制器、LCD控制器、中断控制器、总线仲裁器、电源管理单元、时钟发生器、通用并行口GPIO、异步通信串行口UART、I2C总线控制器、I2S总线控制器、同步串行口SIO、5路16位PWM定时器、16位看门狗定时器、8路10位A/D转换器、实时钟电路以及JTAG接口。采用两种封装形式,一种是160个引脚的LQFP封装,另一种是160个引脚的FBGA封装;S3C44B0X的许多引脚是分时复用的,以节省引脚数。S3C2410 采用ARM920T核,而ARM920T又集成了ARM9TDMI,所以是中高档32位嵌入式微处理器。由于采用ARM920T体系结构,因此内部具有分离的16KB大小的指令缓存和数据缓存。同时,它采用哈佛体系结构将程序存储器与数据存储器分开,加入了存储器部件(MMU),采用5级指令流水线。它使用ARM公司特有的AMBA总线,对于高速设备采用AHB总线,而对于低速内部外设则采用APB总线。AHB通过桥接器转换成APB。内部集成了许多外设接口,除了S3C44B0X所有内部外设,还增加了许多工作新外设接口。 1、 主要嵌入式文件系统有哪几种?这些文件系统各有什么特点? (1) Romfs。传统型的Romfs文件系统是最常用的一种文件系统,它是一种简单的、紧凑的、只读的文件系统,不支持动态擦写保存。 (2) Cramfs。Cramfs是Linux的创始人Linux Torvalds开发的一种可压缩只读文件系统。它的速度快,效率高,其只读的特点有利于保护文件系统免受破坏,提高了系统的可靠性。 (3) Ramfs/Tmpfs。Ramfs也是Linux Torvalds开发的,Ramfs文件系统把所有的文件都放在RAM里运行,通常用来存储一些临时性或经常要修改的数据。Tmpfs的一个缺点是当系统重新引导时会丢失所有数据。 (4) JFFS2。JFFS2是一个可读写、可压缩的日志型文件系统,并提供了崩溃/掉电安全保护,克服了JFFS的一些缺点,使用了基于哈希表的日志节点结构,大大加快了对节点的操作速度,支持数据压缩,提供了“写平衡”支持,支持多种节点类型,提高了对闪存的利用率,降低了内存的消耗。 (5) Yaffs。Yaffs/Yaffs2是一种JFFSx类似的闪存文件系统,它是专为嵌入式系统使用Nand型闪存而设计的一种日志型文件。与JFFS2相比,它减少一些功能,所以速度更快,而且内存的占用比更小。2、嵌入式Linux开发一般包括哪几个步骤?每个步骤分别起什么作用? (1) 建立嵌入式Linux交叉开发环境。交叉开发环境是指编译、链接和调试嵌入式应用软件的环境。它与运行嵌入式应用软件的环境有所不同,常采用宿主机/目标机模式。 (2) 交叉编译和链接。在完成嵌入式软件的编码之后,就是进行编译和链接,以生成可执行代码。 (3) 交叉调试。交叉调试就是通过在线仿真器对产品进行软硬件调试。(4) 系统测试。在整个软件系统编译的过程中,嵌入式系统的硬件一般采用专门的测试仪器进行测试,而软件则需要有相关的测试技术和测试工具的支持,并要采用特定的测试策略。3、 嵌入式Linux开发环境一般包括哪几个部分?怎样构建嵌入式Linux开发环境。 操作系统的安装、开发环境的配置、交叉编译环境构建、Makefile和Make 、镜像文件的烧写 建立嵌入式Linux开发环境,一般有三种办法:一是在Windows系统下安装虚拟机,再在虚拟机中安装Liunux操作系统;二是安装基于PC Windows操作系统下的CYGWIN;三是直接安装Liunux操作系统。4、嵌入式Linux内核的移植一般包括哪几个步骤?各个步骤分别有什么作用?1. Bootloader是什么?它的作用是什么?嵌入式系统的Boot Loader程序,即系统的引导装载程序,在操作系统内核或用户应用程序之前运行的一段小程序,通过这段小程序可以初始化硬件设备和建立内存空间的映射图,将系统的软、硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。2. 简述Bootloader启动方式的分类和特点。 vivi、U-Boot、RedBoot、ARMBoot、Blob和DIY。Vivi:目前只支持使用串口与主机通信,所以必须使用一条串口电缆来连接目标板和主机 U-Boot:用于多种嵌入式CPU的Boot Loader程序,它可以运行在PowerPC、ARM、MIPS等多种嵌入式开发板上。RedBoot:是一个专门为嵌入式系统定制的引导启动工具,它基于ECOS(Embedded Configurable Operating System)的硬件抽象层,同时继承了ECOS的高可靠性、简洁性、可配置性和可移植性等特点。ARMBoot是一个以ARM或StrongARM为CPU内核的嵌入式系统的Boot Loader固件程序,它只基于ARM固件,但是它支持多种类型的启动。Blob是Boot Loader Object的缩写,是一款功能强大的Boot LoaderDIY(Do It Yourself),即自己制作。上面介绍的U-Boot、vivi、Blob、RedBoot、ARMboot等成熟工具虽然移植起来简单快捷,但它们都存在着一定的局限性。DIY代码量短小,而且灵活性很大,最重要的是将来容易维护。3. 简述Bootloader的操作模式。Boot Loader的操作模式1. 启动加载(Boot Loading)模式即Boot Loader从目标机的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。2. 下载(Down Loading)模式 当采用下载模式时,目标机的Boot Loader将通过串口连接、网络连接等通信手段从主机上下载文件4. Bootloader 分为几个阶段?各阶段主要完成什么任务?Boot Loader的阶段11. 基本的硬件初始化基本的硬件初始化是Boot Loader一开始就执行的操作,其目的是为了阶段2的内核的执行准备好一些基本的硬件环境。它执行的步骤如下。(1) 屏蔽所有的中断。(2) 设置处理器的速度和时钟频率。 (3) 初始化RAM, (4) 初始化LED。 (5) 关闭处理器内部指令/数据缓存。 2. 加载阶段2的RAM空间 为了获得更快的执行速度,通常把阶段2加载到RAM空间中来执行3. 复制阶段2到RAM复制阶段2到RAM时要确定以下两点:(1) 阶段2的可执行映像在固态存储设备的存放起始地址和终止地址。(2) RAM空间的起始地址。4. 设置堆栈指针(SP)栈指针的设置是为执行C语言代码作准备的。5. 跳转到阶段2的C程序入口点 Boot Loader的阶段2阶段2的代码通常用C语言来实现,以便实现更复杂的功能和取得更好的代码可读性及可移植性。1. 初始化阶段2要使用的硬件设备2. 检测系统内存映射所谓内存映射就是指整个物理地址空间中那些分配用来寻址系统的RAM单元。3. 加载内核映像和根文件系统映像(1) 规划内存占用的布局。(2) 从Flash上复制。 4. 调用内核所有硬件的设置完成之后,就可以跳转到内核,并开始运行内核了。4. 简述Bootloader stage1的任务。 定义入口。由于一个可执行的Image必须有一个入口点,并且只能有一个全局入口,通常这个入口放在ROM(Flash)的0x0地址,因此,必须使编译器知道这个入口。该工作可通过修改链接器脚本来完成。设置异常向量(Exception Vector)。设置CPU的速度、时钟频率及终端控制寄存器。初始化内存控制器。将ROM中的程序复制到RAM中。初始化堆栈。转到RAM中执行,该工作可使用指令ldr pc来完成。5.简述Bootloader stage2的任务。 调用一系列的初始化函数。初始化Flash设备。初始化系统内存分配函数。如果目标系统拥有NAND设备,则初始化NAND设备。如果目标系统有显示设备,则初始化该设备。初始化相关网络设备,填写IP、MAC地址等。进入命令循环(即整个boot的工作循环),接收用户从串口输入的命令,然后进行相应的工作。 6. U-Boot是什么?简述它的特点。U-Boot是德国DENX小组开发的用于多种嵌入式CPU的Boot Loader程序,它可以运行在PowerPC、ARM、MIPS等多种嵌入式开发板上U-Boot作为ARM平台常用的引导程序,具有结构强大和功能强大的特点。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!