2024年3月5日发(作者:留玉瑾)
.
一、 单项选择题
1. 下面哪个系统属于嵌入式系统( )
A、“天河一号”计算机系统 B、联想T400笔记本计算机
C、联想S10上网本 D、苹果IPhone手机
2. 下面关于哈佛结构描述正确的是( )
A、程序存储空间与数据存储空间分离
B、存储空间与IO空间分离
C、程序存储空间与数据存储空间合并
D、存储空间与IO空间合并
3. 下面哪一种工作模式不属于ARM特殊模式的是( )
A、用户模式 B、管理模式 C、软中断模式 D、FIQ模式
4. 下面哪个系统不属于嵌入式系统( )
A、MP3播放器 B、GPS接收机
C、“银河玉衡”核心路由器 D、“天河一号”计算机系统
5. ARM(Advanced RISC Machines)既可以认为是一个公司的名字,也可以认为是对一种微处理器体系结构的通称 。1990年11月ARM公司成立于英国剑桥,设计了大量高性能、廉价、耗能低的( )处理器。
6. 在计算机体系结构中,( )表示每条计算机指令执行所需的时钟周期。
A.时钟周期(节拍) B.机器周期 D.总线周期
7. 下面异常中,优先级最高的是( )。
A.数据中止 B.复位 C.未定义指令 D.预取中止
8. ( )指令集支持ARM核所有的特性,具有高效、快速的特点。
B. Thumb
9. ( )带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节,可以像其他SRAM存储器那样与微处理器连接。
Flash B.NOR Flash
10. ( ) 使得几个指令可以并行执行。
A.超标量(Superscalar)技术 B.流水线(Pipeline) 技术
C.高速缓存(Cache)技术 D.软内核技术
11. Cache结构中,数据和指令都放在同一个Cache中,称为( )。
A.普林斯顿结构 B. 梅普结构 C.哈佛结构 D.哈林结构
12. 关于ARM处理器的异常描述不正确的是( )
A. 复位属于异常 B. 除数为0会引起异常
C. 所有异常都要返回 D. 外部中断会引起异常
13. 下面哪个信号低电平时请求存储器访问信号( )
A. nWAIT B. nRESET C. nOPC D. nMREQ
14. ( )是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。
A.微处理器(Microprocessor Unit, MPU)
B.微控制器(Microcontroller Unit, MCU)
C.嵌入式DSP (Embedded Digital Signal Processor, EDSP)
D.片上系统(System On Chip,SoC)
'.
.
15. ARM920T微处理器的指令流水采用了典型的RISC( )级流水线结构
A.三 B.五 C.六 D八
16. 32位体系结构的ARM处理器有( )种不同的处理器工作模式。
A、5 B、6 C、7 D、8
17. 嵌入式系统最常用的数据传送方式是( )
A. 查询 B. 中断 C. DMA D. I/O处理机
18. 关于ARM子程序和Thumb子程序互相调用描述正确的是( )
A. 系统初始化之后,ARM 处理器只能工作在一种状态,不存在互相调用
B. 只要遵循一定的调用规则,Thumb子程序和ARM子程序互相调用
C. 只要遵循一定的调用规则,仅能Thumb子程序调用ARM子程序
D. 只要遵循一定的调用规则,仅能ARM子程序调用Thumb子程序
19. 嵌入式操作系统一般通过( )手段来解决代码体积与嵌入式应用多样性问题
A. 使用可定制操作系统
B. 将操作系统分布在多个处理器上运行
C. 增大嵌入式设备的存储容量
D. 使用压缩软件对操作系统进行压缩
20. 存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存 储,则2000H存储单元的内容为( )。
A.0x00 B.0x87 C.0x65 D.0x61
21. 若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为( )。
A. 0x2000 B. 0x86 C. 0x2008 D. 0x39
22. 寄存器R13除了可以做通用寄存器外,还可以做( )。
A.程序计数器 B.链接寄存器 C.栈指针寄存器 D.基址寄存器
23. ARM指令集和Thumb指令集分别是( )位的。
A. 8位,16位 B. 16位,32位 C. 16位,16位 D. 32位,16位
24. ARM寄存器组有( )个寄存器。
A.7 B.32 C.6 D.37
25. 下面选项中,( )不属于嵌入式操作系统的特点
A.内核精简 B.专用性强 C.功能强大 D.高实时性
26. 在嵌入式ARM处理器中,下面哪种异常的优先级最高( )
B.数据中止
27. NAND-Flash和NOR-Flash的区别正确的是( D )。
A. NOR的读取速度比NAND稍慢一些 B. NAND的写入速度比NOR慢很多
C. NAND的擦除速度远比NOR的慢 D.大多数写入操作需要先进性擦除操作
28. 在嵌入式系统的存储结构中,存取速度最快的是( )。
A.内存 B.寄存器组
29. 下面( )特性不符合嵌入式操作系统特点。
A、实时性 B、不可定制
C 、微型化 D、易移植
30. 在ARM体系结构中,____寄存器作为连接寄存器,当进入子程序时或者处理器响应异常的时候,用来保存PC的返回值。
A、R0 B、R13 C、R14 D、R15
31. 在ARM体系结构中, ___寄存器作为处理器的程序计数器指针。
'.
.
A、R0 B、R13 C、R14 D、R15
32. 在下列ARM处理器的各种模式中,只有_____模式不可以自由地改变处理器的工作模式。
A、用户模式(User) B、系统模式(System)
C、终止模式(Abort) D、中断模式(IRQ)
33. 实时系统是指( )
A 响应快的系统 B 有时间约束的系统 C 单任务系统 D 内核小的系统
34. 哈佛结构和冯诺依曼结构的区别是( )
A 指令和数据分开存储 B 不需要程序计数器
C 统一编址 D 单一数据总线
35. 波特率9600bps是指数据每秒传输( )
A 9600个字节 B 9600个比特 C 9600个字 D 9600个字符
36. 如果数据的存储格式是大端模式,32bit宽的数0x12345678在大端模式下的CPU内存中的存放(假设从地址0x4000开始)。内存地址为0x4001的内容是( )。
A、 0x34 B、0x56 C、 0x23 D、0x78
37. 下列指令中可能会使处理器模式发生变化的转移指令是( )。
A、ldr pc,[r1,r0,lsl#2] B、ldr pc,=next
C、mov pc,lr D、swi 0x21
38. 对于S3C2410,不能仅仅通过分析中断偏移量寄存器中的值就可以确定中断源的中断是( )。
A、外部中断0 B、外部中断7
C、外部中断2 D、外部中断3
39. 下面不会造成ARM处理器流水线清空的指令是( )。
A、b label B、ldr pc,=next
C、swi 0x123456 D、mov lr,pc
二、 判断题
1. 基于ARM架构的指令都是32位的。( )
2. ARM是一种RISC微处理器。( )
3. ARM920T是一款哈佛Cache结构的处理器,内部有单独的16KB指令Cache和单独的16KB数据Cache。( )
4. ARM处理器的运行模式可通过中断或异常处理改变。( )
5. ARM包含32个通用寄存器。( )
6. 触摸屏是一种输入设备。( )
7. DSP是专门用于数字信号处理方面的处理器。( )
8. NandFlash的特点是应用程序可以直接在闪存中运行,不需要把代码读到系统RAM中。( )
9. 嵌入式系统是计算机系统。( )
10. ARM920T工作在THUMB状态时指令字的长度是16位。( )
11. 可以通过修改CPSR寄存器的方法将ARM920T的工作状态从用户模式切换到管理模式。( )
12. 在所有的寻址方式中,立即寻址属于最快的寻址方式。( )
13. LCD是一种输出设备。( )
14. nand flash可以被cpu直接寻址,而nor flash 不能被cpu直接寻址。( )
'.
.
15. 当中断发生时,ARM920T会由硬件把返回地址保存的堆栈里面,以便中断处理完后从被中断的地方接着往下执行。( )
16. S3c2410最多可支持56个外部中断源。( )
17. S3C2410最大可以支持2G sdram。( )
三、 填空题
1. 嵌入式系统是以应用为中心,以计算机技术为基础,并_______________、对其功能和______________、___________、___________等有严格要求的专用计算机系统。
2. 嵌入式系统一般由嵌入式微处理器、_______________、______________、_______________等四个部分组成。
3. 为了提高_______________,嵌入式系统中的软件一般都固化在___________________中,而不是存贮于____________________中。
4. 嵌入式系统的核心部件是______________,嵌入式开发硬件平台的选择主要是嵌入式处理器的选择。
5. ARM7TDMI中,T表示支持16位Thumb指令集,D表示__________,M表示内嵌乘法器Multiplier,I表示______________,支持在线断点和调试。
6. 嵌入式处理器的层次分为:1)嵌入式微控制器;2 ;3)嵌入式DSP;4 。
7. 哈佛体系结构数据空间和地址空间 ,ARM920T采用 。
8. “ARM”完整的英文拼写形式是( )。
9. ARM处理器有两种工作状态:( )、( ),其中,中断必须在
状态下处理。
10. ARM处理器共有七种模式,除( )模式外,其余六种模式属于特权模式;在这六种特权模式中,除( )模式外其余五种模式属于异常模式。。
11. S3C2410的sdram的起始地址是( ),最大支持的sdram容量为( )。
12. s3c2410的中断控制器可以通过设置( )寄存器来开关外部中断;中断处理完后,可以通过对( )和( )寄存器进行写“1” 清“0”来撤除中断。
13. 当S3C2410的看门狗时钟溢出时,可能产生两路输出( )、( )。
14. S3C2410有5个16bit时钟:timer0、timer1、timer2、timer3、timer4,其中( )没有PWM管脚输出。
15. S3C2410实时时钟的功能主要包括( )、( )、( )。
16. 嵌入性、专用性与计算机系统是嵌入式系统的三个基本要素。
17. 嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层、中间层、系统软件层和应用软件层。
18. 硬件层中包含嵌入式微处理器、存储器、通用设备接口和I/O接口。嵌入式微处理器是嵌入式系统硬件层的核心。
19. ARM处理器共有37个寄存器,31个通用寄存器,6个状态寄存器。寄存器R13通常用作堆栈指针,称作SP。寄存器R14用作子程序链接寄存器,也称为链接寄存器LK (Link Register)。
20. 程序状态寄存器CPSR的N、Z、C、V分别指-------,I=1指------、F=1指------,M[4:0]'.
.
用做-------。
21. 指令解析举例:
(1) LDR R0,[R1] ;
(2) STR R0,[R1],#8 ;
(3) ADDS R1,R1,#1 ;
(4) LDMFD R13!,{R0,R4-R12,PC} ;
22. S3C2410A的CPU内核采用的是16/32位ARM920T 内核,同时还采用了AMBA(先进的微控制器总线体系结构)新型总线结构。
23. ARM920T采用了MMU,AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache,每个Cache都是由8字长的行组成的。
24. 电源控制模式有正常、慢速、空闲和电源关断4种模式;
25. ARM处理器支持用户、快中断、中断、 管理 、 中止、系统和未定义等7种处理器模式,除了用户模式外,其余的均为特权模式;
26. S3C2410A中的中断控制器能够接收来自56个中断源的请求;
27. Flash memory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失。
28. ARM处理器有ARM状态和Thumb状态两种工作模式。当ARM微处理器执行32位的指令集功能时,工作在ARM状态;当ARM微处理器工作在16位的Thumb指令集时,工作在Thumb状态。
29. ARM9采用五级流水线技术:
30. 波特率除数寄存器的计算公式:UBRDIVn = (取整) ( MCLK / ( 波特率 * 16 ) ) -1
31. URAT接收 溢出错误和 帧错误
四、简答题
1. 什么是嵌入式系统?嵌入式系统的特点是什么?
2. ARM处理器的工作模式有哪几种?
3. ARM处理器的不同工作模式如何进行切换?
答:不同的工作模式间可以相互切换,有两种方式:
1) 发生异常时,处理器自动改变CPSR中M[4:0]的值,进入相应的工作模式。
2) 当处理器处于特权模式时,用指令向CPS的M[4:0]字段写入特定的值,以进入相应的工作模式。
4. 说明S3C2410A的存储地址空间组成及哪两种启动模式。
5. 简述Nand Flash和Nor Flash存储器各自的特点。
6. 说明ARM中的异常处理过程
7. S3C2410A片内的时钟与电源管理模块有哪几种电源管理模式?各自特点是什么?
8. 举例说明UART的帧格式。
五、应用题
'.
.
1. 若寄存器R1=0x01020304,分别按小端模式和大端模式存储在0x30000字节单元中,请画出各自的存储器示意图。
2. 对MPLL,已知Fin=12MHz,MDIV=161,PDIV=3,SDIV=1,计算Mpll频率;对UPLL,已知Fin=12MHz,MDIV=120,PDIV=2,SDIV=3,计算Upll频率。
3. 当PCLK=66.5MHz时,选择不同的时钟分频(1/2、1/4、1/8、1/16)输入,分别计算定时器最小分辨率、最大分辨率及最大定时区间。
4. 以下是S3C2410A的看门狗定时器的逻辑方框图,试分析其组成和工作原理。
5. 以下是S3C2410A的时钟与电源管理结构框图,试分析其基本工作原理及FCLK、PCLK和HCLK之间的关系。
6. 根据以下框图,说明S3C2410中多级中断源的管理过程
(或:画出S3C2410中断控制器功能框图并注明相关寄存器的作用)
'.
.
7. S3C2410的串口控制器用PCLK作为时钟源,现在PCLK的值为50MHZ,要求串口的传输速率达到19200bps,试计算波特率除数寄存器UBRDI的值。
8. 现设置S3C2410实时时钟控制寄存器时钟计数寄存器rTICNT=0x3E,请计算RTC时钟中断周期。
9. 电路如下图,实现按下SB202便产生一个按键中断(要求是下降边沿促发中断),请下面的代码补充完整实现该功能。(相关寄存器附后,与GPF相关的寄存器可以参照前面的图)
#include "2410lib.h"
#include "2410addr.h"
//K1->EINT0
void __irq Eint0Handler();
int Main()
{ ChangeClockDivider(1,1);
ChangeMPllValue(0xa1,0x3,0x1);
Port_Init();
Uart_Select(0);
Uart_Init(0,115200);
rGPFCON=(① );//GPF0设置为EINT0
rGPFUP|=(② ); //disable GPF0 pull up
rEXTINT0 &=(③ );
rEXTINT0 |=(④ ); //set eint0 falling edge int
pISR_EINT0=(⑤ );
EnableIrq(BIT_EINT0);//开中断
'.
.
while(1)
{ Uart_Printf("the main is runningn");
Delay(500); }
}
10. 解释以下程序段,并说明该程序实现什么功能。
static void __irq Eint0_ISR(void) //
{ ClearPending(BIT_EINT0);
Uart_Printf("EINT0 is occurred.n"); }
void Eint_Init(void)
{ rGPECON = (rGPECON|(3<<22)) & ~(2<<22); //设置GPE11为输出
rGPEUP |= (1<<11);
rGPEDAT &= ~(1<<11);
rGPFCON = rGPFCON & ~(3)|(1<<1); //
rGPFUP|=(1<<0); //disable GPF0 pull up
rEXTINT0 = (rEXTINT0 & ~(7<<0))|(2<<0);
pISR_EINT0 = (unsigned)Eint0_ISR; //
}
void Enable_Eint(void) //
{ rEINTPEND = 0xffffff;
rSRCPND |= BIT_EINT0;
'.
.
rINTPND |= BIT_EINT0;
rEINTMASK=~( (1<<11)|(1<<19) );
rINTMSK=~(BIT_EINT0); }
int xmain()
{ ChangeClockDivider(1,1);
ChangeMPllValue(0xa1,0x3,0x1); //
Port_Init(); //
Uart_Select(0);
Uart_Init(0,115200); //
Eint_Init();
Enable_Eint(); //
while(1) //
{ Uart_Printf("the main is runningn");
Delay(5000); }
}
11. 解释以下程序段,并说明该程序实现什么功能。
void xmain(void)
{ ChangeClockDivider(1, 1);
ChangeMPllValue(0xa1,0x3,0x1);//①
Port_Init(); //②
Uart_Select(0);
Uart_Init(0, 115200); //③
BUZZER_PWM_Test(); //④
while(1); }
void BUZZER_PWM_Test( void )
{ U16 freq = 2000 ;
Uart_Printf( "nBUZZER TEST ( PWM Control )n" );
Uart_Printf( "Press +/- to increase/reduce the frequency of BUZZER !n" ) ;
Uart_Printf( "Press 'ESC' key to Exit this program !nn" );
Buzzer_Freq_Set( freq ) ; //⑤
while( 1 )
{ U8 key = Uart_Getch(); //⑥
if( key == '+' ) //⑦
{ if( freq < 20000 )
freq += 10 ;
Buzzer_Freq_Set( freq ) ; }
'.
.
if( key == '-' )
{ if( freq > 11 )
freq -= 10 ;
Buzzer_Freq_Set( freq ) ; }
Uart_Printf( "tFreq = %dn", freq ) ;
if( key == ESC_KEY )
{ Buzzer_Stop() ;
return ; }
}
}
void Buzzer_Freq_Set( U32 freq )
{ rGPBCON = rGPBCON & ~(3<<0)|(1<<1);//set GPB0 as tout0, pwm output
rTCFG0 = rTCFG0 & ~0xff|15; //prescaler = 15
rTCFG1 = rTCFG1 & ~0xf|2;//divider = 1/8
rTCNTB0 = (PCLK>>7)/freq; //⑧
rTCMPB0 = rTCNTB0>>1; //⑨
rTCON = rTCON & ~0x1f|(0<<4)|(1<<3)|(0<<2)|(1<<1)|(1);
rTCON &= ~(1<<1); }
void Buzzer_Stop( void ) //⑩
{ rGPBCON |= 1;
rGPBCON = rGPBCON & ~3|1; //set GPB0 as output
rGPBDAT &= ~1;//output 0 }
'.
2024年3月5日发(作者:留玉瑾)
.
一、 单项选择题
1. 下面哪个系统属于嵌入式系统( )
A、“天河一号”计算机系统 B、联想T400笔记本计算机
C、联想S10上网本 D、苹果IPhone手机
2. 下面关于哈佛结构描述正确的是( )
A、程序存储空间与数据存储空间分离
B、存储空间与IO空间分离
C、程序存储空间与数据存储空间合并
D、存储空间与IO空间合并
3. 下面哪一种工作模式不属于ARM特殊模式的是( )
A、用户模式 B、管理模式 C、软中断模式 D、FIQ模式
4. 下面哪个系统不属于嵌入式系统( )
A、MP3播放器 B、GPS接收机
C、“银河玉衡”核心路由器 D、“天河一号”计算机系统
5. ARM(Advanced RISC Machines)既可以认为是一个公司的名字,也可以认为是对一种微处理器体系结构的通称 。1990年11月ARM公司成立于英国剑桥,设计了大量高性能、廉价、耗能低的( )处理器。
6. 在计算机体系结构中,( )表示每条计算机指令执行所需的时钟周期。
A.时钟周期(节拍) B.机器周期 D.总线周期
7. 下面异常中,优先级最高的是( )。
A.数据中止 B.复位 C.未定义指令 D.预取中止
8. ( )指令集支持ARM核所有的特性,具有高效、快速的特点。
B. Thumb
9. ( )带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节,可以像其他SRAM存储器那样与微处理器连接。
Flash B.NOR Flash
10. ( ) 使得几个指令可以并行执行。
A.超标量(Superscalar)技术 B.流水线(Pipeline) 技术
C.高速缓存(Cache)技术 D.软内核技术
11. Cache结构中,数据和指令都放在同一个Cache中,称为( )。
A.普林斯顿结构 B. 梅普结构 C.哈佛结构 D.哈林结构
12. 关于ARM处理器的异常描述不正确的是( )
A. 复位属于异常 B. 除数为0会引起异常
C. 所有异常都要返回 D. 外部中断会引起异常
13. 下面哪个信号低电平时请求存储器访问信号( )
A. nWAIT B. nRESET C. nOPC D. nMREQ
14. ( )是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。
A.微处理器(Microprocessor Unit, MPU)
B.微控制器(Microcontroller Unit, MCU)
C.嵌入式DSP (Embedded Digital Signal Processor, EDSP)
D.片上系统(System On Chip,SoC)
'.
.
15. ARM920T微处理器的指令流水采用了典型的RISC( )级流水线结构
A.三 B.五 C.六 D八
16. 32位体系结构的ARM处理器有( )种不同的处理器工作模式。
A、5 B、6 C、7 D、8
17. 嵌入式系统最常用的数据传送方式是( )
A. 查询 B. 中断 C. DMA D. I/O处理机
18. 关于ARM子程序和Thumb子程序互相调用描述正确的是( )
A. 系统初始化之后,ARM 处理器只能工作在一种状态,不存在互相调用
B. 只要遵循一定的调用规则,Thumb子程序和ARM子程序互相调用
C. 只要遵循一定的调用规则,仅能Thumb子程序调用ARM子程序
D. 只要遵循一定的调用规则,仅能ARM子程序调用Thumb子程序
19. 嵌入式操作系统一般通过( )手段来解决代码体积与嵌入式应用多样性问题
A. 使用可定制操作系统
B. 将操作系统分布在多个处理器上运行
C. 增大嵌入式设备的存储容量
D. 使用压缩软件对操作系统进行压缩
20. 存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存 储,则2000H存储单元的内容为( )。
A.0x00 B.0x87 C.0x65 D.0x61
21. 若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为( )。
A. 0x2000 B. 0x86 C. 0x2008 D. 0x39
22. 寄存器R13除了可以做通用寄存器外,还可以做( )。
A.程序计数器 B.链接寄存器 C.栈指针寄存器 D.基址寄存器
23. ARM指令集和Thumb指令集分别是( )位的。
A. 8位,16位 B. 16位,32位 C. 16位,16位 D. 32位,16位
24. ARM寄存器组有( )个寄存器。
A.7 B.32 C.6 D.37
25. 下面选项中,( )不属于嵌入式操作系统的特点
A.内核精简 B.专用性强 C.功能强大 D.高实时性
26. 在嵌入式ARM处理器中,下面哪种异常的优先级最高( )
B.数据中止
27. NAND-Flash和NOR-Flash的区别正确的是( D )。
A. NOR的读取速度比NAND稍慢一些 B. NAND的写入速度比NOR慢很多
C. NAND的擦除速度远比NOR的慢 D.大多数写入操作需要先进性擦除操作
28. 在嵌入式系统的存储结构中,存取速度最快的是( )。
A.内存 B.寄存器组
29. 下面( )特性不符合嵌入式操作系统特点。
A、实时性 B、不可定制
C 、微型化 D、易移植
30. 在ARM体系结构中,____寄存器作为连接寄存器,当进入子程序时或者处理器响应异常的时候,用来保存PC的返回值。
A、R0 B、R13 C、R14 D、R15
31. 在ARM体系结构中, ___寄存器作为处理器的程序计数器指针。
'.
.
A、R0 B、R13 C、R14 D、R15
32. 在下列ARM处理器的各种模式中,只有_____模式不可以自由地改变处理器的工作模式。
A、用户模式(User) B、系统模式(System)
C、终止模式(Abort) D、中断模式(IRQ)
33. 实时系统是指( )
A 响应快的系统 B 有时间约束的系统 C 单任务系统 D 内核小的系统
34. 哈佛结构和冯诺依曼结构的区别是( )
A 指令和数据分开存储 B 不需要程序计数器
C 统一编址 D 单一数据总线
35. 波特率9600bps是指数据每秒传输( )
A 9600个字节 B 9600个比特 C 9600个字 D 9600个字符
36. 如果数据的存储格式是大端模式,32bit宽的数0x12345678在大端模式下的CPU内存中的存放(假设从地址0x4000开始)。内存地址为0x4001的内容是( )。
A、 0x34 B、0x56 C、 0x23 D、0x78
37. 下列指令中可能会使处理器模式发生变化的转移指令是( )。
A、ldr pc,[r1,r0,lsl#2] B、ldr pc,=next
C、mov pc,lr D、swi 0x21
38. 对于S3C2410,不能仅仅通过分析中断偏移量寄存器中的值就可以确定中断源的中断是( )。
A、外部中断0 B、外部中断7
C、外部中断2 D、外部中断3
39. 下面不会造成ARM处理器流水线清空的指令是( )。
A、b label B、ldr pc,=next
C、swi 0x123456 D、mov lr,pc
二、 判断题
1. 基于ARM架构的指令都是32位的。( )
2. ARM是一种RISC微处理器。( )
3. ARM920T是一款哈佛Cache结构的处理器,内部有单独的16KB指令Cache和单独的16KB数据Cache。( )
4. ARM处理器的运行模式可通过中断或异常处理改变。( )
5. ARM包含32个通用寄存器。( )
6. 触摸屏是一种输入设备。( )
7. DSP是专门用于数字信号处理方面的处理器。( )
8. NandFlash的特点是应用程序可以直接在闪存中运行,不需要把代码读到系统RAM中。( )
9. 嵌入式系统是计算机系统。( )
10. ARM920T工作在THUMB状态时指令字的长度是16位。( )
11. 可以通过修改CPSR寄存器的方法将ARM920T的工作状态从用户模式切换到管理模式。( )
12. 在所有的寻址方式中,立即寻址属于最快的寻址方式。( )
13. LCD是一种输出设备。( )
14. nand flash可以被cpu直接寻址,而nor flash 不能被cpu直接寻址。( )
'.
.
15. 当中断发生时,ARM920T会由硬件把返回地址保存的堆栈里面,以便中断处理完后从被中断的地方接着往下执行。( )
16. S3c2410最多可支持56个外部中断源。( )
17. S3C2410最大可以支持2G sdram。( )
三、 填空题
1. 嵌入式系统是以应用为中心,以计算机技术为基础,并_______________、对其功能和______________、___________、___________等有严格要求的专用计算机系统。
2. 嵌入式系统一般由嵌入式微处理器、_______________、______________、_______________等四个部分组成。
3. 为了提高_______________,嵌入式系统中的软件一般都固化在___________________中,而不是存贮于____________________中。
4. 嵌入式系统的核心部件是______________,嵌入式开发硬件平台的选择主要是嵌入式处理器的选择。
5. ARM7TDMI中,T表示支持16位Thumb指令集,D表示__________,M表示内嵌乘法器Multiplier,I表示______________,支持在线断点和调试。
6. 嵌入式处理器的层次分为:1)嵌入式微控制器;2 ;3)嵌入式DSP;4 。
7. 哈佛体系结构数据空间和地址空间 ,ARM920T采用 。
8. “ARM”完整的英文拼写形式是( )。
9. ARM处理器有两种工作状态:( )、( ),其中,中断必须在
状态下处理。
10. ARM处理器共有七种模式,除( )模式外,其余六种模式属于特权模式;在这六种特权模式中,除( )模式外其余五种模式属于异常模式。。
11. S3C2410的sdram的起始地址是( ),最大支持的sdram容量为( )。
12. s3c2410的中断控制器可以通过设置( )寄存器来开关外部中断;中断处理完后,可以通过对( )和( )寄存器进行写“1” 清“0”来撤除中断。
13. 当S3C2410的看门狗时钟溢出时,可能产生两路输出( )、( )。
14. S3C2410有5个16bit时钟:timer0、timer1、timer2、timer3、timer4,其中( )没有PWM管脚输出。
15. S3C2410实时时钟的功能主要包括( )、( )、( )。
16. 嵌入性、专用性与计算机系统是嵌入式系统的三个基本要素。
17. 嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层、中间层、系统软件层和应用软件层。
18. 硬件层中包含嵌入式微处理器、存储器、通用设备接口和I/O接口。嵌入式微处理器是嵌入式系统硬件层的核心。
19. ARM处理器共有37个寄存器,31个通用寄存器,6个状态寄存器。寄存器R13通常用作堆栈指针,称作SP。寄存器R14用作子程序链接寄存器,也称为链接寄存器LK (Link Register)。
20. 程序状态寄存器CPSR的N、Z、C、V分别指-------,I=1指------、F=1指------,M[4:0]'.
.
用做-------。
21. 指令解析举例:
(1) LDR R0,[R1] ;
(2) STR R0,[R1],#8 ;
(3) ADDS R1,R1,#1 ;
(4) LDMFD R13!,{R0,R4-R12,PC} ;
22. S3C2410A的CPU内核采用的是16/32位ARM920T 内核,同时还采用了AMBA(先进的微控制器总线体系结构)新型总线结构。
23. ARM920T采用了MMU,AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache,每个Cache都是由8字长的行组成的。
24. 电源控制模式有正常、慢速、空闲和电源关断4种模式;
25. ARM处理器支持用户、快中断、中断、 管理 、 中止、系统和未定义等7种处理器模式,除了用户模式外,其余的均为特权模式;
26. S3C2410A中的中断控制器能够接收来自56个中断源的请求;
27. Flash memory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失。
28. ARM处理器有ARM状态和Thumb状态两种工作模式。当ARM微处理器执行32位的指令集功能时,工作在ARM状态;当ARM微处理器工作在16位的Thumb指令集时,工作在Thumb状态。
29. ARM9采用五级流水线技术:
30. 波特率除数寄存器的计算公式:UBRDIVn = (取整) ( MCLK / ( 波特率 * 16 ) ) -1
31. URAT接收 溢出错误和 帧错误
四、简答题
1. 什么是嵌入式系统?嵌入式系统的特点是什么?
2. ARM处理器的工作模式有哪几种?
3. ARM处理器的不同工作模式如何进行切换?
答:不同的工作模式间可以相互切换,有两种方式:
1) 发生异常时,处理器自动改变CPSR中M[4:0]的值,进入相应的工作模式。
2) 当处理器处于特权模式时,用指令向CPS的M[4:0]字段写入特定的值,以进入相应的工作模式。
4. 说明S3C2410A的存储地址空间组成及哪两种启动模式。
5. 简述Nand Flash和Nor Flash存储器各自的特点。
6. 说明ARM中的异常处理过程
7. S3C2410A片内的时钟与电源管理模块有哪几种电源管理模式?各自特点是什么?
8. 举例说明UART的帧格式。
五、应用题
'.
.
1. 若寄存器R1=0x01020304,分别按小端模式和大端模式存储在0x30000字节单元中,请画出各自的存储器示意图。
2. 对MPLL,已知Fin=12MHz,MDIV=161,PDIV=3,SDIV=1,计算Mpll频率;对UPLL,已知Fin=12MHz,MDIV=120,PDIV=2,SDIV=3,计算Upll频率。
3. 当PCLK=66.5MHz时,选择不同的时钟分频(1/2、1/4、1/8、1/16)输入,分别计算定时器最小分辨率、最大分辨率及最大定时区间。
4. 以下是S3C2410A的看门狗定时器的逻辑方框图,试分析其组成和工作原理。
5. 以下是S3C2410A的时钟与电源管理结构框图,试分析其基本工作原理及FCLK、PCLK和HCLK之间的关系。
6. 根据以下框图,说明S3C2410中多级中断源的管理过程
(或:画出S3C2410中断控制器功能框图并注明相关寄存器的作用)
'.
.
7. S3C2410的串口控制器用PCLK作为时钟源,现在PCLK的值为50MHZ,要求串口的传输速率达到19200bps,试计算波特率除数寄存器UBRDI的值。
8. 现设置S3C2410实时时钟控制寄存器时钟计数寄存器rTICNT=0x3E,请计算RTC时钟中断周期。
9. 电路如下图,实现按下SB202便产生一个按键中断(要求是下降边沿促发中断),请下面的代码补充完整实现该功能。(相关寄存器附后,与GPF相关的寄存器可以参照前面的图)
#include "2410lib.h"
#include "2410addr.h"
//K1->EINT0
void __irq Eint0Handler();
int Main()
{ ChangeClockDivider(1,1);
ChangeMPllValue(0xa1,0x3,0x1);
Port_Init();
Uart_Select(0);
Uart_Init(0,115200);
rGPFCON=(① );//GPF0设置为EINT0
rGPFUP|=(② ); //disable GPF0 pull up
rEXTINT0 &=(③ );
rEXTINT0 |=(④ ); //set eint0 falling edge int
pISR_EINT0=(⑤ );
EnableIrq(BIT_EINT0);//开中断
'.
.
while(1)
{ Uart_Printf("the main is runningn");
Delay(500); }
}
10. 解释以下程序段,并说明该程序实现什么功能。
static void __irq Eint0_ISR(void) //
{ ClearPending(BIT_EINT0);
Uart_Printf("EINT0 is occurred.n"); }
void Eint_Init(void)
{ rGPECON = (rGPECON|(3<<22)) & ~(2<<22); //设置GPE11为输出
rGPEUP |= (1<<11);
rGPEDAT &= ~(1<<11);
rGPFCON = rGPFCON & ~(3)|(1<<1); //
rGPFUP|=(1<<0); //disable GPF0 pull up
rEXTINT0 = (rEXTINT0 & ~(7<<0))|(2<<0);
pISR_EINT0 = (unsigned)Eint0_ISR; //
}
void Enable_Eint(void) //
{ rEINTPEND = 0xffffff;
rSRCPND |= BIT_EINT0;
'.
.
rINTPND |= BIT_EINT0;
rEINTMASK=~( (1<<11)|(1<<19) );
rINTMSK=~(BIT_EINT0); }
int xmain()
{ ChangeClockDivider(1,1);
ChangeMPllValue(0xa1,0x3,0x1); //
Port_Init(); //
Uart_Select(0);
Uart_Init(0,115200); //
Eint_Init();
Enable_Eint(); //
while(1) //
{ Uart_Printf("the main is runningn");
Delay(5000); }
}
11. 解释以下程序段,并说明该程序实现什么功能。
void xmain(void)
{ ChangeClockDivider(1, 1);
ChangeMPllValue(0xa1,0x3,0x1);//①
Port_Init(); //②
Uart_Select(0);
Uart_Init(0, 115200); //③
BUZZER_PWM_Test(); //④
while(1); }
void BUZZER_PWM_Test( void )
{ U16 freq = 2000 ;
Uart_Printf( "nBUZZER TEST ( PWM Control )n" );
Uart_Printf( "Press +/- to increase/reduce the frequency of BUZZER !n" ) ;
Uart_Printf( "Press 'ESC' key to Exit this program !nn" );
Buzzer_Freq_Set( freq ) ; //⑤
while( 1 )
{ U8 key = Uart_Getch(); //⑥
if( key == '+' ) //⑦
{ if( freq < 20000 )
freq += 10 ;
Buzzer_Freq_Set( freq ) ; }
'.
.
if( key == '-' )
{ if( freq > 11 )
freq -= 10 ;
Buzzer_Freq_Set( freq ) ; }
Uart_Printf( "tFreq = %dn", freq ) ;
if( key == ESC_KEY )
{ Buzzer_Stop() ;
return ; }
}
}
void Buzzer_Freq_Set( U32 freq )
{ rGPBCON = rGPBCON & ~(3<<0)|(1<<1);//set GPB0 as tout0, pwm output
rTCFG0 = rTCFG0 & ~0xff|15; //prescaler = 15
rTCFG1 = rTCFG1 & ~0xf|2;//divider = 1/8
rTCNTB0 = (PCLK>>7)/freq; //⑧
rTCMPB0 = rTCNTB0>>1; //⑨
rTCON = rTCON & ~0x1f|(0<<4)|(1<<3)|(0<<2)|(1<<1)|(1);
rTCON &= ~(1<<1); }
void Buzzer_Stop( void ) //⑩
{ rGPBCON |= 1;
rGPBCON = rGPBCON & ~3|1; //set GPB0 as output
rGPBDAT &= ~1;//output 0 }
'.