嵌入式系统复习要点.docx

上传人:b****5 文档编号:12219849 上传时间:2023-04-17 格式:DOCX 页数:35 大小:67.30KB
下载 相关 举报
嵌入式系统复习要点.docx_第1页
第1页 / 共35页
嵌入式系统复习要点.docx_第2页
第2页 / 共35页
嵌入式系统复习要点.docx_第3页
第3页 / 共35页
嵌入式系统复习要点.docx_第4页
第4页 / 共35页
嵌入式系统复习要点.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

嵌入式系统复习要点.docx

《嵌入式系统复习要点.docx》由会员分享,可在线阅读,更多相关《嵌入式系统复习要点.docx(35页珍藏版)》请在冰豆网上搜索。

嵌入式系统复习要点.docx

嵌入式系统复习要点

1.嵌入式微处理器一般可分为嵌入式微控制器 、嵌入式数字信号处理器 、嵌入式微处理器和嵌入式片上系统四种类型。

 

2.嵌入式系统体系结构一般具有 冯诺依曼 和 哈佛 两种基本形式。

 3.嵌入式存储系统一般由高速缓存、内存和外存组成。

 

4.嵌入式存储系统具有大端格式和小端格式两种数据存放格式。

 

5从编程的角度看,ARM微处理器的一般有ARM和HUMB两种工作状  态。

 6.嵌入式软件的开发一般分为生成 调试 和固化运行三个步骤。

 

7.嵌入式LINUX的内核有五个组成部分,它们是进程调度、内存管理 虚拟文件系统 网络接口和进程通信 

二  简答      (每题5分,共  30 分) 1. 

简要叙述嵌入式系统的定义。

1、嵌入式系统是以应用为中心,以计算机技术为基础,并且在软、硬件方面可进行裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。

 2、什么是嵌入式实时操作系统?

简单叙述其特点。

 

实时操作系统就是“在给定的时间内提供某种程度的服务,如果在规定的时间内没有得

到结果,那整个的系统就是失败”。

----------3分 

对于实时操作系统其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼提高计算机系统的使用效率。

-----------2分

 3、什么是操作系统的移植?

 

操作系统的移植是指一个操作系统经过适当修改以后,可以安装在不同类型的微处理器系统上进行运行。

 

4. 简要叙述ARM体系微处理器中控制程序的执行流程方式?

 

在ARM体系微处理器中通常有3种方式控制程序的执行流程方式。

它们是:

正常顺序执行指令;---2分  通过跳转命令跳转到特定的标号处;--------1分   异常处理。

---------2分

 5、 简要叙述嵌入式系统的设计步骤?

 

嵌入式系统设计的重要特点是技术多样化,即实现同一个嵌入式系统可以有许多不同的

设计方案选择,而不同的设计方案就意味使用不同的设计和生产技术。

嵌入式系统设计一般步骤:

1)需求分析--------1分    2)体系结构设计--------1分3)硬件/软件设计 ------------1分  4)系统集成和系统测试-----------2分 

6、嵌入式系统中电源管理器的作用有哪些?

 

操作系统是通过电源管理器来进行系统的电源管理,提高整个系统的电源效率,并为每一个外围设备模块提供电源管理。

----------2分通过电源管理不仅可以减少目标设备上的电源损耗,而且可以在系统重启、运行、空闲和挂起的电源状态下保存RAM 中的文件系统。

----------2分电源管理模块通过软件来控制系统时钟,以降低微处理器的耗电量。

这些方案与PLL、时钟控制逻辑、外设的时钟控制以及唤醒信号有关。

 -----1分 

三  选择题(每小题2分,共20分) 

1 、ADD R0,R1,#3属于(A)寻址方式。

 

A. 立即寻址  B. 多寄存器寻址  

C. 寄存器直接寻址 D. 相对寻址 

2、GET伪指令的含义是( A) 

A. 包含一个外部文件  B. 定义程序的入口 

C. 定义一个宏 D. 声明一个变量 

3、存储一个32位数0x到2000H~2003H四个字节单元中,若以小端模式存 储,则2000H存储单元的内容为( C)。

A、0x00  B、0x87  

C、0x65  D、0x61 

4、μCOS-II操作系统不属于( C)。

 

A、RTOS  B、占先式实时操作系统  C、非占先式实时操作系统  D、嵌入式实时操作系统 

