嵌入式试题库_第1页
嵌入式试题库_第2页
嵌入式试题库_第3页
嵌入式试题库_第4页
嵌入式试题库_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式试题(大全)

1、ARM汇编语言与C++的混合编程通常用以下哪几种方式在C/C++代码中嵌入汇编指令、在汇编程序和C/C++的

程序之间进行变量的互访、汇编程序、C/C++程序间的相互调用。

2、嵌入式处理器可以分为微控制器微处理器数字信号处理器一片上系统。P8

3、目前世界上的四大嵌入式处理器内核分别是MIPS内核、ARM内核、PowerPC内核、68/OOLDFIRE核。

P30

4、ARM微处理器中支持字节(8位),半字(16位),字(32位),3种数据类型其中字需要4字节对齐,半字需

要2字节对齐。P43

5、S3C2410X-/S3C2440X是三星公司出品的基于ARM920T核的嵌入式微处理器,它与基于ARM的S3C44BOX

的最大区别在于,S3c24/OX/S3c244OX内部带有全性能的内存管理单元(MMU)。P12

6、ARM7TDMI采用冯*诺依曼结构,因此对存储器的控制没有专门的存储管理单兀,存储器采用间的而

直接的地址方式来表示实际的物理地址,没有进行段式页的转换。P50

7、LIMUX内核包含进程调度、内存管理、文件系统、进程间通信,网络及资源管理部分。P256

8、嵌入式系统地3个基本要素是嵌入性,专用性,计算机系统,P1嵌入式系统发展的4个阶段分别是

以单片机为核心的低级嵌入式系统,以嵌入式微处理器为基础的初级嵌入式系统,以嵌入式操作系统为标志的

史里登入式祭统,以Inlcnicl为何.志的纭能入式系统,P3

9、嵌入式系统的硬件有电源模块,嵌入式处理器,存储器模块,可编程逻辑器件,嵌入式系统周边元器件,各

种I/O接口,总线以及外部设备和插件等组成。嵌入式系统的软件包括中间层程序、嵌入式操作系统、应用软

件_以及实际后用程序层。P6-7

10、目前世界上的四大嵌入式处理器内核分别是M是S内核,ARM内核,PowerPC内核,68K/COLDFIRE

内核。P30

11、ARM处理器工作在不同模式,使用的寄存器有所不同,其共同点是无论何种模式,R15均作为PC使用,CPSR

一为当前程式状态寄存器;R7~R0为公用的通用寄存器。不同之处在于高端7个通用寄存器和转台寄存器在不同模

式下不同。P35

12、S3C44BOX内部除ARM7TDMJ内核处,还包括许多可编程外围设备组建,这些外围设备组件的可编程功能均

是通过各个可编程外围设备组件中的相关控制寄存器来完成设置的。

13、嵌入式系统地调试工具有:指令集模拟器,驻留监控软件,JTAG仿真器,在线仿真器。P23

14、嵌入式系统简单的说就是嵌入到目标体系中的专用计算机系统。P1

15、ARM微处理器的工作状态有两种:AI^M状态和TflUMB状态,其中ARM是指ARM工作于32位指令状态,

THUMB是指ARM执行16位的THUMB指令状态,二者的状态转换是通过BX指令完成的。P33

简答题

1、基于ARM体系结构的嵌入式处理器具有哪些技术特征?并对每种技术特征予以简单

的说明。P33

答:(1)单周操作:ARM指令系统在一个机器周期内完成简单和基本的操作。

(2)采用加载/存储指令结构:存储器访问指令的执行时间长,因此只采用了加载和存储两种指令对存储器进行读和写

的操作,面向运算部件的操作都经过加载指令和存储指令,从存储器取出后预先存放到寄存器对内,以加快执行速度。

(3)固定的32位长度指令:指令格式固定为32位长度,使指令译码结构简单,效率提高。

(4)3地址指令格式:采用三地址指令格式、较多寄存器和对称的指令格式便于生成优化代码,降低编译开销

(5)指令流水线技术:ARM采用多级流水线技术,以提高指令执行的效率。

