嵌入式习题答案DOC.docx

上传人:b****8 文档编号:23574439 上传时间:2023-05-18 格式:DOCX 页数:29 大小:81.75KB
下载 相关 举报
嵌入式习题答案DOC.docx_第1页
第1页 / 共29页
嵌入式习题答案DOC.docx_第2页
第2页 / 共29页
嵌入式习题答案DOC.docx_第3页
第3页 / 共29页
嵌入式习题答案DOC.docx_第4页
第4页 / 共29页
嵌入式习题答案DOC.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

嵌入式习题答案DOC.docx

《嵌入式习题答案DOC.docx》由会员分享,可在线阅读,更多相关《嵌入式习题答案DOC.docx(29页珍藏版)》请在冰豆网上搜索。

嵌入式习题答案DOC.docx

嵌入式习题答案DOC

第一章习题答案

1.什么是嵌入式系统请列举几个常见的嵌入式系统。

答:

根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(Devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。

这主要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。

目前被我国科学家普遍认同的定义是:

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

常见的嵌入式系统:

手机,DVD,路由器,核磁共振仪,全自动洗衣机。

2.嵌入式系统与通用计算机有哪些区别

答:

(1)以应用为中心;

(2)以计算机技术为基础(3)软件和硬件可裁减(4)对系统性能要求严格(5)软件的固件化(6)需要专用的开发工具

3.嵌入式系统的发展分为哪几个阶段

&

答:

第一阶段:

无操作系统的嵌入算法阶段。

第二阶段:

以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。

第三阶段:

以嵌入式操作系统为标志的嵌入式系统。

第四阶段:

以基于Internet为标志的嵌入式系统。

4.请列举嵌入式系统的主要应用领域。

答:

(1)工业控制领域

(2)交通运输领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域

第二章习题答案

1.简述简单嵌入式系统与复杂嵌入式系统的主要区别。

答:

简单嵌入式系统很早就已经存在,这类嵌入式系统因为软硬件复杂度都很低,一般不使用操作系统,例如常用的单片机系统。

对于复杂的嵌入式系统,它的开发模式发生了极大的改变。

一个复杂的嵌入式系统不仅硬件系统的开发比单片机复杂了许多,更重要的是在该系统中采用了嵌入式操作系统,其应用软件的开发转变为使用操作系统标准接口的计算机工程领域的应用软件开发。

复杂嵌入式系统具有更强大的功能,但是简单的嵌入式并不会随着复杂的嵌入式系统出现而消亡。

2.简述嵌入式系统的体系结构。

&

答:

嵌入式系统从组成上看,可分为嵌入式硬件系统与嵌入式软件系统两大部分。

嵌入式硬件层由嵌入式微处理器、嵌入式存储器系统、通用设备和I/O接口等组成。

嵌入式系统的软件层分为嵌入式操作系统和嵌入式应用软件两大部分。

3.嵌入式处理器分为哪几类

答:

嵌入式处理器可分为以下四种:

嵌入式微控制器(MicroControllerUnit,MCU),嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU),嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)和嵌入式片上系统(SystemonChip,SoC)。

中常用的嵌入式存储器都有哪些

答:

ARM系统的存储器可以分为片内存储器和片外存储器。

片内一般以RAM或SRAM为主。

片外通常以Flash和SDRAM为主。

嵌入式系统中常用的几种内存有Flash、SRAM、SDRAM、DDRSDRAM等。

5.嵌入式系统中常用的外设接口都有哪些

答:

串行接口UART,USB接口,IrDA红外线接口,SPI(串行外围设备接口),I2C总线接口,CAN总线接口,Ethernet(以太网接口)等。

6.嵌入式系统中常用的输入输出设备都有哪些

答:

嵌入式系统中输入形式一般包括触摸屏、语音识别、按键、键盘和虚拟键盘。

输出设备主要有LCD显示和语音输出。

7.简述嵌入式操作系统的特点,请列举几个常见的嵌入式操作系统。

答:

(1)可装卸性

(2)强实时性(3)统一的接口(4)强稳定性,弱交互性(5)固化代码。

常见的嵌入式操作系统有WindowsCE、VxWorks、μC/OS、嵌入式linux。

8.简述嵌入式系统开发的特点。

答:

需要交叉开发工具和环境,软硬件协同设计,嵌入式系统开发人员以应用专家为主,软件要求固态化存储,软件代码高质量、高可靠性,系统软件的高实时性

9.简述嵌入式系统的开发周期。

答:

10.简述嵌入式系统的开发与通常PC机上的软件开发有什么区别。

答:

系统软件开发模式可以分为两类:

本地开发模式和交叉开发模式。

嵌入式系统的开发与通常PC机上的软件开发有很大的区别,原有的PC机的软件开发过程从编写程序、编译和运行等过程全在同一个PC机平台上完成,属于本地开发(native);嵌入式开发的程序编写和编译与原来一样还在PC机(host)上完成,但编译产生的结果要在嵌入式目标平台(target)上运行。

通常将这种在主机上开发编译,在目标平台上调试运行的开发模式称为交叉开发。

同样运行在主机上的编译器(例如GCC)编译程序产生目标机上运行的可执行程序的编译过程称为交叉编译。

嵌入式系统采用这种交叉开发、交叉编译的开发环境主要是因为嵌入式系统是种专用的计算机系统,采用量体裁衣量身定制的方法制造。

11.简述宿主机/目标机的开发模式。

答:

交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机/目标机模式。

宿主机(host)一般采用一台通用计算机(如PC机或者工作站),它通过串口(Serial)或者以太网(Ethernet)接口与目标机通信。

宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统(如Windows和Linux),而且还有各种各样优秀的开发工具(如WindRiver的Tornado、Microsoft的EmbeddedVisualC++等),能够大大提高嵌入式应用软件的开发速度和效率。

目标机(target)一般在嵌入式应用软件的开发和调试期间使用,用来区别与嵌入式系统通信的宿主机。

目标机可以是嵌入式应用软件的实际运行环境,也可以是能够替代实际运行环境的仿真系统,但软硬件资源通常都比较有限。

嵌入式系统的交叉开发环境一般包括交叉编译器、交叉调试器和系统仿真器(Emulator),其中交叉编译器用于在宿主机上生成能在目标机上运行的代码,而交叉调试器和系统仿真器则用于在宿主机与目标机间完成嵌入式软件的调试。

第三章习题答案

1.简述ARM处理器的特点。

}

答:

ARM处理器采用RISC架构,具有RISC的一般特点:

采用大量的寄存器,指令执行速度更快;

寻址方式灵活简单,执行效率高;

采用固定长度的指令格式;

大多数数据操作都在寄存器中进行,通过Load/Store的体系结构在内存和寄存器之间传递数据。

因此ARM处理器的内核很小,功耗也就很低。

ARM处理器还采用了一些特别的技术,在保证高性能的同时尽量减小芯片体积,降低芯片的功耗。

这些技术包括:

在同一条数据处理指令中包含算术逻辑处理单元处理和移位处理;

使用地址自动增加(减少)来优化程序中循环处理;

Load/Store指令可以批量传输数据,从而提高传输数据的效率;

所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行的效率;

支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件。

2.嵌入式RISC处理器ARM7TDMI中TDMI的基本含义分别是什么

答:

T:

支持16位压缩指令集Thumb。

D:

支持JTAG调试器,可片上Debug。

M:

支持64位长乘法指令I:

嵌入式跟踪宏单元(ICE)。

3.常用的ARM处理器系列都有哪些

答:

ARM处理器目前应用比较多的是ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、Intel的StrongARM、Xscale等多个系列,最新的系列是ARM11系列。

处理器一般支持的的数据类型都有哪些

答:

8位有符号字节类型数据;8位无符号字节类型数据;16位有符号半字类型数据;16位无符号半字类型数据;32位有符号字类型数据;32位无符号字类型数据。

5.什么是大端模式什么是小端模式请举例说明它们的区别。

所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。

所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。

若寄存器R1=0x,分别按小端模式和大端模式存储在0x2000字单元中,下图分别为在两种模式下内存的存储内容。

 

6.请简述ARM7TDMI采用哪几级流水线结构,并说明在ARM状态下各阶段指令地址的关系。

答:

ARM7架构采用了三级流水线,分为取指(fetch),译码(decode)和执行(execute)。

程序计数器R15(PC)总是指向取指的指令,而不是指向正在执行的指令或者正在译码的指令。

