嵌入式系统复习题答案.docx

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

嵌入式系统复习题答案.docx

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

嵌入式系统复习题答案.docx

嵌入式系统复习题答案

第一章

思考与练习

(③)不是常规意义上的嵌入式系统。

P6

①手机②MP3③PC机④数码相机

可用作嵌入式操作系统的有(①)

①Linux(Vxworks,uc/os-II)②windows2000③windowsXP④DOS

什么叫嵌入式系统p7

第二章

嵌入式系统项目开发生命周期的阶段没有(④)p4、5

1识别需求②提出方案③执行项目④系统规划

第三章

ARM7TDMI中的T、D、M、I的含义是什么?

p22

不属于ARM7三级流水线的是(③)p24

1取指②译码③PC值递增④执行

对于ARM7三级流水线,当一条指令被译码时,上一条指令正被(④)p24

①取指②译码③PC值递增④执行

对于ARM7三级流水线,当一条指令被译码时,下一条指令正被(①)p24

①取指②译码③PC值递增④执行

ARM7TDMI采用三级流水线?

采用冯.诺依曼体系结构。

ARM7有(两种)处理器状态,分别是(ARM)状态和(Thumb)状态。

P30

ARM7有(7种)处理器模式,分别是(用户)、(快中断)、(中断)、(管理)、(中止)、(未定义)、(系统模式),其中5种异常模式是(快中断)、(中断)、(管理)、(中止)、(未定义)模式。

P42~p44

(用户模式)是正常程序工作模式,特点是不能(直接)切换到其它模式。

(管理模式)是“操作系统保护代码”,复位和软中断响应时进入此模式。

系统模式用于支持操作系统的(特权)任务等,与用户模式类似,但可以(直接)切换到其它模式。

在ARM7(37)个用户可见寄存器中,有(6)个状态寄存器,(31)个通用寄存器。

程序计数器PC是(R15),程序状态寄存器是(CPSR),链接寄存器LR是(R14),堆栈指针SP是(R13)。

P47~p49

CPSR有若干控制位和若干条件代码标志构成:

T为0表示处理器工作在(ARM状态).

p80~p87

CPSR有若干控制位和若干条件代码标志构成:

N为1表示前次运算结果(为负)。

CPSR有若干控制位和若干条件代码标志构成:

Z为1表示前次运算结果(为零)。

CPSR有若干控制位和若干条件代码标志构成:

C为1表示前次运算产生了(进位/借位)。

CPSR有若干控制位和若干条件代码标志构成:

V为1表示前次运算(溢出)。

若前次运算结果为负数,则CPSR的(①)为1

①N②Z③C④V

若前次运算结果为零,则CPSR的(②)为1

①N②Z③C④V

若前次运算产生了进位/借位,则CPSR的(③)为1

①N②Z③C④V

若前次运算溢出,则CPSR的(④)为1

①N②Z③C④V

欲使处理器禁止快中断,则应该使(①)

1CPSR的F位为1②CPSR的F位为0③CPSR的I位为1④CPSR的I位为0

欲使处理器禁止中断,则应该使(③)

CPSR的F位为1②CPSR的F位为0③CPSR的I位为1④CPSR的I位为0

异常复习p3~p12

子程序的最后一条指令必须是(①)P3

①MOVPC,R14②MOVPC,R14_und③SUBSPC,R14_fig,#4④SUBSPC,R14_irg,#4

中断服务程序的最后一条指令必须是(④)P3

①MOVPC,R14②MOVPC,R14_und③SUBSPC,R14_fig,#4④SUBSPC,R14_irg,#4

快中断服务程序的最后一条指令必须是(③)

①MOVPC,R14②MOVPC,R14_und③SUBSPC,R14_fig,#4④SUBSPC,R14_irg,#4P3

ARM7处理器响应中断时,处理器硬件修改PC为(③)p22

①0x00000000②0x00000000③0x00000018④0x0000001C

ARM7处理器响应快中断时,处理器硬件修改PC为(④)

①0x00000000②0x00000000③0x00000018④0x0000001C

外部设备向处理器发出中断请求,处理器进入(②)异常。

①快中断②中断③未定义指令④预取中止

ARM7处理器收到快中断请求,则进入(①)异常。

①快中断②中断③未定义指令④预取中止

第四章

ARM7的寻址方式有(④)种。

P6

16②7③8④9

条件码复习p35~p36

