嵌入式系统开发与应用教程复习题.docx

上传人:b****7 文档编号:9457652 上传时间:2023-02-04 格式:DOCX 页数:14 大小:24.89KB
下载 相关 举报
嵌入式系统开发与应用教程复习题.docx_第1页
第1页 / 共14页
嵌入式系统开发与应用教程复习题.docx_第2页
第2页 / 共14页
嵌入式系统开发与应用教程复习题.docx_第3页
第3页 / 共14页
嵌入式系统开发与应用教程复习题.docx_第4页
第4页 / 共14页
嵌入式系统开发与应用教程复习题.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

嵌入式系统开发与应用教程复习题.docx

《嵌入式系统开发与应用教程复习题.docx》由会员分享,可在线阅读,更多相关《嵌入式系统开发与应用教程复习题.docx(14页珍藏版)》请在冰豆网上搜索。

嵌入式系统开发与应用教程复习题.docx

嵌入式系统开发与应用教程复习题

一、选择题 

1、ADD  R0,R1,#3属于〔〕寻址方式。

  

A. 立刻寻址  B. 多存放器寻址  C. 存放器干脆寻址 D. 相对寻址  

2、GET伪指令含义是〔〕  

A. 包含一个外部文件  B. 定义程序入口 C. 定义一个宏 D. 声明一个变量  