对于ARM状态下指令,PC值=当前程序执行位置。

}

7.简述ARM和THUMB状态的区别,举例说明使用什么指令从ARM状态转换为Thumb状态。

答:

ARM状态:

处理器执行32位的字对齐的ARM指令;Thumb状态:

处理器执行16位的半字对齐的Thumb指令。

ARM指令集和Thumb指令集均有切换处理器状态的指令BX。

从ARM状态转换到Thumb状态:

ADRR0,TSTART+1

BXR0

8.ARM处理器有哪些工作模式哪些是特权模式哪些是异常模式

答:

ARM体系结构支持7种工作模式(Processormodes),分别为用户模式(usr)、快中断模式(fiq)、中断模式(irq)、管理模式(svc)、数据访问终止模式(abt)、系统模式(sys)、及未定义指令中止模式(und)。

除去用户模式外的其他6种处理器工作模式称为特权模式(PrivilegedModes)。

除去用户模式和系统模式以外的5种处理器工作模式称为异常模式(ExceptionModes)

·

处理器共有多少个寄存器在所有工作模式下,哪些寄存器都指向同一个物理寄存器

答:

ARM处理器含有37个物理上独立的寄存器,其中包括31个通用寄存器和6个状态寄存器。

R0-R12寄存器在所有工作模式下都指向同一个物理寄存器。

10.简述CPSR寄存器控制位的作用。

答:

(1)中断禁止位I、F:

I=1禁止IRQ中断;F=1禁止FIQ中断。

(2)T标志位:

该位反映处理器的运行状态。

当该位为1时,程序运行于Thumb状态,当该位为0时,表示运行于ARM状态。

(3)运行模式位M[4:

0]:

M0、M1、M2、M3、M4是模式位。

这些位决定了处理器的运行模式。

11.ARM的异常中断包含哪些类型它们的优先级顺序是怎样的它们的异常向量地址是多少

答:

 

~

12.当处理异常时,ARM内核会做哪些处理

答:

ARM处理器对异常中断的响应过程如下:

(1)保存处理器当前状态、中断屏蔽位以及各条件标志位。

这是通过将当前程序状态寄存器CPSR的内容保存到将要执行的异常中断对应的SPSR寄存器中实现的。

各异常中断有自己的物理SPSR寄存器。

(2)设置当前程序状态寄存器CPSR中相应的位。

包括设置CPSR中的控制模式位,使处理器进入相应的执行模式;设置CPSR中的中断禁止位,如果进入IRQ模式时,禁止IRQ中断,如果当进入FIQ模式时,禁止FIQ中断。

(3)将寄存器LR_mode设置成返回地址。

(4)将程序计数器值(PC)设置成该异常中断的中断向量地址,从而跳转到相应的异常中断处理程序执行。

:

13.当异常结束时,ARM内核会做哪些处理

答:

ARM系统处理完中断后从异常中断处理程序中返回包括下面的步骤:

(1)恢复被中断的程序的处理状态,即将SPSR_mode寄存器内容复制到当前程序状态寄存器CPSR中。

(2)返回到发生异常中断的指令的下一条指令处执行。

即将LR_mode寄存器的内容复制程序计数器PC中。

因为整个应用系统是从复位异常中断处理程序执行的,所以复位异常中断处理程序不需要返回。

第四章习题答案

1.请列举ARM处理器的指令寻址方式。

哪种寻址方式是ARM指令集特有的寻址方式

答:

ARM处理器具有9种基本寻址方式,分别为立即寻址、寄存器寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址。

寄存器移位寻址是ARM指令集特有的寻址方式。

2.在ARM数据处理指令中,第二个操作数都有哪几种形式

>

答:

第2个操作数的三种形式如下。

立即数,例如:

MOVR0,#0x0000F200;寄存器方式,例如:

ADDR1,R1,R2;寄存器移位方式,例如:

ANDSR1,R1,R2,LSLR3。

3.请分别写出调用子程序、子程序返回所使用的指令,并简述所用指令的工作过程。

答:

用BL指令调用子程序。

BL指令先将下一条指令的地址拷贝到R14(即LR)连接寄存器中,然后跳转到指定地址运行指令。

子程序返回的指令是:

MOVPC,LR。

4.如图:

存储器地址4010H,4014H,4018H的内容分别为1,2,3。

寄存器R1,R2,R3的值都为0。

R0的值为0x4010。

问:

给出指令执行后,寄存器R0,R1,R2,R3的结果。

(IA:

每次传送后地址加4)

LDMIAR0!

{R1-R3}

"

答:

5.阅读下面程序,并回答问题。

AREAExample1,CODE,READONLY;声明代码段Example1

ENTRY;标识程序入口

CODE32

STARTMOVR0,#20-----------------------

(1)

MOVR1,#10

LDRR5,=0x-----------------------

(2)

ANDSR2,R5,#0x20-----------------------(3)

CMPR2,#0-----------------------(4)

ADDEQR0,R0,#1-----------------------(5)

ADDNER1,R1,#1-----------------------(6)

HALTBHALT

END;文件结束

a)请回答汇编语句

(1)

(2)(3)(4)(5)(6)的含义。

?

b)此程序实现什么功能

答:

a)语句

(1)把常数20送到R0;语句

(2)使用LDR伪指令把常数0x送到R5;语句(3)将R5中的数据与0x20相与,影响标志位;语句(4)将R2的数据与0比较;语句(5)如果相等R0加1;语句(6)不相等R1加1(6分)

测试数据0x的bit[4](第五位)。

如果是0,R0中的数据20加1。

如果是1,R1中的数据10加1。

(2分)

6.用汇编语言编写程序,求1到50的累加和。

答:

AREAExample1,CODE,READONLY

ENTRY

.

CODE32

STARTLDRR5,=0x

MOVR0,#0

MOVR1,#1

LOOPBLSUM

BLOOP

SUM

ADDSR0,R0,R1

ADDR1,R1,#1

CMPR1,#50

BLHIHALT

MOVPC,LR

HALTSTRR0,[R5]

B.

|

END

7.请说明汇编语句STRBR2,[R0,#4]和STRR2,[R0,#4]!

的区别。

答:

mem8[R0+4]=R2;R0不变

mem32[R0+4]=R2;R0=R0+4

mem32[]表示存储器的存储单元中存放的32位字数据,mem16[]表示存储器的存储单元中存放的16位半字数据,mem8[]表示存储器的存储单元中存放的8位字节数据

8.请说明MOV指令和LDR指令在传送立即数时,使用方法的区别。

答:

MOV传送8位位图数据,例如:

MOVR1,#0xFF000000;

LDR伪指令传送32位立即数,例如:

LDRR0,=0x。

9.请列举ARM处理器的四种堆栈类型,并说明它们的特点和区别。

答:

(1)满递增堆栈FA:

堆栈指针指向最后压入的数据,且由低地址向高地址生长。

(2)满递减堆栈FD:

堆栈指针指向最后压入的数据,且由高地址向低地址生长。

(3)空递增堆栈EA:

堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生长。

(4)空递减堆栈ED:

堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生长。

10.可以对状态寄存器操作的指令都有哪些,如何使用。

答:

ARM指令集提供了2条指令,可直接控制程序状态寄存器(psr,ProgramStateRegister)。

MRS指令用于将CPSR或SPSR的值传送到通用寄存器中。

MSR指令与之相反,用于将通用寄存器的内容或者立即数传送到到CPSR或SPSR中。

]

例如:

MRSR1,CPSR

BICRl,Rl,#0x80;0b0l000000

MSRCPSR_c,Rl

练习题

阅读下面程序,并回答问题。

AREAExample1,CODE,READONLY;声明代码段Example1

ENTRY

CODE32

&

         STARTLDRR0,=0x-----------------------

(1)

MOVR1,#0x2000-----------------------

(2)

STRR1,[R0]-----------------------(3)

SUB R2,R1,#2-----------------------(4)

STRBR2,[R0,#4]-----------------------(5)

B.

END;文件结束

a)程序中分号的作用是什么

:

b)请回答汇编语句

(1)

(2)(3)(4)(5)的含义。