使用指令条件码可实现高效的逻辑操作,提高代码效率。

指令条件码表如表4.1所列。

指令条件码表

操作码

条件码助记符

标志

含义

0000

EQ

Z=1

相等

0001

NE

Z=0

不相等

1000

HI

C=1,Z=0

无符号数大于

1001

LS

C=0,Z=1

无符号数小于或等于

ARM指令的条件码的作用是满足了(条件)则执行指令。

P39~p41

处理器从存储器读数据的指令(加载指令)的助记符是(①)

①LDR②STR③SWP④SWPB

处理器往存储器写数据的指令(存储指令)的助记符是(①)

①LDR②STR③SWP④SWPB

将R0+0x12地址处的数据读出,保存到R1中

LDRR1,[R0,#0x12]

将R1中数据保存到R0+0x12地址处

STRR1,[R0,#0x12]

将R0-0x12地址处的数据读出,保存到R1中

LDRR1,[R0,-#0x12]

将R1中的数据保存到R0-0x12地址处

STRR1,[R0,-#0x12]

将R0+R2地址处的数据读出,保存到R1中

LDRR1,[R1,R2]

将R1中数据保存到R0+R2地址处

STRR1,[R1,R2]

将R0-R2地址处的数据读出,保存到R1中

LDRR1,[R0,-R2]

将R1中的数据保存到R0-R2地址处

STRR1,[R0,-R2]

P60~p62

数据传送指令的助记符是(①)。

1MOV②SBC③ADD④SUB

代进位加法指令的助记符是(①)

①ADC②SBC③ADD④SUB

代借位减法指令的助记符是(②)

①ADC②SBC③ADD④SUB

求R1+R2,和放在R1中

ADDR1,R1,R2

求R1-R2,差放在R1中

SUBR1,R1,R2

求R4R3-R2R1,差放在R6R5中

SUBSR5,R3,R1

SBCR6,R4,R2

求R4R3+R2R1,和放在R6R5中

ADDSR5,R3,R1

ADCR6,R4,R2

求R4R3-1,差放在R6R5中

SUBSR5,R3,#1

SBCR6,R4,#0

求R4R3+1,和放在R6R5中

ADDSR5,R3,#1

ADCR6,R4,#0

P69

将R0最第4位数据保留,并影响标志位

ANDSR0,R0,#0x0F

将R0的1,3,5位置1

ORRR0,R0,#0x2A

将R0的1,3,5位置0

BICR0,R0,0x2A

P75,p76

R1与99比较,设置相关标志位

CMPR1,#99

R1与R2比较,设置相关标志位

CMPR1,R2

P96

跳转到标号waiter处

Bwaiter

前次运算结果为正,转到标号play处

BHIplay

前次运算结果为非正,转到标号play处

BLSplay

调用子程序whiet

BLwhiet

前次运算结果为0,调用子程序ply

BLEQply

前次运算结果为非0,调用子程序ply

BLNEply

调用子程序是用(BL)指令?

子程序返回指令是(MOVPC,R14)

编程题:

写一个程序,判断R1的值是否大于0x30,是则将R1减去0x30。

CMPR1,0x30

SUBHIR1,R1,0x30

编写实现两个寄存器R0,R1相加的子程序。

ADD_SUB

ADDSR0,R0,R1;R0=R0+R1

MOVPC,LR;子程序返回

END;文件结束

 

P119~p122

将CPSR状态寄存器读取,保存到R1中

MRSR1,CPSR

将SPSR状态寄存器读出,保存到R2中

MRSR2,SPSR

程序清单4.3使能IRQ中断

ENABLE-IRQ

MRSR0,CPSR

BICR0,R0,#0X80

MSRCPSR_C,R0

MOVPC,LR

程序清单4.4禁能IRQ中断

DISABLE_IRQ

MRSR0CPSR

ORRR0,R0,#0X80

MSRCPSR_C,R0

MOVPC,LR;LR即R14

编一个简单的软件延时程序

DELAYI

NOP

NOP

NOP

SUBSR1,R1,#1

BNEDELAYI

……

第五章

p6

LPC2000系列单片机包含四大部分:

ARM7内核、ARM7局部总线及相关部件、AHB及相关部件、VPB总线及相关部件。

LPC2000系列芯片内部单元有SRAM和FLASH、系统功能之系统时钟和复位、向量中断控制器VIC、外部存储器控制器EMC、异步收/发器UART、外部中断等。

P14

由设置寄存器(②)来选择P1口的引脚功能。

①SINSEL0②SINSEL1③SINSEL2④SINSELx

p21~p23

片内Flash编程方法不包括(④)

①通过内置JTAG接口②通过在线系统编程(ISP),通过UART0通信

③通过在线应用编程(IAP)④运行Loader程序

片内SRAM控制器包含一个(回写缓冲区),它总是保存着发生到内部SRAM的(最后)一个字数据。

P26

片内存储器可能的最大地址是(①)

①0x7FFFFFFF②0xDFFFFFFF③0xEFFFFFFF④0xFFFFFFFF

片外存储器可能的最大地址是(②)

①0x7FFFFFFF②0xDFFFFFFF③0xEFFFFFFF④0xFFFFFFFF

VHB外设可能的最小地址是(③)

①0x00000000②0xE0000000③0xE0000000④0xF0000000

AHB外设可能的最大地址是(④)

①0x7FFFFFFF②0xDFFFFFFF③0xEFFFFFFF④0xFFFFFFFF

p31

Bootlock映射到片内存储器(顶部),Flash映射到片内存储器(底部)

P57~58

时钟产生单元能产生供(内核)使用的时钟和供(外设)使用的时钟

晶振输出的时钟频率最大为(① )MHz

①25②20③35④40

锁相环输出的最大频率为(60)MHz

①20②40③60④80

p70~p746

与锁相环有关的寄存器有(PLLCON)、(PLLCFG)、(PLLSTA)、(PLLFEED)

锁相环计算流程是:

1、选择内核工作频率。

2、选择振荡器频率。

3、计算M值,配置MSEL位。

4、计算P值,配置PSEL位。

与VPB分频器有关的寄存器有(VPBDIV)

为了正确使用时钟技术,必须设置好(PLLCON)、(PLLCFG)、(PLLFEED)、(VPBDIV)等寄存器。

复位后程序计数器PC的值为(①)

①0x00000000②0x00000004③0x00000008④0x0000001C

p113

为了使用好中断技术,要设置好(6)个寄存器。

EXTPOLAR2位被设置为1,则(②)

①引脚EINT1输入信号高电平或上升沿有效②引脚EINT2输入信号高电平或上升沿有效③引脚EINT3输入信号高电平或上升沿有效④引脚EINT0输入信号高电平或上升沿有效

EXTMODE2位设置为1,则(②)

①引脚EINT1输入信号为边沿触发有效②引脚EINT2输入信号为边沿触发有效

③引脚EINT3输入信号为边沿触发有效④引脚EINT0输入信号为边沿触发有效

要求外部中断2能将处理器从掉电模式唤醒,(③)应该设置成1

①EXTWAKE0位②EXTWAKE1位③EXTWAKE2位④EXTWAKE3位

若引脚EINT1输入中断请求,会使(②)

①中断标志寄存器EXTINT的第1位清0②中断标志寄存器EXTINT的第1位置1

③中断标志寄存器EXTINT的第0位清0④中断标志寄存器EXTINT的第0位置1

p126,p127

用C语言设置EINT0为低电平触发中断

……

PINSEL1=(PINSEL1&0XFFFFFFFC)|0X01;

EXTMODE=0X00;

EXTPOLAR=0X00;

……..

用C语言设置EINT0为下降沿触发中断

……

PINSEL1=(PINSEL1&0XFFFFFFFC)|0X01;

EXTMODE=0X01;

EXTPOLAR=0X00;

……..

用C语言设置EINT1为高电平触发中断

……

PINSEL1=(PINSEL1&0XFFFFFFFC)|0X01;

EXTMODE=0X00;

EXTPOLAR=0X02;

……..

用C语言设置EINT1为上升沿触发中断

……

PINSEL1=(PINSEL1&0XFFFFFFFC)|0X01;

EXTMODE=0X02;

EXTPOLAR=0X02;

……..

p130~p138p137有错

异常向量表保存在0x00000000起始处,则MAP〔1:

0〕的值应该为(②)。

①00②01③10④11

异常向量表保存在BootBlock中,则MAP〔1:

0〕的值应该为(①)。

①00②01③10④11

异常向量表保存在片内SRAM中,则MAP〔1:

0〕的值应该为(③)。

①00②01③10④11

异常向量表保存在外部存储器中,则MAP〔1:

0〕的值应该为(④)。

①00②01③10④11

p150

空闲模式特点:

内核停止执行指令,系统时钟一直有效,外设功能保持

设置PCON的IDL位为1,进入空闲模式;中断请求使处理器退出空闲模式。

掉电模式特点:

关闭时钟,仅相关数据保持、处理器和引脚状态保持。

设置PCON的PD位为1,进入掉电模式;复位和无需时钟的中断使处理器退出中断。

欲进入空闲模式,则应该使(①)。

①IDL为1②IDL为0③PD为1④PD为0

欲进入掉电模式,则应该使(③)。

①IDL为1②IDL为0③PD为1④PD为0

p15

外部存储器控制器输出地址线(24)位,4位存储器组选择线是(CS[3:

0])。

P18

外部存储器分为(4)组,每组有(自己的)配置寄存器BCFGx,通过它分别可以设置每个寄存器组读写访问之间插入的等待周期(个数)、每个存储器组的总线(宽度)等。

P20~33

配置寄存器BCFG0的WST1为(②),外部寄存器组BANK0的读操作周期为5个CCLK周期

①1②2③3④4

配置寄存器BCFG0的WST2为(②),外部寄存器组BANK0的写操作周期为5个CCLK周期

①1②2③3④4

配置寄存器BCFG1的MW为(③),外部寄存器组BANK1数据总线宽度为32位

①00②01③10④11

当将PINSEL0[3:

0]设置成(①)时,P0.0和P0.1为GPIO脚。

①0000②0101③1010④1111

当将PINSEL0[3:

0]设置成(②)时,P0.0和P0.1分别为TxD0和RxD0脚。

①0000②0101③1010④1111

当将PINSEL0[3:

0]设置成(③)时,P0.0和P0.1分别为PWM1、PWM3脚。

①0000②0101③1010④1111

当将PINSEL0[3:

0]设置成(④)时,P0.1脚为EINT0脚。

①0000②0101③1010④1111

用C编程,将P0.0和P0.1分别设置为TxD0和RxD0脚

……..

PINSEL0=PINSEL0&0xFFFFFFF0

PINSEL0=PINSEL0|0x00000005

……….

P53、p56

ARM7内核具有

(2)个中断输入,但经过向量中断控制器VIC最多可以接收(32)个中断输入请求。

外部中断请求EINT0是向量中断控制器VIC的(①)

①中断请求输入14②中断请求输入15③中断请求输入16④中断请求输入17

p58、p59

允许EINT0产生中断,应该使中断使能寄存器VICIntEnable的(①)为1。

①14②15③16④17

设置EINT0为快中断FIQ,应该使中断选择寄存器VICIntSelect的(①)为1。

①14②15③16④17

设置EINT0为中断IRQ,应该使中断选择寄存器VICIntSelect的(①)为0。

①14②15③16④17

用C语言编程开放外部中断EINT1,设置其为快中断FIQ。

…….

VICIntEnable=VICIntEnable|0x80

VICIntselect=VICIntselect|0x80

……

p9

P0为GPIO,欲使它的低8位为输出脚,而其他位为输入脚,则应该设置IO0DIR为(①)

①0xFF②0xFF00③0xFF0000④0xFF000000

P0为GPIO,欲使它的8~15位为输出脚,而其他位为输入脚,则应该设置IO0DIR为(②)

①0xFF②0xFF00③0xFF0000④0xFF000000

P0为GPIO,欲使它的16~23位为输出脚,而其他位为输入脚,则应该设置IO0DIR为(③)

①0xFF②0xFF00③0xFF0000④0xFF000000

①②③④①②③④①②③④①②③④①②③④①②③④①②③④①②③④①②③④①②③④①②③④①②③④①②③④①②③④①②③④

p11

P0的低8位为输出脚。

欲使其低4位输出高电平,则应该(③),

①设置IO0SET为0xF0,设置IO0CLR为0x0F

②设置IO0SET为0xF0,设置IO0CLR为0xF0

③设置IO0SET为0x0F,设置IO0CLR为0xF0

④设置IO0SET为0x0F,设置IO0CLR为0x0F

设已经将P0口设置成GPIO,用C语言编程,使P0的低8位输出脚,低4位输出高电平。

……

IO0DIR=0xFF

IO0SET=0x0F

IO0CLR=0xF0

………

(注:

可编辑下载,若有不当之处,请指正,谢谢!

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

当前位置:首页 > 工作范文 > 行政公文

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

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