5、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!

后R0的值为(D )。

 

A. 0x2000 B. 0x86  

C. 0x2008 D. 0x39 

6、寄存器R13除了可以做通用寄存器外,还可以做(C )。

A、程序计数器 B、链接寄存器 

C、栈指针寄存器  D、基址寄存器 

7、FIQ中断的入口地址是( A)。

A、0xC  B、0x 

C、0x  D、0x 

8、ARM指令集和Thumb指令集分别是(D )位的。

 

A. 8位,16位  B. 16位,32位  

C. 16位,16位  D. 32位,16位 

9、ARM寄存器组有(D )个寄存器。

A、7 B、32 C、6 D、37 

10、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!

后R0的值为(D )。

A. 0x2000  B. 0x28  C. 0x2008 D. 0x87  

1、嵌入式系统的概念

广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。

如各类单片机和DSP系统。

从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的嵌入式系统。

根据IEEE(国际电气和电子工程师协会)的定义:

嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”

嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、嵌入式系统的特点

系统内核小专用性强运行环境差异大可靠性要求高系统精简和高实时性操作系统具有固化在非易失性存储器中的代码无自举开发能力

3、如何实现ARM状态和Thumb状态的切换

进入 Thumb 状态:

当操作数寄存器的状态位(位 0)为 1 时,可以采用执行 BX 指令  的方法,使微处理器从 ARM 状态切换到 Thumb 状态。

此外,当处理器处于 Thumb 状态时  

发生异常(如 IRQ、FIQ、Undef、Abort、SWI 等),则异常处理返回时,自动切换到 Thumb  状态。

  

进入 ARM 状态:

当操作数寄存器的状态位为 0 时,执行 BX 指令时可以使微处理器从  

Thumb 状态切换到 ARM 状态。

此外,在处理器进行异常处理时,把 PC 指针放入异常模式  

链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到 ARM 状态。

4、嵌入式系统的硬件平台由哪些部分组成

嵌入式系统的微硬件包括嵌入式核心芯片、存储器系统及外部接口

嵌入式核心芯片指EMPU、EMCU、EDSP、ESoC、EPSoC

嵌入式系统的存储器系统包括程序存储器(ROM、EPROM、Flash)、数据存储器、随机存储器、参数存储器等

4、嵌入式系统的分类

按嵌入式微处理器的位数分类:

4位8位16位32位64位

按软件实时性需求分类:

非实时系统软实时系统硬实时系统

按嵌入系统的复杂程度分类:

小型嵌入式系统中型嵌入式系统复杂嵌入式系统

6、ARM9处理器的工作状态有哪些

ARM处理器核可以工作在以下2种状态

1)ARM状态

32位,ARM状态下执行字对准的32位ARM指令;

2)Thumb状态

16位,Thumb状态下执行半字对准的16位Thumb指令。

在Thumb状态下,程序计数器PC使用位1选择另一个半字。

7、ARM9处理器的内部寄存器结构

ARM处理器总共有37个寄存器,可以分为以下两类寄存器:

1)31个通用寄存器:

R0~R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_frq~R14_frq。

2)6个状态寄存器

CPSR、SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq。

8、ARM9处理器的工作模式有哪些

7种工作模式:

用户模式(usr)、快速中断模式(fiq)、外部中断模式(irq)、管理模式(svc)、中止模式(abt)、未定义模式(und)、系统模式(sys)。

特权模式:

除usr之外的其它的六种工作模式都是特权模式。

异常模式:

除usr和sys之外的其它的五种工作模式都是异常模式。

9、CPRS寄存器各数据位的作用

CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。

所有处理器模式下都可以访问当前的程序状态寄存器CPSR。

a)高四位用做条件码标志位

b)中间有几位用做保留位

c)后八位是控制位,其中第一位是工作状态为,第二位是FIQ中断禁止位,第三位是IRQ中断禁止位,最后五位是用户状态模式位

11、ARM为何集成了32位的ARM指令集和16位的Thumb指令集

Thumb指令集不是完整的指令集,它是ARM指令集的子集。

但是Thumb指令具有更高的代码密度,即占用存储空间小,仅为ARM代码规格的65%,但其性能却下降的很少。

所以,Thumb指令集使ARM处理器能应用到有限的存储带宽,并且,代码密度要求很高的嵌入式系统中去。