2、请你从技术的角度和系统地角度给出嵌入式系统的定义。P1

以应用为中心,计算机技术为基础,软硬件可剪裁,适应应用系统对功能,成本,体积,可靠性,功耗严格要求

的计算机系统。

3、uCLinux内核移植包括哪些主要任务?并对每个任务进行简单的说明。P286

(I)配置内核。uCLinux常用的配置选项包括系统及其存储器配置、网络支持、USB支持、显示器支持以及触摸支持等。

(2)编译内核。编译内核主要包括使用MakeDep建立依赖关系、使用Make编译内核、使用Makezlmage编译压缩核

心(zlmage)o

(3)下多:运行、调试内核。可以通过调试器下载内核并运行,也可以通过BoolLoader将内核烧写到FLASH中,然

后运行uCLinux..

4、请你说明系统从异常处理程序中返回需要执行哪些操作?P40

(1)恢复原来被保护的用户寄存器

(2)将SPSR-mode寄存器值复制到CPSR中,使得CPSR从相应的SPSR中恢复,以恢复被中断的程序工作状

态。

(3)根据异常类型将PC值恢复成断点地址,以执行用户原来运行着的程序。

(4)清除CPSR中的中断禁止标志I和F,开放外部中断和快速中断。

精选文库

5、请你详细说明ARM处理器控制寄存器的含义和作用。P150

(1)控制寄存器是一个特定的存储单元,而控制寄存器各位的定义由微处理器/微处理器的内部硬件结构决定,

所以控制寄存器各位的定义是控制编程的依据。

(2)控制寄存器是人机信息交互的桥梁,而人或机器对某个功能组件的控制指令首先必须通过编程给控制寄存

器赋值,再通过CPU对控制寄存器的读操作将有关操作控制信号或操作数据传递给该功能组件。当这些

操作控制信号或操作数据有效时,该功能组件就会执行特定的操作。

6、在嵌入式系统设计开发过程中,我们通常要做出哪些总体选择?P18

1、嵌入式处理器及操作系统的选择

2、开发工具的选择

3、对目标系统的观察与控制

7、选择ARM处理器芯片应考虑哪些因素?并作出简要的说明。P144

1、ARM内核。任何一款基于ARM技术的微处理器都是以某个ARM内核为基础设计的,即ARM内核

的基本功能决定了嵌入式系统最终实现目标的性能。因此,ARM处理器芯片的选择的首要任务是考虑选

择基于什么架构的ARM内核。

2、系统时钟频率。系统时钟频率决定了ARM芯片的处理速度,时钟频率越高,处理速度越快。

3、芯片内部存储器的容量。大多数ARM微处理器芯片的内部存储器的容量都不太大,需要用户在设计系

统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间。

4、片内外围电路。设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化

系统的设计,也可提高系统的可靠性。

5、其他因素。隙以上需要考虑的内部因素外,在某些特殊需要的场合,应选择符合这些特殊要求的ARM微

处理器芯片o

8、请你说明ARM9TDMI的指令流水线结构。P46

ARM9TDMI使用了程序存储器和数据存储器分开独立编址的哈佛结构,并采用5级指令流水线,即取指、译码、

执指、缓冲及写回。

9、嵌入式系统地设计包括哪些步骤?并对每一步的工作予以简单的说明。P19

(1)需求分析:确定设计任务和设计目标,并提炼出设计规格说明书作为正式设计指导和验收的标准。

(2)体系结构设计:描述系统如何实现所述的功能和非功能描述

(3)硬件、软件、执行机构设计:基于嵌入式体系结构,对系统的硬件、软件和执行机构进详细设计

(4)系统集成:把系统的硬、软和执行装置集成在一起,进行调试,发现并改正单元设计的功能要求。

(5)就是对设计好的系统进行全成测试,看其是否满足规格说明书中给定的功能要求。

10、嵌入式应用软件的开发具有哪些特点?并对这些特点进行简要说明。P24

1.需要交叉编译工具。由于嵌入式系统目标机上的资源较为有限,直接在目标机上开发和调试应用软件几乎

