ARM复习资料

更新时间:2023-09-30 16:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

复习资料

一、 填空

1. “嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。 2. IP核分为软核、硬核、固核。

3. 嵌入式系统通常由包含有嵌入式处理器、嵌入式操作系统、应用软件和外围设备接口的嵌入式计算机系统和执行装置(被控对象)组成。 4. 嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层、中间层、系统软件层和应用软件层。

5. 硬件层中包含嵌入式微处理器、存储器、通用设备接口和I/O接口。嵌入式微处理器是嵌入式系统硬件层的核心。

6. 系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为片级初始化、板级初始化和系统级初始化3个主要环节。

7. 系统软件层通常包含有实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。

8. ARM处理器共有37个寄存器,31个通用寄存器,6个状态寄存器。寄存器R13通常用作堆栈指针,称作SP。寄存器R14用作子程序链接寄存器,也称为链接寄存器LK (Link Register)。

9. FIQ模式有7个分组的寄存器R8~R14,映射为R8_fiq~R14_fiq。

1

在ARM状态下,许多FIQ处理没必要保存任何寄存器。User、IRQ、Supervisor、Abort和Undefined模式每一种都包含两个分组的寄存器R13和R14的映射,允许每种模式都有自己的堆栈和链接寄存器。 10. 寄存器R15用作程序计数器(PC)。在ARM状态,位[1:0]为0,位[31:2]保存PC。

11. 程序状态寄存器CPSR的N、Z、C、V分别指-------,I=1指------、F=1指------,M[4:0]用做-------。

12. ARM指令集大致分为6类:分支/跳转指令、存储器访问指令、数据处理指令、程序状态寄存器指令、异常中断指令、协处理器指令。 指令解析举例:

13. LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。 14. STR R0,[R1],#8 ;将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。

15. ADDS R1,R1,#1 ;加法指令,R1+1=R1 影响CPSR寄存器,带有S

16. LDMFD R13!,{R0,R4-R12,PC} ;将堆栈内容恢复到寄存器(R0,R4到R12,LR)。

17. S3C2410A的CPU内核采用的是16/32位ARM920T 内核,同时还采用了AMBA(先进的微控制器总线体系结构)新型总线结构。 18. ARM920T采用了MMU,AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache,每个Cache

2

都是由8字长的行组成的。

19. 2个USB主设接口/1个USB从设接口 20. 117位通用I/O口和24通道外部中断源;

21. 电源控制模式有正常、慢速、空闲和电源关断4种模式;

22. ARM处理器支持用户、快中断、中断、 管理 、 中止、系统和未定义等7种处理器模式,除了用户模式外,其余的均为特权模式; 23. ARM微处理器支持四种类型的堆栈,即:满递增堆栈、满递减堆栈、空递增堆栈、空递减堆栈。 24.

25. 8通道10位ADC和触摸屏接口; 26. 支持小/大端方式

27. ARM体系结构使用单一、线性地址空间。将字节地址做为无符号数看待,范围为( 0~232-1 )。

28. 地址空间:8个存储器bank,每bank 128 MB(byte)(总共1GB)。 29. 对于字对齐的地址A,地址空间规则要求如下:

地址位于A的字由地址为A、A+1、A+2和A+3的字节组成; 地址位于A的半字由地址为A和A+1的字节组成; 地址位于A+2的半字由地址为A+2和A+3的字节组成; 地址位于A的字由地址为A和A+2的半字组成。

30. ARM系统使用存储器映射I/O。I/O口使用特定的存储器地址,当从这些地址加载(用于输入)或向这些地址存储(用于输出)时,完成I/O功能。

31. bank0~bank6都采用固定的bank起始地址。

3

32. 每个bank支持可编程的8/16/32位数据总线宽度。

33. 总线宽度和等待寄存器BWSCON:用来设置总线宽的和等待状态。 34. Bank控制寄存器BANKCONn:控制各bank的片选,访问周期。 35. 刷新控制寄存器REFRESH:SDRAM的刷新控制寄存器。 36. BANKSIZE寄存器:用来设置BANK的容量。

37. 支持从NAND Flash存储器和NOR Flash两种启动方式。在NAND Flash模式下,采用4 KB内部缓冲器用于启动引导

38. Cache存储器采用写直达(Write-through)或写回(Write-back)操作来更新主存储器。

39. 每个引脚端的功能通过端口控制寄存器(PnCON)来定义(配置)。 40. 与配置I/O口相关的寄存器包括:端口控制寄存器(GPACON~GPHCON)、端口数据寄存器(GPADAT~GPHDAT)、端口上拉寄存器(GPBUP~GPHUP)、杂项控制寄存器以及外部中断控制寄存器(EXTINTN)等。

