最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

嵌入式系统期末复习题

来源:动视网 责编:小OO 时间:2025-09-28 00:14:54
文档

嵌入式系统期末复习题

第一章嵌入式系统基础模拟试题1.什么是嵌入式系统?它由哪几个部分组成?答:嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devicesusedtocontrol,monitor,orassisttheoperation
推荐度:
导读第一章嵌入式系统基础模拟试题1.什么是嵌入式系统?它由哪几个部分组成?答:嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devicesusedtocontrol,monitor,orassisttheoperation
第一章 嵌入式系统基础模拟试题

1.什么是嵌入式系统?它由哪几个部分组成?

答:嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。简单地讲就是嵌入到对象体中的专用计算机系统。

嵌入式系统一般有3个主要的组成部分:硬件、实时操作系统以及应用软件。

● 图1.1 嵌入式系统三个组成部分

硬件:包括处理器、存储器(ROM、RAM)、输入输出设备、其他部分辅助系统等。

● 实时操作系统(Real-Time Operating System,RTOS):用于管理应用软件,并提供一种机制,使得处理器分时地执行各个任务并完成一定的时限要求 。

● 应用软件:实现具体业务逻辑功能。

2.嵌入式系统的三要素是什么?

答:嵌入式系统的三要素是嵌入、专用、计算机;其中嵌入性指的是嵌入到对象体系中,有对象环境要求;专用性是指软、硬件按对象要求裁减;计算机指实现对象的智能化功能。广义地说一个嵌入式系统就是一个具有特定功能或用途的计算机软硬件集合体。即以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统 。

3.嵌入式处理器按实时性要求分(软件范畴)可分哪几类:

答:可分为以下三类:

● 非实时系统(PDA)

● 软实时系统(消费类产品)

● 硬实时系统(工业和军工系统)

4.什么是嵌入式微控制器(Microcontroller Unit, MCU)?

答:嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。

5.简述嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)?

答:DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。

6.列出5种以上的嵌入式实时操作系统(Real-Time Operating System,RTOS)。

答:嵌入式实时操作系统(Real-Time Operating System,RTOS)是指操作系统本身要能在一个固定时限内对程序调用(或外部事件)做出正确的反应,亦即对时序与稳定性的要求十分严格。

目前国际较为知名的有:VxWorks、NeutrinoRTOS、Nucleus Plus、 OS/9、VRTX、LynuxOS,RTLinux、BlueCat RT等。

7.嵌入式系统一般由几层组成,简介其作用。

嵌入式系统一般由硬件层、中间层、软件层和功能层组成。其作用分别如下:

(1)硬件层 :由嵌入式微处理器、外围电路和外设组成。外围电路有:电源电路、复位电路、调试接口和存储器电路,就构成一个嵌入式核心控制模块。

操作系统和应用程序都可以固化在ROM或者Flash中。为方便使用,有的模块在此基础上增加了LCD、键盘、USB接口,以及其他一些功能的扩展电路。

(2)中间层 :硬件层与软件层之间为中间层,也称为BSP(Board Support Package,板级支持包)。

作用:将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关;

功能:一般应具有相关硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。BSP是主板硬件环境和操作系统的中间接口,是软件平台中具有硬件依赖性的那一部分,主要目的是为了支持操作系统,使之能够更好地运行于硬件主板上。

(3)软件层 :主要是操作系统,有的还包括文件系统、图形用户接口和网络系统等。操作系统是一个标准的内核,将中断、I/O、定时器等资源都封装起来,以方便用户使用。

(4)功能层 :由基于操作系统开发的应用程序组成,用来完成对被控对象的控制功能。功能层是面向被控对象和用户的,为了方便用户操作,往往需要具有友好的人机界面。

第二章 基于ARM920T核微处理器及硬件开发平台模拟试题

1.ARM9TDMI采用了几级流水线工作方式,简要说明。