3、存储一个32位数0x876165到2000H~2003H四个字节单元中,假设以小端模式存 储,那么2000H存储单元内容为〔 〕。

 A、0x00  B、0x87  C、0x65  D、0x61 

 4、假设R1=2000H,(2000H)=0x86,(2008H)=0x39,那么执行指令LDR R0,[R1,#8]!

后R0值为〔〕。

 A. 0x2000 B. 0x86 C. 0x2008 D. 0x39 

 5、存放器R13除了可以做通用存放器外,还可以做〔 〕。

 

A、程序计数器   B、链接存放器 C、栈指针存放器    D、基址存放器  

6、FIQ中断入口地址是〔〕。

 

 A、0x0000001C  B、0x00000008 C、0x00000018  D、0x00000014 

 7、ARM指令集和Thumb指令集分别是〔 〕位。

 

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

8、ARM存放器组有〔 〕个存放器。

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

9、假设R1=2000H,(2000H)=0x28,(2008H)=0x87,那么执行指令LDR R0,[R1,#8]!

后R0值为〔 〕。

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

10、和PC机系统相比,以下哪个不是嵌入式系统独具特点〔     〕 

A、系统内核小    B、专用性强  C、可执行多任务    D、系统精简 

11.ARM公司是特地从事〔        〕 

A、基于RISC技术芯片设计开发  B、ARM芯片生产 C、软件设计    D、ARM芯片销售

 12.ARM9系列微处理器是〔        〕 

A、三级流水线构造   B、四级流水线构造 C、五级流水线构造   D、六级流水线构造 

13.全部工作模式下,〔       〕都指向同一个物理存放器,即各模式共享

 A、R0-R7   B、R0-R12  C、R8-R12  D、R13,R14 

14..当异样发生时,存放器〔         〕用于保存CPSR当前值,从异样退出时那么可由它来复原CPSR. 

A、SPSR   B、R13   C、R14   D、R15 

15.能实现把立刻数0X3FF5000保存在R0中指令是〔     〕 

A、LDR R0, = 0X3FF5000 B、LDR R0, 0X3FF5000 C、MOV R0, 0X3FF5000 D、MOV R0, =0X3FF5000 

16.ARM指令LDMIA  RO,{R1, R2, R3,R4 } 实现功能是〔        〕

 A、R1←[R0],R2←[R0+4],R3←[R0+8],R4←[R0+12] B、R1←[R0],R2←[R0-1],R3←[R0-2],R4←[R0-3] 

C、R1←[R0],R2←[R0+1],R3←[R0+2],R4←[R0+3] D、R1←[R0],R2←[R0-4],R3←[R0-8],R4←[R0-12]

 17.〔        〕伪指令用于定义一个代码段或数据段 

A、RLIST   B、DCB  C、MAP  D、AREA 

18.在ARM体系构造中,要从主动用户模式〔User〕切换到超级用户模式〔Supervisor〕,应接受〔       〕方法。

 

A、干脆修改CPU状态存放器〔CPSR〕对应模式 B、先修改程序状态备份存放器〔SPSR〕到对应模式,再更新CPU状态 C、运用软件中断指令〔SWI〕 D、让处理器执行未定义指令 

三、简答 

第一章:

1、什么是嵌入式系统?

与通用计算机系统相比,它有哪些特点?

 

答:

定义:

以应用为中心,以计算机技术为根底,软硬件可裁剪,适应应用系统对功能、牢靠性、本钱、体积、功耗等严格要求专用计算机系统。

 

特点:

“专用”计算机系统;运行环境差异很大;比通用PC系统资源少得多;低功耗、体积小、集成度高、本钱低;具有完整系统测试和牢靠性评估体系;具有较长生命周期; 须要专用开发工具和方法进展设计;包含专用调试路;多科学学问集成系统 

2、 嵌入式系统组成构造包括哪几局部?

嵌入式系统组成构造理解。

  

答:

嵌入式系统由硬件和软件组成。

嵌入式系统硬件是以嵌入式微处理器为中心,配置存储器、I/O设备、通信模块以及电源等必要帮助接口。

嵌入式系统软件包括板级支持包层、实时操作系统层、应用程序接口层和应用程序层四层。

 

3、 简述嵌入式系统硬件组成  

答:

嵌入式系统硬件是以嵌入式微处理器为中心,配置存储器、I/O设备、通信模块以及电源等必要帮助接口。

    

4、试分析通用操作系统与嵌入式操作系统异同点,并说明什么是嵌入式实时操作系统。

嵌入式操作系统和嵌入式实时操作系统概念有哪些不同?

 

答:

 通用操作系统和嵌入式操作系统都对软、硬件资源进展支配和调度以及限制协调等,嵌入式操作系统与通用操作系统不同之处在于它具有实时性高、牢靠性好、可裁剪、体积小等特性。

  

嵌入式实时操作系统(Real Time Embedded Operating System)是一种实时、支持嵌入式系统应用操作系统,是嵌入式系统重要组成局部。

  

嵌入式操作系统只留意平均性能,对整个系统来说,全部任务平均响应时间是关键,对单个任务响应时间不关怀。

嵌入式实时操作系统最主要特性是性能上“实时性”,也就是说系统正确性不仅依靠于计算逻辑结果,也依靠于结果产生时间。

是一个能够

在指定或者确定时间内,完成系统功能以及对外部或内部、同步或异步事务作出响应系统。

   

5、 嵌入式操作系统具有哪些根本管理功能?

  

多任务管理,存储管理,外围资源管理和中断管理。

其次章:

   

6、 试比拟CISC体系构造和RISC体系构造特点。

ARM为何接受RISC构造?

 

答:

比拟:

CISC指令集设计主要趋势是增加指令集困难度。

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

RISC中心思想是精简指令集困难度、简化指令实现硬件设计,硬件只执行很有限最常用那局部指令,大局部困难操作那么由简洁指令合成。

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

 接受RISC缘由:

〔1〕Load/store体系构造〔2〕固定32位指令  〔3〕地址指令格式  

7、分别以ARM7TDMI和ARM9TDMI为例,介绍3级流水线和5级流水线执行过程,并进展相应比拟。

3级流水线分为:

取指,译码和执行。

5级流水线分为:

取指、译码、执行、缓冲\数据、回写。

它们区分在于3级流水执行级中存放器读在5级流水译码级中处理。

3级流水执行级中存放器写在5级流水回写级中处理。

5级流水中第4级缓冲\数据表示假如须要那么访问数据存储器,否那么只是简洁地缓冲一个时钟周期。

3级流水接受冯诺依曼构造,不能同时访问指令存储器和数据存储器;5级流水接受哈佛构造,指令存储器与数据存储器分开,可以同时访问。

8、ARM微处理器支持哪几种工作模式?

各个工作模式有什么特点?

 

答:

共支持7中工作模式:

用户模式,系统模式,快速中断〔FIQ〕模式,平凡中断(IRQ)模式,管理(SVC)模式,中止模式和未定义模式。

 用户模式:

ARM处理器正常程序执行状态。

 

快速中断模式(FIQ):

用于高速数据传输或通道处理。

 平凡中断模式(IRQ):

用于通用中断处理。

 管理模式(SVC):

操作系统运用爱惜模式。

 

中止模式:

当数据或指令预取终止时进入该模式,可用于虚拟存储及存储爱惜。

 系统模式:

运行具有特权操作系统任务。

 

未定义模式:

处理未定义指令陷阱,支持硬件协处理器软件仿真。

9ARM处理器共有多少个存放器?

这些存放器在用户编程中功能是如何划分?

ARM状态下通用存放器可分为哪几类?

ARM处理器共有37个存放器,其中31个为通用存放器,其余6个为状态存放器。

通用存放器可分为未分组存放器R0-R7,分组存放器R8-R14和程序计数器R15。

10简述ARM状态下分组存放器R13,R14,R15特殊功能及R15运用留意事项。

存放器R13通常用做堆栈指针SP;存放器R14用作子程序链接存放器LR;存放器R15被用作程序计数器PC。

R15值变更将引起程序执行依次变更,这有可能引起程序执行中出现一些不行预料结果,因此,对R15运用必需要慎重。

ARM处理器接受多级流水线技术,因此保存在R15地址并不是当前指令地址。

 11、简述ARM处理对异样中断相应过程。

 

(1)将CPSR内容保存到将要执行异样中断对应SPSR中 ,实现对处理器当前状态、中断屏蔽位、各条件标记位保存。

 

〔2〕设置当前状态存放器CPSR中相应位设置工作模式限制位,使处理器进入相应执行模式 设置中断标记位,制止IRQ中断 当进入RESET或FIQ模式时,还要制止FIQ中断  

〔3〕将引起异样指令下一条指令地址保存到新异样工作模式R14 ,使异样处理程序执行完后能正确返回原程序。

 

〔4〕给程序计数器〔PC〕强制赋值,依据中断向量地址跳转 去执行中断处理程序。

 

12.假如FIQ、IRQ和第3个异样〔不是复位〕同时发生,ARM应如何处理?

  

答:

假如第3个异样是数据中止,处理器将在进入数据中止处理程序后立刻进入FIQ处理程序。

数据中止将“记”在返回路径中,当FIQ处理程序返回时进展处理。

 假如第3个异样不是数据中止,将立刻进入FIQ处理程序。

当FIQ和IRQ两者都完成时,程序返回到产生第3个异样指令并进展相应处理。

14什么是ARM异样中断向量表?

它有何作用?

存储在什么地方?

中断向量表中指定了各异样中断与其处理程序对应关系。

在ARM体系中,异样中断向量表大小为32字节,每个异样中断占据4个字节。

ARM异样向量表通常以存储器低端0x0为起始地址,大多数ARM处理器核也支持将异样向量表存放在以0xFFFF0000为起始地址32字节空间中。

每个异样中断对应中断向量表4个字节空间中存放一个跳转指令或者一个向PC存放器中赋值数据访问指令LDR。

通过这两种指令,程序将跳转到相应异样中断处理程序处执行。

 

15.简述ARM存储器层次。

1)存放器组——存储器层次顶层,访问时间几个ns

2)片上RAM——具有和片上存放器组同级读/写速度