不可能,因此,目标机的嵌入式应用软件开发需要放在高性能计算机上的集成开发环境中进行。

2.通过仿真手段进行调试。目标机的执行程序经过交叉编译后,还要经过调试排错,确认能够正常运行后才

能使用。

3.目标机.最终的运行坏境。对嵌入式应用程序来说,其开发、调试往往是在PC上完成的,但它最终的运

行坏境是目标机。

4.执行应用程序的指令通常需要写入操作系统。在PC上,应用程序的执行是在操作系统的图形用户界面或

命令状态下进行的,操作系统与该应用程序无直接联系。

5.系统资源有限。在PC环境进行应用程序开发,程序员拥有大量的硬件和软件编程资源,对诸如内存、硬

盘空间、可以打开的文件数量等问题可以不必在乎。

6.控制特定部件。在嵌入式应用软件开发过程中,程序员往往需要针对特定的部件做更加细致的编写作业。

11、画出ARM处理器中控制寄存器的信息流程及作用示意图,并说明控制寄存器的含义及作用。

图在P150最上面图5.10含义在下面一点的(1)(2),和第5题一样的。

本人表示这简答题很坑爹!!

12、根据图1给出的WDT组件的构成框图:(1)说明WDT组件的特殊功能寄存器WTCON,WTDAT及WTCNT的

作用(2)说明WDT组件的工作过程。P149

精选文库

-A>

Rese7

A

WTCON2

WTCONO

图l.WDT组建构成图

答:(I)WTCON用于控制预分频系数、确定是否允许WDT、是否允许输出复位信号等,其地址为0x01D300()0.

WTDAT用于存放计数值,其地址为0x01D30004.

WTCNT用于存放看门狗定时器在正常操作下的当前计数值,其地址为OXO1D3OOO8.

(2)工作过程:先根据设定的WTCON中的【WTCON5、WTCON8]的值选择计数所需的时钟,再根据设定的

WDTAT的值通过16位内部递减计数器来进行减法计数,最后根据WTCNT的计数结果及输出控制信号WTCON2.

WTCONO输出有关结果,当没有加以干预而计数到。时,产生中断输出并产生复位信号(RESET)来使系统复位。

13、嵌入式处理器主要有哪五类?P8

1.嵌入式微处理器

2.嵌入式微控制器

3.嵌入式数字信号处理器

4.嵌入式片上系统

5.嵌入式可编程片上系统

14、我国比较常用的嵌入式操作系统有哪些?P16-18

1.Linux2.UC/OS-113.WindowsCE4.VxWorks5.Psos6.PalmOS7.QNX8.苹果iOS9.Android

程序设计题

1、欲将数据从源数据区SNUM复制到目标数据区DNUM,数据的个数为NUM,复制时

以8个字为单位进行,对于最后所剩不足8个字的数据,以字为单位进行复制,用ARM

汇编语言设计完成该数据块复制的程序段。

LDRrO=snumBEQcopy_eight

LDRrl=dnumCMPr2#0

MOVr2#numBEQend

Copy_eight:Copy_one:

SUBr2r2#8SUBr2r2#l

LDMIAr0!{r4

〜rl1}LDRIAr()!r4

STMIArl!{r4

〜rll}STMIArl!r4

CMPr2#8CMPr2M)

BHIcopy_@eightBNEcopy_one

End

精选文库

2、欲设计一个实现1+2+3+••3100功能的程序:(1)写出实现100个数累加功能的ARM

汇编语言程序(2)说明用ARM汇编语言设计实现100个数累加功能程序的设计思想。

STACKSSEGMENTSTACK;堆栈段

DW128DUP(?);注意这里只有128个字节

STACKSENDS

DATASSEGMENT;数据段

;请在这里定义您的数据FLAGDB0

REDW0

DATASENDS

CODESSEGMENT;代码段

ASSUMECS:CODES,DS:DATAS

START:MOVAX,DATAS;初始化

MOVDS,AX

;请在这里添加您的代码