答:ARM9TDMI采用了5级流水线结构,即:取指(F)、指令译码(D)、执行(E)、数据存储访问(M)、写寄存器(W)。

2.ARM920T内核支持哪两套指令集?分别是多少位的指令系统?

答:两套指令集分别是ARM高性能32位指令集和Thumb高代码密度16位指令集。

3.ARM9TDMI支持的数据类型有几种?

答:ARM9TDMI支持的数据类型有字节(8位),半字(16位)及字(32位)数据类型。字必须是四字节边界对齐,半字必须是两字节边界对齐,非对齐数据访问取决与特定区域使用的指令。

4.ARM状态和Thumb状态之间如何切换?

答:ARM指令集和Thumb指令集均有切换处理器状态的指令,在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。

当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。当操作数寄存器的状态位为0时,执行BX指令可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,将PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。

5.ARM920T体系结构支持哪两种方法存储字数据?

答:ARM920T体系结构支持两种方法存储字数据即大端格式和小端格式。

在大端格式中,字数据的高字节存储在低地址单元中,而字数据的低字节则存放在高地址单元中。

在小端存储格式中,低地址单元中存放的是字数据的低字节,高地址单元存放的是字数据的高字节。

在基于ARM920T内核的嵌入式系统中,常用小端存储格式来储存字数据。

6.ARM920T支持几种运行模式?

答:ARM920T支持7种运行模式,分别为:

● 用户模式(usr),ARM处理器正常的程序执行状态;

● 快速中断模式(fiq),用于高速数据传输或通道处理;

● 外部中断模式(irq),用于通用的中断处理;

● 管理模式(svc),操作系统使用的保护模式;

● 数据访问终止模式(abt),当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;

● 系统模式(sys),运行具有的操作系统任务;

● 未定义指令中止模式(und),当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。

除用户模式以外,其余的6种模式称为非用户模式或模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及访问受保护的系统资源等情况。

7.ARM微处理器有多少个32位寄存器?简要说明。

答:ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC、一个或两个状态寄存器都是可访问的。

8.简述ARM920T在ARM状态下是如何组织寄存器的?

答:ARM920T在ARM状态下通用寄存器包括R0~R15,可以分为三类:

● 未分组寄存器R0~R7;

● 分组寄存器R8~R14

● 程序计数器PC(R15)

(1)未分组寄存器R0~R7:所有的运行模式下,未分组寄存器都指向同一个物理寄存器。

(2)分组寄存器R8~R14:对于分组寄存器,每一次所访问的物理寄存器与处理器当前的运行模式有关。对于R8~R12来说,每个寄存器对应两个不同的物理寄存器,当使用fiq模式时,访问寄存器R8_fiq~R12_fiq;当使用除fiq模式以外的其他模式时,访问寄存器R8_usr~R12_usr。对于R13、R14来说,每个寄存器对应6个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外5个物理寄存器对应于其他5种不同的运行模式。采用以下的记号来区分不同的物理寄存器:

R13_

R14_

其中,mode为以下几种模式之一:usr、fiq、irq、svc、abt、und。

寄存器R13在ARM指令中常用作堆栈指针,但这只是一种习惯用法,用户也可使用其他的寄存器作为堆栈指针。而在Thumb指令集中,某些指令强制性的要求使用R13作为堆栈指针。

R14也称作子程序连接寄存器(Subroutine Link Register)或连接寄存器LR。当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。与之类似,当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值。

(3)程序计数器PC(R15):寄存器R15用作程序计数器(PC)。ARM状态下,位[1:0]为0,位[31:2]用于保存PC;Thumb状态下,位[0]为0,位[31:1]用于保存PC。

11.ARM920T体系结构中包含一个当前程序状态寄存器(CPSR),其中用于条件码标志位有哪几个位?

答:ARM920T体系结构中程序状态寄存器(CPSR),其中N、Z、C、V均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行。