3)片上Cache——访问时间10ns,2级片外Cache访问时间几十ns

4〕主存储器——访问时间50ns

5〕硬盘——访问时间几十ms

16.大端存储法与小端存储法有什么不同?

对存储数据有什么要求与影响?

   

 小端:

较高有效字节存放在较高存储器地址,较低有效字节存放在较低存储器地址。

  大端:

较高有效字节存放在较低存储器地址,较低有效字节存放在较高存储器地址。

 第三章:

17、 ARM处理器如何进入和退出Thumb指令模式?

用汇编语言实现ARM状态和Thumb状态相互切换。

  

答:

进入Thumb模式:

有2种方法。

一种是执行一条交换转移指令BX,将指令中目标地址存放器最低位置1,并将其他位值放入程序计数器PC,那么可以进入Thumb指令。

另一种方法是利用异样返回,也可把微处理器从ARM模式转换为Thumb模式。

  

退出Thumb模式:

也有2种方法。

一种是执行Thumb指令中交换转移BX指令可以显式地返回到ARM指令流。

另一种是利用异样进入ARM指令流。

 

18.如何在汇编语言中定义和运用宏?

 答:

定义:

   宏名   MACRO                      宏体                       MEND 调用:

宏调用方式在源程序中须要复制宏体地方写宏名字。

宏名单独占一行,当源程序被汇编时,汇编程序将对宏调用进展宏体复制,并取代宏名,这种复制操作称为宏绽开。

为了与源程序其他局部相区分 

19、简述ARM汇编语言中伪操作,宏指令和伪指令含义,伪操作和伪指令都分为哪几类?

 

答:

伪操作----伪操作只是在汇编过程中起作用,汇编完毕,伪操作使命也就完毕。

 

