ARM嵌入式期末考试复习资料

发布时间:2012-05-31 22:47:10   来源:文档文库   
字号:

第六章的一些知识要点:(上课都教会了的 不懂的问下平时听课或做笔记的同学)

P186 3个寄存器gpbcon gpbup gpbdat的作用和配置方法

P187 LED灯程序读懂,知道如何点亮关闭相应的LED

P247 定时器的专用寄存器,比如:配置寄存器TCFG0的值要知道如何依据表来定值(相应的表会给出)

P212 214 215 ADC的转换时间要会算 ADCCON ADCDAT0的值要知道如何依据表来定值(相应的表会给出)

P217 例二的前两个define具体意思要清晰地掌握(后面的哪部分值代表的是地址//还是指针

ARM的常用指令要会熟练应用(MOV CMP LDR STR……常用的指令条件码:EQ NE HS LO HI LS),不仅程序题(1依据注释补全程序,2写相应的注释,3 C和汇编之间的互译)中会要用到,选择题中也可能有。

第二三章是选择判断填空的重点考察范围,另外第六章2410的特点也是其考察范围(比如2410有多少个中断源等)

第六章是最后一道综合题的考察范围

程序题的例子:

编写一简单ARM汇编程序段,实现1+2+…+100的运算。

MOV R2#100

MOV R1#0

LOOP

ADD R1R1R2 R1中为累加和

SUBS R2R2#1 R2控制循环

BNE LOOP

编写程序,将存储器从0x400000开始的200个字节的数据,传送到0x400800开始的区域。

MOV R0#0x400000

LDR R1=0x400800

MOV R7#200

LP LDRB R2[R0]#1

STRB R2[R1]#1

SUBS R7 R7#1

BNE LP

HERE

B HERE

搞懂我们写的那两道作业题,程序题就完全复习到位了。

下面给出一套题型类似的模拟题 大家复习完可以检验下自己大概能在考试中做对多少。

1以下说法不正确的是( )。

A、任务可以有类型说明 B、任务可以返回一个数值 C、任务可以有形参变量 D、任务是一个无限循环

2下列描述不属于RISC计算机的特点的是( )。

A.流水线每周期前进一步。 B.更多通用寄存器。

C.指令长度不固定,执行需要多个周期。

D.独立的LoadStore指令完成数据在寄存器和外部存储器之间的传输。

3 存储一个32位数0x21684652000H2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( )。

A0x21 B0x68 C0x65 D0x02

6 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是( )。

A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2

7 IRQ中断的入口地址是( )。FIQ的入口地址为0x0000001C

A0x00000000 B0x00000008 C0x00000018 D0x00000014

8 S3C2420X I/O口常用的控制器是( )。

1)端口控制寄存器(GPACON-GPHCON)。 2)端口数据寄存器(GPADAT-GPHDAT)。

3)外部中断控制寄存器(EXTINTN)。 4)以上都是。

9 实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为( )。

A. 同步 B. 互斥 C. 调度 D. 执行

10 PC系统机相比嵌入式系统不具备以下哪个特点( )。

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

11 ADD R0R1#3属于( )寻址方式。

A. 立即寻址 B. 多寄存器寻址 C. 寄存器直接寻址 D. 相对寻址

13、存储一个32位数0x8761652000H2003H四个字节单元中,若以小端模式存

储,则2000H存储单元的内容为( )。

A0x00 B0x87 C0x65 D0x61