12、ARM指令寻址方式与ARM指令集中各类常用指令的用法

立即寻址寄存器寻址寄存器间接寻址基址加偏址寻址堆栈寻址块拷贝寻址

相对寻址

数据处理指令Load/Store指令程序状态寄存器与通用寄存器之间的传送指令转移指令异常中断指令协处理器指令

1、ARM的数据处理指令主要完成寄存器中数据的算术和逻辑运算操作。

数据处理指令根据指令实现处理功能可分为以下六类:

数据传送指令;算术运算指令;逻辑运算指令;比较指令;测试指令;乘法指令。

2、ARM的数据存取指令Load/Store是唯一用于寄存器和存储器之间进行数据传送的指令。

ARM指令集中有三种基本的数据存取指令:

单寄存器的存取指令(LDR,STR)

多寄存器存取指令(LDM,STM)

单寄存器交换指令(SWP)

3、ARM指令中有两条指令,用于在状态寄存器和通用寄存器之间传送数据。

修改状态寄存器一般是通过“读取-修改-写回”三个步骤的操作来实现的。

这两条指令分别是:

状态寄存器到通用寄存器的传送指令(MRS)

通用寄存器到状态寄存器的传送指令(MSR)

4、ARM的转移指令可以从当前指令向前或向后的32MB的地址空间跳转,根据完成的功能它可以分为以下4种:

B转移指令

BL带链接的转移指令

BX带状态切换的转移指令

BLX带链接和状态切换的转移指令

5、异常中断指令可以分为一下两种:

软件中断指令(SWI)

断点指令(BKPT—仅用于v5T体系)

软件中断指令SWI用于产生SWI异常中断,用来实现在用户模式下对操作系统中特权模式的程序的调用;断点中断指令BKPT主要用于产生软件断点,供调试程序用。

6、ARM支持16个协处理器,用于各种协处理器操作,最常使用的协处理器是用于控制片上功能的系统协处理器,例如控制ARM720上的高速缓存和存储器管理单元等,也开发了浮点ARM协处理器,还可以开发专用的协处理器。

ARM协处理器指令根据其用途主要分为以下三类:

数据操作指令;

数据传送指令;

寄存器和内存单元之间的传送数据

13、什么是交叉编译,为什么要进行交叉编译

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。

这个编译过程就叫交叉编译。

简单地说,就是在一个平台上生成另一个平台上的可执行代码。

有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。

14、简述构建交叉编译链的主要步骤

安装交叉编译内核头文件/安装交叉编译的binutils(不分先后)

安装targetmachinec库头文件。

通过内核、C头文件和binutils安装gcc的c交叉编译器(bootstrapgcc)

编译交叉编译的c库

通过c库,头文件,编译出gcc的c++编译器。

安装gdb

15、简述嵌入式系统的开发流程

第一步:

系统需求分析

第二步:

体系结构设计

第三步:

软,硬件协同设计

第四步:

系统集成

第五步:

系统测试

第六步:

形成产品

16、嵌入式系统与通用计算机的区别

简单的说,嵌入式操作系统就是支持嵌入式系统工作的操作系统。

在本质上与通用的操作系统没有太大的区别,一般用于比较复杂的嵌入式系统中,例如

手机、PDA等电子类消费产品

机顶盒、路由器等

通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的的面目应用在社会的各种领域,其典型产品为PC机;而嵌入式计算机,则是非通用计算机形态的计算机应用,它以潜入系统核心部件的形式隐藏在各种装置、设备、产品和系统中。

因此,嵌入式计算机是一种计算机的存在形式,是从计算机技术的发展中分离出来的。

17、常见的嵌入式操作系统有哪些,各自有什么特点

VxWorksWindowsCEPalmOS嵌入式LinuxucOS…

PalmOS特点

操作系统的节能功能。

在PalmOS的应用程序中,如果没有事件运行,则系统设备进入半休眠(doze)的状态;如果应用程序停止活动一段时间,则系统自动进入休眠(sleep)状态。

合理的内存管理。

Palm的存储器全部是可读写的快速RAM,动态RAM(DynamicRAM)类似于PC机上的RAM,它为全局变量和其它不需永久保存的数据提供临时的存储空间;存储RAM(StorageRAM)类似于PC机上的硬盘,可以永久保存应用程序和数据。

PalmOS的数据是以数据库(database)的格式来存储的。