41. 在ARM系统中,支持复位、未定义指令、软中断、预取中止、数据中止、IRQ和FIQ 7种异常,每种异常对应于不同的处理器模式,有对应的异常向量(固定的存储器地址)。

42. S3C2410A通过对程序状态寄存器(PSR)中的F位和I位进行设置控制CPU的中断响应。如果设置PSR的F位为1,则CPU不会响应来自中断控制器的FIQ中断;如果设置PSR的I位为1,则CPU不会响应来自中断控制器的IRQ中断。如果设置PSR的F位或I位设置为0,同时将中断屏蔽寄存器(INTMSK)中的相对应位设置为0,

4

CPU响应来自中断控制器的IRQ或FIQ中断请求。

43. S3C2410A中的中断控制器能够接收来自56个中断源的请求; 44. S3C2440A中的中断控制器能够接收来自60个中断源的请求; 45. 每个DMA控制器可以处理以下4种情况:(1)源和目的都在系统总线上;(2)源在系统总线上,目的在外围总线上;(3)源在外围总线上,目的在系统总线上;(4)源和目的都在外围总线上。

46. S3C2410A每个DMA通道有9个控制寄存器,4个通道共有36个寄存器。每个DMA通道的9个控制寄存器中有6个用于控制DMA传输,另外3个用于监控DMA控制器的状态。

47. 如果在一个存储系统中,指令预取时使用的一个cache,数据读写时使用的另一个cache,各自是独立的,这时称系统使用了独立的cache,用于指令预取的cache称为指令cache,用于数据读写的cache称为数据cache。

48. 存储器按存储信息的功能,分为随机存取存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)。 49. Flash memory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失。

50. Bank控制寄存器BANKCONn:控制各bank的片选,访问周期。 51. 混合编程技术中,子程序之间的调用必须遵循一定的调用规则,这些规则统称为ATPCS。

5

二、 简答题

1. 简述嵌入式系统的定义。

2. 简述嵌入式计算机系统的硬件层的组成和功能。 3. 简述RTOS的定义与特点。

4. 简述嵌入式计算机系统的中间层的组成和功能。 5. RISC架构与CISC架构相比有哪些优点?

6. 大端存储法还是小端存储法有什么不同?对存储数据有什么要求与影响?

7. 简述ARM微处理器的特点。 8. 试分析ARM920T内核结构特点。

9. ARM微处理器支持哪几种运行模式?各运行模式有什么特点? 10. ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态?

11. 简述异常类型的含义。

12. 简述ARM微处理器处理异常的操作过程。 13. 简述异常的响应过程,异常的返回过程。 14. 存储器生长堆栈可分为哪几种?各有什么特点? 15. 举例说明ARM 存储器访问指令功能。 16. 举例说明ARM 数据处理指令功能。

17. 试列举S3C2410A集成的片上功能。至少列举8种。 18. 简述ARM系统中的中断处理过程。

19. S3C2410A与中断控制有关的寄存器有哪些?各自具有什么功能?

6

20. 简述采用DMA方式进行数据传输的具体过程。

21. S3C2410A的DMA初始化有几个控制寄存器?各自具有什么功能?

22. 简述存储器系统层次结构及特点。 23. 简述cache的分类与功能。 24. 简述MMU的功能。

25. 简述嵌入式系统存储设备的分类。 26. 简述NOR Flash与NAND Flash的区别 27. 简述SDRAM的特点。

28. 简述Flash存储器在嵌入式系统中的用途。

29. LCD按照其液晶驱动方式,可以分为TN型、STN型和TFT型3大类。

30. 简述A/D转换器的主要指标。

31. 分析S3C2410A的A/D转换器和触摸屏接口电路,简述其工作原理 32. 简述电阻触摸屏的结构与工作原理。 33. 简述使用触摸屏的配置过程。 34. 简述LCD的显示原理。 35. 简述LCD中断寄存器的位功能。

36. S3C2410A与触摸屏接口有几种接口模式?各有什么特点? 37. 简述串行数据的通信模式。 38. 简述UART的字符传输格式。

39. 简述S3C2410A的UART的操作模式与功能。

7

40. 与S3C2410A UART相关的专用寄存器有哪些?各有什么功能? 41. 与S3C2410A I2C总线操作有关的寄存器有哪些?各有什么功能? 42. 简述I2C总线的工作模式。

