ARM重点复习.doc_第1页
ARM重点复习.doc_第2页
ARM重点复习.doc_第3页
ARM重点复习.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 嵌入式系统的特点:“嵌入性”专指计算机嵌入到对象体系中,实现对象体系的智能控制;“内含计算机”是对象系统智能化控制的根本保证;“专用性”是指在满足对象控制要求及环境要求下的软硬件裁剪性。2.嵌入式系统的分类:(1)嵌入式微处理器,它的基础是通用计算机的CPU,在应用中,将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的母板功能。(2)微控制器,又称单片机,就是将整个计算机系统集成到一块芯片中。(3)DSP处理器,它对系统结构和指令进行特殊设计,使其适合于执行DSP算法,编译效率高。(4)片上系统。3.嵌入式操作系统的类型及特点:(1)多道批量处理操作系统,硬件设备比较全,价格较高,注重CPU以及其他设备的充分利用,追求高的吞吐量,不具备实时性。(2)分时操作系统,它让多个计算机用户能共享系统的资源,能及时地响应和服务于联机用户,只具备很弱的实时功能。(3)实时操作系统:异步的事件响应、切换时间和中断延迟时间确定、优先级中断和调度、抢占式调度、内存锁定、连续文件、同步。4. ARM 的定义及常见ARM 处理器:它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC处理器。特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。 ARM7系列、ARM9系列、ARM10系列、ARM11系列、intel的Xscale系列和MPCore系列。5. 三级流水线:正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。ARM7TDMI的流水线分3级,分别为:取指:从寄存器装载一条指令;译码:识别将要被执行的指令;执行:处理指令并将结果写回寄存器。6. ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;Thumb状态:16位,处理器执行半字方式的Thumb指令。使用BX指令将ARM内核的操作状态在ARM状态和Thumb状态之间进行切换。7. ARM体系结构支持7种处理器模式,分别为:1.用户模式:正常程序运行的工作模式,不能直接从用户模式切换到其它模式;2.系统模式:用于支持操作系统的特权任务等,可以直接切换到其它模式;3.快中断模式:用于快速中断处理,支持高速数据传输及通道处理,只有在FIQ异常响应时,才进入此模式;4.中断模式:用于通用中断处理,只有在IRQ异常响应时,才进入此模式;5.管理模式:供操作系统使用的一种保护模式,只有在系统复位和软件中断响应时,才进入此模式;6.中止模式:用于虚拟内存和/或存储器保护;7.未定义模式:支持软件仿真的硬件协处理器,只有在未定义指令异常响应时,才进入此模式。这样的好处是可以更好的支持操作系统并提高工作效率。ARM处理器完全支持这七种模式。8. CPSR:为当前程序状态寄存器,在异常模式中,另外一个寄存器“程序状态保存寄存器(SPSR普通模式和系统模式不可见)”可以被访问。每种异常都有自己的SPSR,在进入异常时它保存CPSR的当前值,异常退出时可通过它恢复CPSR。9. 寄存器R13、R14分别有6个分组的物理寄存器。1个用于用户和系统模式,其余5个分别用于5种异常模式。寄存器R13通常作为堆栈指针(SP),用于保存待使用的寄存器的内容。寄存器R14称为链接寄存器(LR),在结构上有两个特殊功能:当使用BL指令调用子程序时,返回地址将自动存入R14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。寄存器R15称为程序计数器(PC),它指向正在“取指”的指令。10. 异常的概念:只要正常的程序流被暂时中止,处理器就进入异常模式。例如在用户模式下执行程序时,当外设向处理器内核发出中断请求导致内核从用户模式切换到异常中断模式。12. ARM 的存储体系:ARM芯片一般在处理器核和外部存储器之间有一个存储器管理部件将局部总线的信号和时序转换为现实的外部总线信号和时序。ARM处理器采用冯诺依曼结构,指令、数据和I/O统一编址(即存在同一个空间)。只有装载、保存和交换指令可访问存储器中的数据。 ARM7的规范定义了局部总线的信号和时序。各芯片生产厂商制定了自己的外部总线的信号和时序。13. 地址空间:ARM结构使用单个平面的232个8位字节地址空间。地址空间可以看作是包含230个32位字,或231个16位半字。如果地址向上或向下溢出地址空间,通常会发生翻转。注意:如果在取指操作时地址发生溢出,只要没有执行预取的无效指令,就不会导致异常。14. ARM7TDMI中的T、D、M、I的含义是什么:64 位乘法指令(带M 后缀的)、支持片上调试(带D 后缀的)、高密度 16 位的Thumb指令机扩展(带T 后缀的)和EmbededICE 观察点硬件(带I 后缀的)。15. ARM7TDMI采用几级流水线?使用何种存储器编址方式?其可寻址地址空间多大:三级流水线(取指 译码 执行);使用了冯诺依曼结构,指令和数据共用一条32位总线;使用单个平面的232个8位字节地址空间。地址空间可以看作是包含230个32位字,或231个16位半字。16. ARM处理器模式和ARM处理器状态有何区别:处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。17. CPSR寄存器中哪些位用来定义处理器状态:位3128:N、Z、C、V,条件代码标志位;278:保留位;70:I、F、T、M40,控制标志位。18. 描述一下如何禁止IRQ和FIQ的中断:当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能;当控制位F置位时,FIQ中断被禁止,否则允许FIQ中断使能。19. 当一个异常导致模式切换时,内核自动的做如下处理:将异常处理程序的返回地址(加固定的偏移量)保存到相应异常模式下的LR;将CPSR的当前值保存到相应异常模式下的SPSR;设置CPSR为相应的异常模式;置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行。20. 快速中断请求(FIQ):SUBS PC,R14_fiq,#4; 退出IRQ异常模式:SUBS PC,R14_irq,#4; 未定义的指令异常:MOVS PC,R14_und;预取指中止:SUBS PC,R14_abt,#4;数据中止: SUBS PC,R14_abt,#8;软件中断异常:MOVS PC,R14_svc21. LPC2000系列微控制器包含4大部分:支持仿真的ARM7TDMI-S CPU;与片内存储器控制器接口的ARM7局部总线;与中断控制器接口的AMBA高性能总线(AHB);连接片内外设功能的VLSI外设总线(VPB)。22. 大小端地址模式:小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址(同同小);大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址(正反大)23.24. 存储器重映射:将已经过映射的存储器再次映射的过程称为存储器重映射,它使同一物理存储单元出现多个不同的逻辑地址。这些存储单元主要包括引导块“Boot Block”和用于保存异常向量表的少量存储单元。存储器重映射并不是对映射单元的内容进行了复制,而只是将多个地址指向了同一个存储单元,这种效果是通过芯片内部的“存储器管理部件”实现的。25. 引导块(Boot Block)是芯片设计厂家在LPC2000系列ARM内部固化的一段代码,用户无法修改或删除。这段代码在芯片复位后被首先运行,其功能主要是:判断运行哪个存储器上的程序;检查用户代码是否有效;判断芯片是否被加密;芯片的在应用编程(IAP)以及在系统编程功能(ISP)。26. LPC2000系列芯片内部均具有PLL电路,振荡器产生的时钟Fosc通过PLL升频,可以获得更高的系统时钟(Fcclk)。 PLL的锁定过程: CCO的输出频率受到“相位频率检测”部件的控制,输出所需频率的过程不是一蹴而就的,而是一个拉锯反复的过程。27. PLL频率计算:可以得出以下几个等式: Fosc = Fcco/(2pM) Fcco = Fosc(2pM) Fcclk = Fcco/(2p) Fcco = Fcclk(2p) 最后得出PLL的输出频率(当PLL激活并连接时)为: Fcclk = MFosc 或 Fcclk = Fcco / (2P)CCO 输出频率为: Fcco = Fcclk2P 或 Fcco = FoscM2P 注:M=MSEL+128. IRQ中断相应流程:发生IRQ异常事件;将当前的程序状态寄存器的内容备份即,SPSR_irq = CPSR;处理器切换到IRQ模式;禁止IRQ中断,即I = 1;保存返回地址LR_irq = PC;设置IRQ异常入口地址PC = 0x18.29. 嵌入式处理器的最小系统包含那些基本电路?最小系统包含时钟系统、供电系统、复位及其配置系统、存储器系统(可选)、调试测试系统(可选)。基本电路包括:末级电源电路、前级电源电路、时钟电路、复位电路、程序存储器(可选)、调试接口电路(可选)。30. 定义R0=0x12345678,假设使用存储指令将R0 的值:(3,2,1,0)大端:0x78、0x56、0x34、0x12;小端:0x12、0x34、0x56、0x78;31. LPC2114可使用的外部晶振频率范围是多少(使用/不使用PLL功能时)?晶振频率范围:130 MHz,若使用PLL 或ISP 功能为:1025MHz。32. 设置引脚为GPIO功能时,如何控制某个引脚单独输入/输出?当前要知道某个引脚当前的输出状态时,是读取IOPIN寄存器还是读取IOSET寄存器?GPIO方向寄存器,读取IOPIN寄存器。33. VIC:向量中断控制器,具有正确快速处理多个外部中断事件的能力的功能模块34. VPB:VPB分频器,决定处理器时钟(CCLK)与外设器件所使用的时钟(PCLK)之间的关系,作用:将处理器时钟(CCLK)分频、降低系统功耗35. FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?FIQ为快速中断,具有最高优先级,中断响应最快,常用于处理非常重要、非常紧急的事件,IRQ为普通中断。向量IRQ具有中等优先级,对外部事件响应比较及时,常用于处理重要事件。非向量IRQ优先级最低,中断延迟时间比较长,常用于处理一般事件中断。 36. 在使能、禁止FIQ和IRQ时,为什么操作SPSR寄存器而不操作CPSR寄存器?在用户模式下,无法修改CPSR,只有在特权模式下修改SPSR后,通过退出特权模式,然后恢复SPSR到CPSR,才能实现修改CPSR。 37. ARM内核对FIQ、向量IRQ和非向量IRQ有什么不同?FIQ优先级最高,中断响应最迅速。一旦发生FIQ中断,ARM处理器进入FIQ模式,而且ARM处理器为FIQ模式多设计了R8R12这5个私有寄存器,加速FIQ的处理;向量IRQ具有中等优先级,处理中断比较迅速;非IRQ中断优先级最低。38. 3种GPIO的应用实例:读取P0.0引脚的电平状态;使用GPIO控制蜂鸣器;将P0.0设置为输出高电平39. 简要说明一下LPC2000系列器件片内存储器的特点?片内存储器分为片内Flash和片内静态RAM。片内Flash通过128位宽度的总线与ARM内核相连,具有很高的速度,特有的存储器加速功能,可以将程序直接放在Flash上运行。SRAM支持8位、16位和32位的读写访问。40. 为什么要进行存储器重映射?存储器重映射是为了实现引导块和异常向量表地址的固定。重映射引导块,有利于用户调用其中的某些程序,增加代码的可移植性;异常向量表重映射为了能让ARM内核通过访问0x00000x003F地址访问到其他存储区域的向量表。41. LPC2000系列ARM7微控制器对向量表有什么要求(向量表中的保留字)?向量表中有一个空隙以确保软件能与不同的ARM结构兼容;表中异常入口地址处放置的是跳转指令,已转向中断子程序。FIQ地址要放在向量表的最后;42. ARM7微控制器内FLASH是多少位宽度的接口?它是通过哪个功能模块来提高FLASH的访问速度?FLASH是128位宽度的接口,通过存储器加速模块提高其访问速度。43. 外部中断唤醒掉电设计:以下代码是初始化外部中断0,用它来唤醒掉电的LPC2114,请填空PINSEL0=0x00000000;PINSELI1=(PINSEL1&0XFFFFFFFC)|0X01;EXTMODE =0X00; EXTPOLAR=0X00;EXTWAKE =0X01; EXTINT=0x0F;44. 设有一个基于LPC2114的系统,所使用的石英晶振为10MHz。请计算出最大的系统时钟(Fcclk)频率为多少?此时PLL的M值和P值各为多少?请列出计算公式,并编写设置PLL的程序段:依题得,Fosc=10MHz因为Fcclk范围为10MHz60MHz,所以最大的系统所时钟Fcclk=60MH,M=Fcclk/Fosc=60/10=6因为Fcco范围为156MHz320MHz,P=Fcco/(2Fcclk)所以当Fcco取最小值时,P=156/(2*60)=1.3;当Fcco取最大值时,P=320/(2*60)=2.67,因为P的值必须是1、2、4、8中的一个,所以P=2。uint8 PLLSet(uint32 Fcclk, uint32 Fosc,uint32 Fcco)uint8 i;uint32 plldat;i = (Fcco / Fcclk);switch(i)case 2:plldat = (Fcclk / Fosc) - 1) | (0 5); break;case 4:plldat = (Fcclk / Fosc) - 1) | (1 5); break;case 8: plldat = (Fcclk / Fosc) - 1) | (3 5);break;case 16:plldat = (Fcclk / Fosc) - 1) | (3 5);break;default:return(FALSE);break; PLLCON=1;PLLCFG=plldat;PLLFEED=0xaa;PLLFEED=0x55;while(PLLSTAT & (1 10) = 0);PLLCON = 3;PLLFEED = 0xaa; PLLFEED = 0x55;return(TRUE);45. 利用定时器 1 的定时中断实现在P0.4 产生1KHz 方波输出,使用向量IRQ 通道0。(已知Fpclk = 15MHz, 定时器 1 的中断源通道号为5),编写初始化代码 编写中断服务函数Void time1init(void)T1TC=0;T1PR=0;T1MCR=0x18;T1MR0=Fpclk/2000;T1TCR=0X01;V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论