嵌入式Linux特点(以中科红旗嵌入式Linux为例)

开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构灵活,适用面广。

精简的内核,性能高、稳定,多任务。

适用于不同的CPU,支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等。

能够提供完善的嵌入式GUI以及嵌入式X-Windows。

提供嵌入式浏览器、邮件程序、MP3播放器、MPEG播放器、记事本等应用程序。

提供完整的开发工具和SDK,同时提供PC上的开发版本。

用户可定制,可提供图形化的定制和配置工具。

常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。

针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。

完善的中文支持,强大的技术支持,完整的文档。

PalmOS与WindowsCE的比较

从技术层面上讲,PalmOS是一套专门为掌上电脑开发的操作系统;WindowsCE相对则过于臃肿。

PalmOS是一套具有极强开放性的系统。

开发者向用户免费提供PalmOS的开发工具,允许用户利用该工具在PalmOS基础上方便地编写、修改相关软件。

18、什么是BootLoader,ARM系统中BootLoader的主要作用是什么

答:

(1)BootLoader就是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,我们能初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

(2)BootLoader就是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,我们能初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

19、简述BootLoader的启动过程

分成两个步骤:

(why)因此大多数BootLoader都分为stage1和stage2两大部分。

依赖于CPU体系结构的代码,比如设备初始化代码等,通常都放在stage1中,而且通常都用汇编语言来实现,以达到短小精悍的目的。

而stage2则通常用C语言来实现,这样可以实现给复杂的功能,而且代码会具有更好的可读性和可移植性。

a)Stage1:

硬件设备初始化

为加载BootLoader的stage2准备RAM空间

拷贝BootLoader的stage2到RAM空间中

设置好堆栈

跳转到stage2的C入口点

b)Stage2:

初始化本阶段要使用到的硬件设备

检测系统内存映射(memorymap)

将kernel映像和根文件系统映像从Flash上读到RAM空间中

为内核设置启动参数

调用内核

20、Linux内核源码是如何组织的,主要的目录文件有哪些?

(1)Linux内核源码非常庞大,采用C语言和少量汇编实现,并且随着版本的发展不断增加。

源码的工程管理采用目录树结构,并使用Makefile组织配置编译

顶层目录中另一个比较重要的文件是Makefile,它是整个内核配置编译的核心文件,负责组织目录树中的子目录的配置编译管理,还决定了体系结构和内核版本号等。

(2)1,内核主目录linux2,引导启动程序目录boot3,文件系统目录fs4, 头文件主目录include5,内核初始化程序目录init6,内核程序主目录kernel7,内核库函数目录lib8,内存管理程序目录mm9,编译内核工具程序目录tools}

●arch:

包含和硬件体系结构相关的代码,每种平台占一个相应的目录。

如arm、avr32、blackfin、mips等。

●block:

块设备驱动程序的IO调度。

●crypto:

常用的加密和离散算法,还有一些压缩和CRC校验算法

●Documentation:

内核的说明文档。

●drivers:

设备驱动程序,其下细分为不同种类的设备。

如block、char、mtd、net、usb、video等等。

●fs:

内核支持的文件系统的实现,如ext2、ext3、cramfs、jffs2、nfs等。

●include:

头文件。

与系统相关的头文件放在include/linux下,与ARM体系结构相关的头文件放在include/asm-arm下。

●init:

内核初始化代码。

●ipc:

进程间通信代码。

●kernel:

内核的核心代码,包括进程调度、定时器等。

和arm平台相关的核心代码在arch/arm/kernel目录下。

●lib:

库文件代码

●mm:

内存管理代码,和arm平台相关的内核管理代码在arch/arm/mm目录下。

●net:

网络相关的代码,实现了各种常见的网络协议。

●scripts:

包含用于配置内核的各种脚本文件。

只在配置时是有意义的。

●sound:

音频设备驱动的通用代码和硬件驱动代码都在这个文件件下面。

21、内核移植的一般步骤

1内核修改、

(1)解压内核源码;

(2)修改Makefile;(3)修改目标板输入时钟;(4)修改MTD分区;(5)配置yaffs2文件系统的补丁

2内核配置

(1)Makefile文件的修改;

(2)设置NANDFLASH 分区;(3)设置晶振频率;(4)配置内核选项

3内核编译

22、嵌入式系统中根文件系统架构是如何组织的

根文件系统的结构