c)如果将汇编语句(5)STRBR2,[R0,#4]改为STRBR2,[R0,#4]!

,有什么不同

答案

 

分号后面的内容是对程序的注释。

语句

(1)使用LDR伪指令将地址数据0x送入R0;

语句

(2)将常数0x2000送入R1;

!

语句(3)将数据0x2000存储到地址为0x的存储空间中;

语句(4)将R1中的数据减2,结果0x1FFE送到R2;

语句(5)将数据0x1FFE的低位字节数据0xFE存储到地址为0x的存储空间中。

STRBR2,[R0,#4]执行后,R0的值为0x;STRBR2,[R0,#4]执行后,R0的值为0x。

 

第五章习题答案

1.简述Xscale内核的特点。

答:

ARM的体系结构是基于RISC的,XSCALE是ARM处理器的一种,所以XSCLAE具有RISC的基本特性。

XScale的超流水线(SuperPipeline)技术,主频高达600MHz以上。

高效的存储器体系结构,主要包括32KBD-Cache、32KBI-Cache、2KBMiniDcache、FillBuffers、endingBuffers以及s带宽的存储总线,使处理器可以高效访问存储器。

实现了基于统计分析的分支预测功能部件。

XScale对ARM的乘加逻辑进行了增强,增加了8条DSP指令。

2.简述PAX270处理器的结构和主要的通信模块。

答:

CPU520M运行能力;XSCALE构架,并带有无线MMX指令集;7级流水线;32KB的指令cache,32KB的数据cache,2KB微型数据cache;外部扩充存储器控制器;256KB内部SRAM;丰富的串行接口:

AC97AUDIOPORT;IISPORT;USBHOST,USBDEVICE;USBOTG;3个UART,红外通讯接口;标准IEEEJTAG,支持边界扫描;实时时钟和系统时钟;中断控制器;LCD控制器;SDRAMcontroller,支持4个BANK,最高可以运行在104M。

外部SDRAM可以是或;支持PCMCIAandCompactFlash;SDCard/MMCController(withSPImodesupport);2个IICControllers;3个SSPControllers;CAMERA接口;121个多功能GPIO;4种LOWPOWER模式;4个PWM

3.简述GPIO模块的特点。

答:

PXA270处理器提供121个多功能输入/输出引脚,除了可以选择作为基本输入/输出使用外,还可以选择它的复用功能,复用功能包括串口通信接口,定时器输出,外部中断等。

当多功能输入/输出引脚作为高速的通用GPIO接口时,可以用来生成和捕捉外设的输出和输入信号。

每个GPIO引脚通过编程控制可实现输出或输入功能。

当GPIO引脚作为输入时,通过设置上升或下降沿检测,可作为一个中断源来使用。

模块中如何选择引脚的功能,举例说明。

答:

通过寄存器GPDR和GAFR来选择引脚功能,在使用寄存器GAFR设置GPIO引脚功能之前,必须先通过寄存器GPDR设置引脚的方向。

例如:

设定将GPIO118为SDA输出引脚,首先利用寄存器GPDR3设定GPIO118是输出引脚,当GAFR3的Bit[13:

12]=01时,将GPIO118复用为SDA输出引脚。

代码如下:

&

GPDR3=GPDR3|(0x01<<22);

GAFR3_U=GAFR3_U&(~(0x11<<12))|(AF1<<12);

5.编写程序代码,实现设置GPIO8和GPIO41为输出功能,GPIO8为低电平输出,设置GPIO41为高电平输出。

答:

#defineGPDR0 (*((volatileunsignedchar*)(0x40E0000C)))

#defineGPDR1 (*((volatileunsignedchar*)(0x40E00010)))

#defineGPCR0 (*((volatileunsignedchar*)(0x40E00024)))

#defineGPSR1 (*((volatileunsignedchar*)(0x40E0001C)))

GPDR0=GPDR0|(0x01<<8);

GPCR0=GPCR0|(0x01<<8);

GPDR1=GPDR1|(0x01<<9);

GPSR1=GPSR1|(0x01<<9);

有几个UART单元,各有什么用途

答:

PAX270有三个UART单元。

全功能UART:

FFUART支持调制解调器控制功能,最高波特率可达到921600bps。

蓝牙UART:

BTUART是一个高速的UART,所支持的波特率可达到921600bps,并且可以连接到蓝牙模块,但只支持调制解调器控制信号中的CTS和

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

当前位置:首页 > 高中教育 > 数学

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

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