43. 简述I2C总线的数据传输过程、信号及数据格式。 44. 试描述并画出I2C总线的启动和停止信号。

45. S3C2410A的 I2S总线接口有几种工作方式?各有什么特点? 46. 简述I2S总线接口的启动与停止过程。

47. 与S3C2410A I2S总线接口相关寄存器有哪些?各有什么功能? 48. 分析如图所示I2S总线时序图,说明其操作过程。

49. 汇编语言和C的混合编程通常有哪几种方式? 50. 简述ARM汇编语言与C语言混合编程的基本规则。

51. 什么叫汇编语言伪指令?举例说明在ARM的汇编程序中几种常用汇编伪指令及其功能。

52. AREA、EQU、ENTRY、MACRO、MEND、GBLA、IMPORT、EXPORT的含义。

53. 简述Boot loader的功能和他的启动过程。 54. 简述Boot loader的两种形式。

8

三、 程序分析:给以下程序主要过程加注释,幷写出程序功能

1. 程序段1:

void TimerlINT_Init(void) {

2. 程序段2:

if((rINTPND&BIT_TIMERI)){

rSRCPND | = BIT_TIMER1; }

pISR_TMER1=(int)Timerl_ISR; rINTMSK &=~(BIT_TIMERI);

IsrIRQ

sub sp,sp,#4; //为保存PC预留堆栈空间 stmfd sp!,{r8-r9} ldr r9,= INTOFFSET

ldr r9,[r9]; //加载INTOFFSET寄存器值到r9 ldr r8,=HandleEINT0;//加载中断向量表的基地址到r8 add r8,r8,r9,lsl #2;//获得中断向量

ldr r8, [r8]; //加载中断服务程序的入口地址到r8 str r8,[sp,#8]; //保存sp,将其作为新的pc值

ldmfd sp!,{r8-r9,pc}; //跳转到新的pc处执行,即跳转到中断服务子程序执行

3. 程序段3:

{

rDISRC2 = (int)(Buf + 0x30); //0x31000030~(Remove header) rDISRCC2 = (0<<1) + (0<<0); //源地址位于系统总线AHB,地址递增 rDIDST2 = ((U32)IISFIFO); //IISFIFO

rDIDSTC2 = (1<<1) + (1<<0); //目的地址位于外设总线APB,地址固定 rDCON2 = (1<<31)+(0<<30)+(1<<29)+(0<<28)+(0<<27)+(0<<24)+(1<<23)+(0<<22)+(1<<20)+(size/4);

rDMASKTRIG2 = (0<<2) + (1<<1) + (0<<0);

9

No-sw trigger[0] }

4. 程序段4:

mrs r0,cpsr

bic r0,r0,#MODEMASK orr r1,r0,#UNDEFMODE|NOINT msr cpsr_cxsf,r1

;UndefMode

; UndefStack=0x33FF_5C00

ldr sp,=UndefStack msr cpsr_cxsf,r1 ldr sp,=IRQStack

orr r1,r0,#IRQMODE|NOINT

;IRQMode

; IRQStack=0x33FF_7000

5. 程序段5:

int ReadAdc(int ch) { int i;

static int prevCh=-1;

rADCCON = (1<<14)|(preScaler<<6)|(ch<<3); //setup channel if(prevCh!=ch) {

rADCCON = (1<<14)|(preScaler<<6)|(ch<<3); //setup channel for(i=0;i

//delay to set up the next channel

}

rADCCON|=0x1; //start ADC while(rADCCON & 0x1);

//check if Enable_start is low

while(!(rADCCON & 0x8000)); //check if EC(End of Conversion) flag is high return ( (int)rADCDAT0 & 0x3ff ); }

6. 程序段6:

MMU_EnableICache mrc p15,0,r0,c1,c0,0

10

6、在对一个设备进行操作之前要完成下面三步:安装设备驱动、初始化设备、打开一个设备并得到文件描述符。

(二)、选择题

1、影响嵌入式系统软件可靠性的主要因素有:ABCEFG

A、软件规模 B、软件内部结构 C、软件运行环境 D、电磁兼容性设计 E、软件开发方法 F、软件测试 G、实时性

2、嵌入式硬件系统的主要组成包括:ABCD A、嵌入式微处理器 B、总线 C、存储器

D、输入/输出接口设备

3、嵌入式操作系统的内核主要包括ABCDEG A、任务管理 B、内存管理 C、中断管理

D、通信、同步与互斥机制

16

E、时间管理 F、驱动管理 G、I/O管理

4、嵌入式操作系统的时间性能指标主要有:ABCDEF

A、中断延迟时间 B、中断响应时间 C、中断恢复时间 D、上下文切换时间 E、任务响应时间 F、系统调用的执行时间

5、嵌入式系统在内存管理方面要考虑的主要因素有:ACD

A、快速而确定的内存管理 B、使用虚拟存储技术 C、使用内存保护技术

D、经常对内存分区,使用确定大小的内存块

6、在嵌入式系统中,应用程序需要通过内存来存储以下内容:BDE

A、程序代码 B、指令代码 C、操作系统内核 D、静态分配的数据

E、用来存储数据的堆、栈或动态分配的数据

17

(三)、简答题

1、什么是嵌入式系统?嵌入式系统的特点是什么?

嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 嵌入式系统的主要特点如下:

高实时性OS、系统内核小;专用性强;系统精简;实时性和可靠性要求高;嵌入式软件开发走向标准化;嵌入式系统需要专门的开发工具和环境。

2、嵌入式软件的特点有哪些?

规模相对较小,开发难度大;快速启动,直接运行;实时性和可靠性要求高;程序一体化;两个平台。

3、嵌入式系统的主要应用领域有哪些?

消费电子、通信设备、家庭设备、汽车电子、工业控制、军事国防、医疗电子等。

4、按实时性来分,嵌入式系统可分为几类?它们的特点是什么?

可分为硬实时系统和软实时系统。其中硬实时系统对响应时间有严格要求,如果系统响应时间得不到满足,就会引起系统崩溃或致命的错误;软实时系统对响应时间有要求,但系统响应时间得不到满足时,不会导致系统崩溃或致命的错误。

5、影响系统响应时间的主要因素有哪些? 影响系统响应时间的主要因素有: 任务调度算法 任务执行时间 事件发生的频率 任务数量 中断响应时间 任务响应时间 资源共享 任务间通信

6、根据自己的理解描述嵌入式系统的发展趋势? 行业性嵌入式软硬件平台——标准化 互联网的普及——网络化 半导体技术的改善——小型化

3C技术的快速融合——功能多样化

18

使用者的需求——个性化

信息服务应用生活化——泛在化

7、嵌入式系统的交叉开发环境是什么含义?

嵌入式的交叉开发环境包括宿主机和目标机两部分,交叉开发环境是指宿主机和目标机是不同的系统,即开发机器 执行机器、开发环境 执行环境。

8、用图说明冯.诺依曼体系和哈佛体系的区别

在冯·诺依曼体系结构中,数据和程序存储器是共享数据总线的。数据总线共享有很多优点,比如减小总线的开销。另外一个优点在于能够把RAM映射到程序空间,这样设备也能访问EEPROM中的内存。

而对于哈佛体系结构的计算机,程序和数据总线是分开的。这种方式的优势在于能够在一个时钟周期内同时读取程序和数据,这样就相应地减少了执行每一条指令所需的时钟周期。 9、主流的嵌入式处理器有哪些? ARM、MIPS、PowerPC、X86等。

10、总线的概念是什么?有哪些主要参数?

总线就是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共通路。总线的主要参数有:总线的带宽、总线的位宽、总线的工作时钟频率。 11、以图例说明嵌入式系统存储器的种类和时钟频率 12、嵌入式处理器的分类有哪些?

13、嵌入式实时系统采用多任务处理方式的主要好处有哪些?

相对于前后台软件结构而言,多任务处理结构的每个任务规模比较小,每个任务更容易编码和调试,其质量也更容易得到保证;

不少应用本身就是由多个任务构成的,采用多任务处理结构是应用问题的一个非常自然的解决方式;

任务之间具有较高的独立性,耦合性小,便于扩展系统功能; 实时性强,可以保证紧急事件得到优先处理。 14、以图例说明嵌入式软件运行的基本流程 15、任务和程序的主要区别体现在哪些方面? 16、选择嵌入式系统处理器时主要考虑哪些因素?

主要考虑的因素有应用类型、I/O接口、主频、功耗、所支持的存储器类型、总线、价格、封装、产品的生命力和厂家的实力、技术支持和第三方软件的支持。 17、选择嵌入式操作系统时主要考虑哪些因素? 是自建还是购买,或是使用开源软件;

应用对嵌入式操作系统的功能、性能的要求; 与硬件平台和开发工具的关系;

产品所属的应用领域是否有行业的标准或限制; 技术支持;

版税或服务费的问题。

19

本文来源:https://www.bwwdw.com/article/y8fd.html

Top