(1)/dev设备文件。

(2)/rootroot用户主目录。

(3)/usr。

(4)/var。

(5)/home。

(6)/proc。

(7)/bin。

(8)/sbin。

(9)/etc。

(10)/boot。

(11)/lib。

        

(12)/mnt。

(13)/tmp。

(14)/initrd

制作根文件系统

(1)建立目录结构

(2)编译busybox(3)创建设备节点(4)建立配置文件(5)添加共享链接库(6)制作映像

23,设备驱动程序的功能,设备驱动程序的分类

(1)设备驱动程序将复杂的硬件抽象成一个结构良好的设备,并通过提供统一的程序接口为系统的其它部分提供使用设备的能力和方法。

设备驱动程序(应该只是)为系统的其它部分提供各种使用设备的能力,使用设备的方法应该由应用程序决定。

(2)字符设备驱动程序,如:

各种串行接口,并行接口等;块设备驱动程序,如:

磁盘设备等;网络设备驱动程序,如:

网卡等;杂项设备驱动程序,即不属于上述三种设备之外的一些设备,如SCSI,时钟等

24、简述字符设备驱动程序的主要组成部分

a)头文件,宏定义和全局变量:

一个典型的设备驱动程序一般都包含有一个专用的头文件,这个头文件中包含一些系统函数的声明,设备寄存器的地址,寄存器状态位和控制位和控制位的定义以及用于此设备驱动程序的全局变量的定义。

b)open():

无论一个进程何时试图去打开这个设备都会调用这个函数。

c)release() :

 当一个进程试图关闭这个设备特殊文件的时候调用这个函数。

d)read():

当一个进程已经打开此设备文件以后并且试图去读它的时候调用这个函数。

e)write():

当试图将数据写入这个设备文件的时侯,这个函数被调用

f)设备驱动程序提供给文件系统的接口:

 当一个进程试图对我们生成的设备进行操作的时候就利用下面这个结构,这个结构就是我们提供给操作系统的接口,它的指针保存在设备表中,在init_module()中被传递给操作系统。

g)模块的初始化和模块的卸载:

这个函数用来初始化这个模块 —注册该字符设备。

init_module ()函数调用module_register_chrdev,把设备驱动程序添加到内核的字符设备驱动程序表中,它返回这个驱动程序所使用的主设备号。

 

1 比较CISC体系结构和RISC体系结构的特点。

  

CISC指令集设计的主要趋势是增加指令集的复杂度。

而复杂指令集的高性能是以宝贵、有限的芯片面积为代价的。

RISC的中心思想是精简指令集的复杂度、简化指令实现的硬件设计,硬件只执行很有限的最常用的那部分指令,大部分复杂的操作则由简单指令合成。

RISC思想大幅度提高了计算机性能价格比。

  

2 简述ARM体系结构的特点。

 

ARM采用RISC体系结构,采用了若干Berkeley RISC处理器设计中的特征,包括:

Load/store体系结构,固定的32位指令和3地址指令格式 。

  

3 什么是Thumb技术?

其优点是什么?

与ARM指令集相比,Thumb指令集具有哪些局限?

  

Thumb是ARM体系结构的扩展。

它从标准32位ARM指令集抽出来的36条指令格式,重新编成16位的操作码,提高了代码密度。

在运行时,这些16位Thumb指令又由处理器解压成32位ARM指令。

Thumb技术的优点是能带来更高的代码密度,在性能和代码之间取得平衡。

 

与ARM指令集相比.Thumb指令集具有以下局限:

 

1)完成相同的操作,Thumb指令集通常需要更多的指令,因此在对系统运行时间要求苛刻的应用场合ARM指令集更为适合; 

2)Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时,还是需要使用ARM指令,这种限制决定了Thumb指令需要和ARM指令配合使用。

  

5 目前ARM处理器核有哪几种?

简述ARM7TDMI内核的重要特性。

  

目前的ARM处理器核主要有:

ARM7TDMI,ARM9TDMI,ARM10TDMI,ARM11,SecurCore和Cortex。

 

ARM7TDMI是ARM体系结构4T版本,支持64位结果的乘法,支持Thumb指令集,支持片上调试以及Embedded ICE片上断点和观察点。

  

6 分别以ARM7TDMI和ARM9TDMI为例,介绍3级流水线和5级流水线的执行过程,并

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1