12.ARM920T体系结构中包含一个当前程序状态寄存器(CPSR),其中用于控制的标志位有哪几个位?

答:CPSR的低8位(包括I、F、T和M[4:0])称为控制位,当发生异常时这些位可以被改变。如果处理器运行模式,这些位也可以由程序修改。

中断禁止位I、F:置1时,禁止IRQ中断和FIQ中断。

T标志位:该位反映处理器的运行状态。当该位为1时,程序运行于Thumb状态,否则运行于ARM状态。该信号反映在外部引脚TBIT上。在程序中不得修改CPSR中的TBIT位,否则处理器工作状态不能确定。

运行模式位M[4:0]:M0、M1、M2、M3、M4是模式位。这些位决定了处理器的运行模式。

13.何为异常?ARM920T是如何处理异常事故的?

答:当正常的程序执行流程发生暂时的停止时,称之为异常。在处理异常之前,当前处理器的状态必须保留,这样,当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,处理器会按固定的优先级对多个异常进行处理。

14.ARM920T体系结构所支持的哪几种异常?说明其具体含义。

答:ARM920T体系结构所支持以下7种异常:

(1)复位:当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。

(2)未定义指令:当ARM 处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。

(3)软件中断:该异常由执行SWI 指令产生,可用于用户模式下的程序调用操作指令。可使用该异常机制实现系统功能调用。

(4)指令预取中止:若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。

(5)数据中止:若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生

数据中止异常。

(6)IRQ (外部中断请求):当处理器的外部中断请求引脚有效,且CPSR 中的I 位为0 时,产生IRQ 异常。系统的外设可通过该异常请求中断服务。

(7)FIQ (快速中断请求):当处理器的快速中断请求引脚有效,且CPSR 中的F 位为0 时,产生FIQ 异常。

15.简述ARM处理器对异常的响应的步骤。

答:当一个异常出现以后,ARM微处理器会执行以下几步操作:

(1)将下一条指令的地址存入相应连接寄存器LR。若异常是从ARM状态进入,LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量。这样,异常处理程序就不需要确定异常是从何种状态进入的,程序在处理异常返回时能从正确的位置重新开始执行。例如:在软件中断异常SWI中,指令 MOV PC,R14_svc总是返回到下一条指令,而不管SWI是在ARM状态执行,还是在Thumb状态执行。

(2)将CPSR复制到相应的SPSR中。

(3)根据异常类型,强制设置CPSR的运行模式位。

(4)强制PC从相应的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。还可以设置中断禁止位,以禁止中断发生。

如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。

16.简述ARM处理器从异常返回的步骤

答:异常处理完毕之后,执行以下操作从异常返回:

(1)将连接寄存器LR的值减去相应的偏移量后送到PC中。

(2)将SPSR复制回CPSR中。

(3)若在进入异常处理时设置了中断禁止位,要在此清除。

17.基于ARM嵌入式系统设计时,应用程序中的异常如何处理?

答:当系统运行时,异常可能会随时发生,为保证在ARM 处理器发生异常时不至于处于未知状态,在应用程序的设计中,首先要进行异常处理,采用的方式是在异常向量表中的特定位置放置一条跳转指令,跳转到异常处理程序,当ARM 处理器发生异常时,程序计数器PC 会被强制设置为对应的异常向量,从而跳转到异常处理程序,当异常处理完成以后,返回到主程序继续执行。

当多个异常同时发生时,系统根据固定的优先级决定异常的处理顺序。异常优先级由高到低的排列次序为:复位、数据中止、FIQ、IRQ、预取指令中止、未定义指令、SWI。

18.写出基于ARM920T核的处理器的异常优先级(Exception Priorities)。

答:当多个异常同时发生时,系统根据固定的优先级决定异常的处理次序。异常优先级由高到低的排列次序为:复位、数据中止、FIQ、IRQ、预取指令中止、未定义指令、SWI。

19.写出基于ARM920T核的处理器的异常向量(Exception Vectors)