PARTI:MOVAH,01H;键盘输入0~100任意数

1NT21H

CMPAL,0DH

JZPART2

SUBAL/O,

PUSHAX

MOVAX,RE

SHLAX,1

PUSHAX

MOVCL,2

SHLAX,CL

POPBX

ADDAX,BX

POPBX

MOVBH,0

ADDAX,BX

MOVRE,AX

JMPPARTI

PART2:MOVAX,RE

PART3:MOVCX,AX;求和

DECAX

ADDRE,AX

LOOPPART3

MOVAX,RE

MOVCX,0;十进制显示

MOVBXJO

PART4:MOVDX,0

DIVBX

ADDDL,30H

PUSHDX

INCex

CMPAX,0

JNZPART4

PART5:POPDX

MOVAH,2

INT2IH

LOOPPART5

MOVAX,4C00H;退出程序

INT2IH

CODESENDS

ENDSTART

精选文库

3、做过的四个实验程序。

1.实验A参考程序

XEQU45/*定义变量X,并赋值为45*/

YEQU64/*定义变量y,并赋值为64*/

STACK_TOPEQU0x1000/*定义栈顶0x1000*/

AREAInit,CODE,READONLY

CODE32

ENTRY

START/*程序代码开始标志*/

MOVSP,#STACK_TOP

MOVR0,#X/*x的值放入R0*/

STRR0,[SP]/*R0的值保存到堆栈*/

MOVR0,#Y/*y的值放入R0*/

/*取堆标中的数到

LDRR1,[SP]R1*/

ADDR0,R0,RI

STRR0,[SP]

STOPBSTOP/*程序结束,进入死循环*/

END

2.实验B参考程序

XEQU45/*定义变量X,并赋值为45/

YEQU64/*定义变量y,并赋值为64*/

ZEQU87/*定义变量z,并赋值为87*/

STACK.TOPEQU0x1000/*定义栈顶0x1000*/

AREAInit,CODE,READONLY

CODE32

ENTRY

START

MOVR0,#X/*x的值放入R0*/

MOVR0,R0,LSL#8/*R0的值乘以2的8次方*/

MOVR1,#Y/*y的值放入R1*/

ADDR2,RO,R1,LSR#1/*R1的值除以2加上r0的值放入R2*/

MOVSP,#0xl000

STRR2,[SP]/*R2的值0x2D20放在0x1000的地址中*/

MOVR0,#Z/*z的值放入R0*/

ANDR0,R0,#0xff/*取R0的低八位*/

MOVR1,#Y/*y的值放入R1*/

ADDR2,RO,R1,LSR#1/*R1的值除以2加上r0的值放入R2*/

LDRR0,[SP]/*SP的值(0X2D20)放入R1*/

MOVRI,#0x01/♦R1赋值0x01*/

ORRR0,R0,RI/*该指令设置R0的0位,其余位保持不变*/

MOVR1,R2/*R2的值放入R1*/

ADDR2,RO,R1,LSR#1/*R1的值除以2加上r0的值放入R2*/

STOPBSTOP/*程序结束,进入死循环*/

END

1实验A参考程序

NUMEQU20

AREAInit,CODE,READONLY

CODE32

ENTRY

START

LDRR0,=SRC

LDRR1,=DST

MOVR2,#NUM

MOVSP,#0x400

BLKCOPY

MOVSR3,R2,LSR#3

精选文库

BEQCOPYVVORDS

STMFDSPIJR4-R11}

OCTCOPY

LDMIARO!,{R4-R11}

STMIAR1!,{R4-R11)

SUBSR3,R3,#1

BNEOCTCOPY

LDMFDSP!,{R4-R11}

COPYVVORDS

ANDSR2,R2,#7

BEQSTOP

VVORDCOPY

LDRR3,[R0],#4

STRR3,[RI],#4

SUBSR2,R2,#1

BNEWORDCOPY

STOPBSTOP

SRC

DCB1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,10,11,12,13

DST

DCB0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

END

1.randtest.c参考源代码

#include<stdio.h>

externunsignedintrando

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论