宏指令----是一段独立程序代码,可插在源程序中,它通过伪操作来定义。

 伪指令----是ARM汇编语言程序里特殊指令助记符,在汇编时将被相宜机器指令代替成ARM或Thumb指令,从而实现真正指令操作。

  

伪操作分类:

①符号定义伪操作②数据定义伪操作③汇编限制伪操作 

④信息报告伪操作⑤其他伪操作 

伪指令分类:

①小范围地址读取ADR②中等范围地址读取ADRL 

③大范围地址读取LDR④空操作伪指令NOP 

20.ARM寻址方式有几种?

举例说明ARM如何进展不同方式寻址。

1).存放器寻址;如MOVR1,R2

2).立刻寻址;如MOVR0,#0xFF00

3).存放器移位寻址;如MOVR0,R2,LSL#3

4).存放器间接寻址;如LDRR1,[R2]

5).基址加偏址寻址;如LDRR2,[R3,#0x0C]

6).多存放器寻址;如LDMIAR1!

{R2-R4,R6}

7).堆栈寻址;如STMFDSP!

{R1-R7,LR}

8).相对寻址。

如BLSUBR1

第四章:

15、S3C44B0X有多少个通用可编程多功能输入/输出引脚?

可分为几类端口?

 

答:

71个通用可编程多功能输入/输出引脚,可分为7类端口:

  〔1〕2个9位输入/输出端口〔Port E和Port  F〕; 〔2〕2个8位输入/输出端口〔Port D和Port G〕;  〔3〕1个16位输入/输出端口〔Port C〕;    〔4〕1个10位输出端口〔Port A〕; 〔5〕1个11位输出端口〔PortB〕  

四、编程:

 

1、两个矢量标量积:

        

MOV     R11,#20        初始化循环次数

MOV     R10,#0 初始化总和

LOOP   LDR      R0,[R8],#4     读取第一个重量

LDR      R1,[R9],#4 读取其次个重量

      MLA     R10,R0,R1,R10       乘积累加R10=R0*R1+R10

SUBS     R11,R11,#1        减循环计数R11=R11-1

BNE      LOOP  

2、10个数求和:

 

       MOV     R1,#1        

MOV     R0,#0 

LOOP ADD     R1,R1,R0       

ADD     R0,R0,#1        

CMP     R0,#10       

BNE     LOOP        

3.把0x1000地址起先五个字求和结果存到0x2000地址

MOVR0,#0x1000

MOVR11,#0x2000

LDMIAR0,{R1—R5}

ADDR10,R1,R2

ADDCR9,R3,R4

ADDCR8,R10,R9

ADDCR7,R8,R5

STRR7,[R11]

4把0x1000处起先8个字存到0x2000起先地址

MOVR0,#0x1000

MOVR1,#0x2000

LDMIAR0,{R1—R8}

STMIAR11,{R1—R8}

3、编写以字节为单位字符串拷贝子程序,要求从存储器某处拷贝到另一处。

源字符串起始地址放入R1,长度〔以字节为单位〕放入R2,目字符串起始地址放入R3。

   

LOOP  LDRB  R0,  [R1],  #1  

STRB  R0,  [R3],  #1  

SUBS  R2,  R2,  #1  

BNE  LOOP  

MOV  PC,  LR  

3.1计算X*2^8+Y/2^2+Z

LDRR0,X

LDRR1,y

LDRR2,Z

ADDR3,R2,R1ASR#2R3=Z+Y/4

ADDR4,R3,R0ASL#8R4=R3+X*2^8

4、基于确定地址内存表举例。

下面伪操作序列定义一个基于确定地址内存表,其首地址为固定地址8192〔0x2000〕。

该内存表中包含5个作用域:

consta长度为4字节,constb长度为4字节,x长度为8字节,y长度为8字节,string长度为16字节。

 

MAP     8192            ;内存表首地址为8192〔0x2000〕 c

onsta    FIELD  4        ;consta长度为4字节,相对位置为0 

constb    FIELD  4        ;constb长度为4字节,相对位置为4 

x        FIELD  8         ;x长度为8字节,相对位置为8 

y        FIELD  8         ;y长度为8字节,相对位置为16 

string    FIELD  16        ;string长度为16字节,相对位置为24 在指令中可以这样引用内存中数据域:

 

LDR     R0,consta         ;将consta地址处对应内容加载到R0    

5、.基于相对地址内存表举例。

下面伪操作序列定义一个基于相对地址内存表,其首地址为0与R9存放器值和,该内存表包含5个数据域〔与例11一样〕。

 