答:异常向量地址。

异常向量表

地址                       异常                  进入模式

0x0000,0000                复位                  管理模式

0x0000,0004                未定义模式            未定义模式

0x0000,0008                软件中断              管理模式

0x0000,000C                终止(预取指令)      终止模式

0x0000,0010                终止(数据)          终止模式

0x0000,0014                保留                  保留

0x0000,0018                IRQ                   IRQ

0x0000,001C                FIQ                   FIQ

第4章 基于ARM9和μCOS-II嵌入式系统设计模拟试题

1.简要说明µC/OS-II内核调度特点。

答: µC/OS-II内核调度特点如下:

µC/OS-II内核调度主要有如下特点:

● 只支持基于优先级的抢占式调度算法,不支持时间片轮训;

● 个优先级,只能创建个任务,用户只能创建56个任务;

● 每个任务优先级都不相同。

● 不支持优先级逆转;

●  READY队列通过内存映射表实现快速查询。效率非常高;

● 支持时钟节拍;

● 支持信号量,消息队列,事件控制块,事件标志组,消息邮箱任务通讯机制;

● 支持中断嵌套,中断嵌套层数可达255层,中断使用当前任务的堆栈保存上下文;

● 每个任务有自己的堆栈,堆栈大小用户自己设定;

● 支持动态修改任务优先级;

● 任务TCB为静态数组,建立任务只是从中获得一个TCB,不用动态分配,释放内存;

● 任务堆栈为用户静态或者动态创建,在任务创建外完成,任务创建本身不进行动态内存分配;

● 任务的总个数(OS_MAX_TASKS)由用户决定;

●  0优先级最高,63优先级最低;

          ● 有一个优先级最低的空闲任务,在没有用户任务运行的时候运行.

2.简要说明µC/OS-II的特点。

答:µC/OS-II具有结构小巧、任务执行可抢占的特点。其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展 性强等特点,最小内核可编译至2KB。

3.µC/OS-II主要有几种任务状态?

答:µC/OS-II主要有五种任务状态,睡眠态就是挂起态,阻塞态和延时态这里统一为等待状态。增加了一个被中断状态。µC/OS-II总是建立一个空闲任务,这个任务在没有其它任务进入就绪态时投入运行。

4.简述µC/OS-II中的空闲任务。

答:µC/OS-II中的这个空闲任务[OSTaskIdle()]永远设为最低优先级空闲任务OSTaskIdle()什么也不做,只是在不停地给一个32位的名叫OSIdleCtr的计数器加1,统计任务使用这个计数器以确定现行应用软件实际消耗的CPU时间。空闲任务不可能被应用软件删除。 

5.简述µC/OS-II中的睡眠态。

答:睡眠态(DORMANT)指任务驻留在程序空间之中,还没有交给μC/OS-Ⅱ管理,把任务交给μC/OS-Ⅱ是通过调用下述两个函数之一:OSTaskCreate()或OSTaskCreateExt()。当任务一旦建立,这个任务就进入就绪态准备运行。任务的建立可以是在多任务运行开始之前,也可以是动态地被一个运行着的任务建立。如果一个任务是被另一个任务建立的,而这个任务的优先级高于建立它的那个任务,则这个刚刚建立的任务将立即得到CPU的控制权。一个任务可以通过调用OSTaskDel()返回到睡眠态,或通过调用该函数让另一个任务进入睡眠态。

6.µC/OS-II中的OSStart()有何作用?

答:调用OSStart()可以启动多任务。OSStart()函数运行进入就绪态的优先级最高的任务。就绪的任务只有当所有优先级高于这个任务的任务转为等待状态,或者是被删除了,才能进入运行态。

文档

嵌入式系统期末复习题

第一章嵌入式系统基础模拟试题1.什么是嵌入式系统?它由哪几个部分组成?答:嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devicesusedtocontrol,monitor,orassisttheoperation
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top