第六章的一些知识要点:(上课都教会了的 不懂的问下平时听课或做笔记的同学)
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 R1,R1,R2 ;R1中为累加和
• SUBS R2,R2,#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.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。
3 存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( )。
A、0x21 B、0x68 C、0x65 D、0x02
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
A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014
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 R0,R1,#3属于( )寻址方式。
A. 立即寻址 B. 多寄存器寻址 C. 寄存器直接寻址 D. 相对寻址
13、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存
储,则2000H存储单元的内容为( )。
A、0x00 B、0x87 C、0x65 D、0x61
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、基址寄存器
17、FIQ中断的入口地址是( )。
A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014
18、ARM指令集和Thumb指令集分别是( )位的。
A. 8位,16位 B. 16位,32位 C. 16位,16位 D. 32位,16位
19、ARM寄存器组有( )个寄存器。
A、7 B、32 C、6 D、37
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=0x31,R2=0x2 则执行指令ADD R0,R1,R2 LSL #2 后,R0的值是( )
A. 0x33 B. 0x34 C. 0x39 D. 0x38
23、和PC机系统相比下列哪个不是嵌入式系统独具的特点( )
A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简
24、Unicode编码与( )编码方式兼容。
A、ASCII码 B、GBK C、GB2312 D、区位码
25 、Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用()完成。
A.硬件 B. 软件 C. 用户 D. 程序员
27 每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是( )。
A. 嵌入式Linux提供了完善的网络技术支持;
B. CLinux是专门为没有MMU的ARM芯片开发的;
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的优先级为12,Task2的优先级为26。假如在Task2运行过程中发生键盘中断,在执行中断服务程序时Task1进入就绪状态,则中断返回时Task1得到CPU的使用权。(√ )
3、 若定义任务task1的优先级为12,则不能再定义其他任务的优先级也为12(√ )
4、 任务创建后即开始调度(X)
5、 液晶工作在文本模式下时,既可以显示英文字符也可以显示汉字(X)
6、 处于就绪状态的任务只能切换到运行状态(X)
7、 等待消息函数WaitMessage(0)中的“0”表示此函数的超时等待时间为0秒(X)
8、 若OSTaskSuspend (prio)函数把正在延时的任务挂起,则调用一次对应的唤醒函数即可使该任务切换到就绪状态。(X)
9、 调试程序时,需要停止程序运行后才可查看变量内容(√ )
10、 μCOS-II操作系统中移植成功后即可使用文件系统(X)
11、 将模拟信号转换成数字信号的电路是DA转换器。(×)
12、 IIC是同步串行数据总线,。(√)
13、 S3C2410的处理器对内存的访问只能通过Load/Store指令来实现。(√)
14、 Nand Flash比Nor Flash成本高,可靠性差。(×)
15、 C语言程序可以嵌套加入汇编程序模块。 (√)
16、 运算放大器的输出电压范围一般大于电源电压的范围。(×)
17、 由于CPU内部寄存器的访问速度较高,根据ATPC标准,应尽可能使函数的参数控制在4个以下。(√)
18、 ARM处理器结构体系中具有T变种处理器核可以工作在ARM状态和Thumb状态。(√)
二、 简答题
ARM体系结构的寄存器组织:37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。
ARM微处理器的异常状态:7种异常
4、ARM处理器有几种工作模式?并做说明每种工作模式的含义。
答: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 行:定义看门狗控制寄存器、数据寄存器和计数寄存器为rWTCON、rWTDAT和rWTCNT。
第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位数存放在r0和r1里面,高32位数存放在r2和r3里面。加法:ADDS r0, r0, r1 //加S是因为要让这个操作影响标志位ADC r2, r2, r3 //ADC是带进位的加法,如果上一条指令产生进位则一起加进来减法:SUBS r0, r0, r1 //加S是因为要让这个操作影响标志位SBC r2, r2, r3 // SBC是带进位的减法指令
请列举ARM处理器的模式和异常,并说明各个发生异常时ARM处理器所处的模式异常: Reset Data AbortFIQIRQPrefetch AbortSWIUndefined instruction处理器模式 User : 非特权模式,大部分任务执行在这种模式 FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式 IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式 Supervisor :当复位或软中断指令执行时将会进入这种模式 Abort : 当存取异常时将会进入这种模式 Undef : 当执行未定义指令时会进入这种模式 System : 使用和User模式相同寄存器集的特权模式什么指令可以放在中断向量表?跳转指令,给PC赋值的指令下列 ARM 指令将做什么?a) LDRH r0,[r1,#6] b) LDR r0, =0x999a:将r1寄存器的值加上6,然后把以这个值为地址的内存单元里的值取半字(低16位)赋给r0b:将立即数0x999赋给r0,注意这是一个伪指令
SWP 指令的优势是什么?用来实现什么功能?功能:在寄存器和存储器之间,由一次存储器读和一次存储器写组成的原子操作。完成一个字节或字的交换。可以用来实现信号量
本文来源:https://www.2haoxitong.net/k/doc/f1a30118a76e58fafab00364.html
文档为doc格式