MAP     0,R9           ;内存表首地址为R9存放器值 

consta    FIELD  4        ;consta长度为4字节,相对位置为0 

constb    FIELD  4        ;constb长度为4字节,相对位置为4

 x        FIELD  8         ;x长度为8字节,相对位置为8

 y        FIELD  8         ;y长度为8字节,相对位置为16 

string    FIELD  16        ;string长度为16字节,相对位置为24 可以通过下面指令访问地址范围超过4KB数据:

 

ADR     R9,FIELD        ;伪指令,将在后面介绍 

LDR     R5,constb         ;相当于LDR,R5,[R9,#4]

6、编写一段程序实此时此刻C语言中调用汇编语言程序,实现将1KB大小内存块以字形式复制到另一内存地址 

#include 

#define NUM 1024 

int main() 

char strFrom[NUM] = { "helloworld" }; 

char strTo[NUM]; 

__asm 

mov ecx, NUM;

 lea esi, strFrom; 

lea edi, strTo;

 rep movsb; 

printf("%s\n", strTo); 

7.ARM处理器如何进入和退出Thumb指令模式?

用汇编语言实现ARM状态和Thumb状态相互切换。

进入Thumb模式:

有2种方法。

一种是执行一条交换转移指令BX,将指令中目标地址存放器最低位置1,并将其他位值放入程序计数器PC,那么可以进入Thumb指令。

另一种方法是利用异样返回,也可把微处理器从ARM模式转换为Thumb模式。

退出Thumb模式:

也有2种方法。

一种是执行Thumb指令中交换转移BX指令可以显式地返回到ARM指令流。

另一种是利用异样进入ARM指令流。

ARM状态切换到Thumb状态:

CODE32

LDRR0,=Lable+1

BXR0

CODE16

LableMOVR1,#12

Thumb状态切换到ARM状态:

CODE16

LDRR0,=Lable

BXR0

CODE32

LableMOVR1,#10

8.请将下面C语言代码转换成汇编语言。

(1)If(a==0||b==1)

c=d+e

CMPR0,#0

CMPNER1,#1

ADDEQR2,R3,R4

(2)if((a==b)&&(c==d))&&(e==f)

g++;

CMPR0,R1

CMPEQR2,R3

CMPEQR4,R5

ADDEQR6,R6,#1

9.编写以字节为单位字符串拷贝子程序,要求从存储器某处拷贝到另一处。

源字符串起始地址放入R1,长度〔以字节为单位〕放入R2,目字符串起始地址放入R3。

LOOP

LDRBR0,[R1],#1

STRBR0,[R3],#1

SUBSR2,R2,#1

BNELOOP

MOVPC,LR

10.读懂下面一段程序,程序执行过程中存放器R0、R1、R2中内容如何变更?

试分析并给出程序每一步所得结果。

从执行完loop循环起先,循环完毕时R0←0

MOVR1,#y;R1←76

ADDR2,R0,R1,LSL#1;R2←152

MOVSP,#0x1000;SP←0x1000

STRR2,[SP];mem32[0x1000]←152

MOVR0,#Z;R0←96

ANDR0,R0,#0XFF;R0←96

MOVR1,#y;R1←76

ADDR2,R0,R1,LSR#1;R2←134

LDRR0,[SP];R0←152

MOVR1,#0x01;R1←1

ORRR0,R0,R1;R0←153(0x99)(0b10011001)

MOVR1,R2;R1←134(0x86)(0b10000110)

ADDR2,R0,R1,LSR#1;R2←220(0xDC)(0b11011100)

11.请运用MRS和MSR指令,通过修改CPSR存放器,写出将处理器工作模式变为管理模式子程序。

〔留意不能影响其它位,管理模式二进制编码为10011〕

MRSR0,CPSR

ANDR0,R0,#0b11100000

ORRR0,R0,#0b00010011

MSRCPSR_c,R0

MOVPC,LR

11.用汇编语言移位指令实现

(变量A、B、C分别存放在存放器R1、R2、R3中)

ADDR1,R1,R1,LSL#3

SUBR1,R1,R2,LSRR3

12.用汇编语言实现96位整数加法(加数从高到低位存放在存放器R8、R7、R6中,被加数从高到低位存放在存放器R11、R10、R9中,结果从高到低位存放在存放器R5、R4、R3中)。

ADDSR3,R9,R6

ADCSR4,R10,R7

ADCR5,R11,R8

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

当前位置:首页 > PPT模板 > 动物植物

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

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