15、若R1=2000H(2000H)=0x86(2008H)=0x39,则执行指令LDR R0[R1,#8]!后R0的值为( )。

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

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

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

17FIQ中断的入口地址是( )。

A0x0000001C B0x00000008 C0x00000018 D0x00000014

18ARM指令集和Thumb指令集分别是( )位的。

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

19ARM寄存器组有( )个寄存器。

A7 B32 C6 D37

20、若R1=2000H(2000H)=0x28(2008H)=0x87,则执行指令LDR R0[R1,#8]!后R0的值为( )。

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

21、寄存器R15除了可以做通用寄存器外,还可以做(

A. 程序计数器 B. 链接寄存器 C. 堆栈指针寄存器 D. 基址寄存器

22、嵌入式系统有硬件和软件部分构成,以下()不属于嵌入式系统软件。

A. 系统软件 B. 驱动 C. FPGA编程软件 D. 嵌入式中间件

26、假设R1=0x31R2=0x2 则执行指令ADD R0,R1,R2 LSL #2 后,R0的值是(

A. 0x33 B. 0x34 C. 0x39 D. 0x38

23、和PC机系统相比下列哪个不是嵌入式系统独具的特点(

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

24Unicode编码与( )编码方式兼容。

AASCII BGBK CGB2312 D、区位码

25 Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用()完成。

A.硬件 B. 软件 C. 用户 D. 程序员

27 每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是( )。

A. 嵌入式Linux提供了完善的网络技术支持;

B. CLinux是专门为没有MMUARM芯片开发的;

C. C/OS-操作系统是一种实时操作系统(RTOS);

D. WinCE提供完全开放的源代码。

28 下列关于存储管理单元(MMU)说法错误的是()。

A. MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。

B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。

C. MMU提供了一些资源以允许使用虚拟存储器。

D. MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。

29 下列CPSR寄存器标志位的作用说法错误的是()。

A. N:负数 B. Z: C. C: 进位 D. V: 借位

31 LDR R2[R3,#128] 的寻址方式是( )。

A. 寄存器寻址 B. 寄存器移位 C. 变址寻址 D. 间接寻址

32 S3C2410有( )个USB接口。

A. 1 B. 2 C.3 D. 4

34 ARM处理器的工作模式有( )种。

A. 5 B.6 C. 7 D.8

一、 判断题

1、 程序运行过程中的资源可以是显示器、键盘,但不可以是一个数组或变量X

2、 μCOS-II操作系统中,已知Task1的优先级为12Task2的优先级为26。假如在Task2运行过程中发生键盘中断,在执行中断服务程序时Task1进入就绪状态,则中断返回时Task1得到CPU的使用权。

3、 若定义任务task1的优先级为12,则不能再定义其他任务的优先级也为12

4、 任务创建后即开始调度X

5、 液晶工作在文本模式下时,既可以显示英文字符也可以显示汉字X

6、 处于就绪状态的任务只能切换到运行状态X

7、 等待消息函数WaitMessage0)中的“0”表示此函数的超时等待时间为0X

8、 OSTaskSuspend (prio)函数把正在延时的任务挂起,则调用一次对应的唤醒函数即可使该任务切换到就绪状态X

9、 调试程序时,需要停止程序运行后才可查看变量内容

10、 μCOS-II操作系统中移植成功后即可使用文件系统X

11、 将模拟信号转换成数字信号的电路是DA转换器。(×

12、 IIC是同步串行数据总线,。

13、 S3C2410的处理器对内存的访问只能通过Load/Store指令来实现。

14、 Nand FlashNor Flash成本高,可靠性差。×

15、 C语言程序可以嵌套加入汇编程序模块。

16、 运算放大器的输出电压范围一般大于电源电压的范围。×

17、 由于CPU内部寄存器的访问速度较高,根据ATPC标准,应尽可能使函数的参数控制在4个以下。

18、 ARM处理器结构体系中具有T变种处理器核可以工作在ARM状态和Thumb状态。

二、 简答题

ARM体系结构的寄存器组织:3732位寄存器,其中31个为通用寄存器,6个为状态寄存器,哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。

ARM微处理器的异常状态:7种异常

4ARM处理器有几种工作模式?并做说明每种工作模式的含义。

答:ARM处理器有7种工作模式:

用户模式(usr)- 正常程序执行的模式

快速中断模式(fiq)- FIQ异常响应时进入此模式

中断模式(irq)- IRQ异常响应时进入此模式

管理员模式(svc)- 系统复位和软件中断响应时进入此模式

中止模式(abt)- 用于虚拟存储及存储保护

系统模式(sys)- 与用户类似,但有直接切换到其它模式等特权

未定义模式(und)- 未定义指令异常响应时进入此模式

除了用户模式外,其他模式均可视为特权模式

9 阅读下列与看门狗有关的寄存器描述,解释每一行代码的功能。

看门狗定时器控制寄存器(WTCON

WTCON的标识位

看门狗定时器数据寄存器(WTDAT

看门狗计数寄存器(WTCNT

#define rWTCON (*(volatile unsigned *)0x53000000) // 1

#define rWTDAT (*(volatile unsigned *)0x53000004) // 2

#define rWTCNT (*(volatile unsigned *)0x53000008) // 3

void watchdog_test(void)

{

rWTCON = ((PCLK/1000000-1)<<8)|(3<<3)|(1<<2); // 4

rWTDAT = 7812; // 5

rWTCNT = 7812; // 6

rWTCON |=(1<<5); // 7

}

1-3 行:定义看门狗控制寄存器、数据寄存器和计数寄存器为rWTCONrWTDATrWTCNT

4 行:设置看门狗的预装比例值为1000000,分频因素为1/128,并使能中断。(6分)

5-6 行:对数据寄存器和计数寄存器赋值为7812。(2分)

7 行:启动看门狗。(2分)

7、阅读以下S3C2410部分用户手册.求:当PCLK UCLK 40 MHz时,串口0的波特率为2400 bps ,串口1的波特率为115200bps,相应的控制寄存器如何设置.(如果有,试题中会用中文给出用户手册)

UART BAUD RATE DIVISOR REGISTER

There are three UART baud rate divisor registers(寄存器)including UBRDIV0, UBRDIV1 and UBRDIV2 in the UART block(模块). The value stored in the baud rate divisor register (UBRDIVn), is used to determine the serial Tx/Rx clock rate(baud rate) as follows:

UBRDIVn = (int)(PCLK / (bps x 16) ) –1 or UBRDIVn = (int)(UCLK / (bps x 16) ) –1

Where, the divisor should be from 1 to (216-1) and UCLK should be smaller than PCLK.

: 根据UBRDIVn = (int)(PCLK / (bps x 16) ) –1

寄存器UBRDIV0= (int)(40000000/2400*16)-1=1040=10000010000(B)

寄存器UBRDIV1=( int)(40000000/115200*16)-1=20=10100(B)

任务控制块(TCB)的数据结构OS-TCB表示任务的状态。当任务的CPU控制权被枪战后,任务控制块用来保存该任务的状态。当任务重新获得CPU的控制权后,任务控制块能够保证任务从被中断的位置继续正确执行。 任务控制块提供了任务的基本信息,如任务的执行状态、优先级和堆栈位置等。


二、简答题
ARM汇编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配。
假定低32位数存放在r0r1里面,高32位数存放在r2r3里面。
加法:
ADDS r0, r0, r1 //S是因为要让这个操作影响标志位
ADC r2, r2, r3 //ADC是带进位的加法,如果上一条指令产生进位则一起加进来
减法:
SUBS r0, r0, r1 //S是因为要让这个操作影响标志位
SBC r2, r2, r3 // SBC是带进位的减法指令

请列举ARM处理器的模式和异常,并说明各个发生异常时ARM处理器所处的模式
异常:
Reset
Data Abort
FIQ
IRQ
Prefetch Abort
SWI
Undefined instruction
处理器模式
User : 非特权模式,大部分任务执行在这种模式
FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式
IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式
Supervisor :当复位或软中断指令执行时将会进入这种模式
Abort : 当存取异常时将会进入这种模式
Undef : 当执行未定义指令时会进入这种模式
System : 使用和User模式相同寄存器集的特权模式

什么指令可以放在中断向量表?
跳转指令,给PC赋值的指令


下列 ARM 指令将做什么?
a) LDRH r0,[r1,#6]
b) LDR r0, =0x999
a:将r1寄存器的值加上6,然后把以这个值为地址的内存单元里的值取半字(低16位)赋给r0
b:将立即数0x999赋给r0,注意这是一个伪指令

SWP 指令的优势是什么?用来实现什么功能?
功能:在寄存器和存储器之间,由一次存储器读和一次存储器写组成的原子操作。完成一个字节或字的交换。
可以用来实现信号量

本文来源:https://www.2haoxitong.net/k/doc/f1a30118a76e58fafab00364.html

《ARM嵌入式期末考试复习资料.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式