1、3、 举出2个ARM公司当前应用比较多的ARM处理器核?ARM7系列、ARM9系列、ARM10系列、ARM11系列、intel的Xscale系列和MPCore系列。4、 ARM7TDMI中的T、D、S、I分别表示什么含义?T:支持高密度16位的Thumb指令集D:支持片上调试S:ARM7TDMI 的可综合(synthesizable)版本(软核)I:支持EmbededICE观察硬件M:支持64位乘法5、 ARM7TDMI处理器采用什么样的体系结构,其可寻址地址空间多大?ARM处理器使用冯.诺依曼结构 使用单个平面的232个8位字节地址空间。地址空间可以看作是包含230个32位字, 或231个1
2、6位半字。6、 ARM7TDMI处理器采用几级流水线处理,使用何种存储器编址方式?ARM7TDMI处理器采用三级流水线。 ARM处理器将存储器看做是一个从0开始的线性递增的字节集合。7、 ARM处理器哪几种状态和模式?答:共7种。(1)用户模式 (2)快速中断模式 (3)外部中断模式 (4)管理模式 (5)数据访问中断模式 (6)系统模式 (7)未定义指令模式8、 简述ARM处理器两种状态的应用特点。ARM状态:处理器执行32位字对齐方式的ARM指令,每条ARM指令长度 为32位,指令的功能强大,处理器默认为此状态。 Thumb状态:处理机执行16位半字对齐方式的Thumb。每条Thumb指令
3、长 度为16位,是ARM指令功能的子集。9、 简述ARM处理器7种模式的应用特点。(1)用户模式:ARM处理器正常的程序执行模式。 (2)快速中断模式:用于高速数据传输或通道处理。 (3)外部中断模式:用于通用的中断处理。 (4)管理模式:操作系统使用的保护模式。 (5)数据访问中断模式:当数据或指令预取终止时进入该模式,可用于虚拟 存储及存储保护。 (6)系统模式:运行具有特权的操作系统任务。 (7)未定义指令模式:当未定义的指令执行时进入该模式,可用于支持硬件 处理器的软件仿真。10、 结合CPSR的结构,说明其中的M4:0的作用和T位的作用。M4:0是模式控制位,这些位决定处理器的工作模
4、式。 T位:T位标志控制处理器按照ARM指令集运行,还是按照Thumb指令集 运行。11、 结合CPSR的结构,说明其中的I位和F位的作用。I位和F位都是中断禁止标志位,用来时能或禁止ARM的两种外部中断。12、 简述ARM7TDMI内部有哪些寄存器及特点。分别为31个通用32位寄存器和6个状态寄 存器。它们不能在同一使劲同时被访 问,对其的访问取决于处理器状态和处理器模式。13、 结合下表简述FIQ模式下有哪几个私有寄存器,这些私有寄存器有何使用特点?FIQ模式下私有寄存器有R8-fiq,R9-fiq,R10-fiq,R11-fiq,R12-fiq,R13-fiq,R14-fiq,和SPSR
5、-fiq。 这些寄存器使得在发生FIQ中断,处理器不必为保护寄存器而浪费时间,从而加速了FIQ的处理速度。14、 ARM7TDMI中的PC指向的是下一条将要执行的指令,这句话对吗?为什么?不对,PC中的内容总是指向正在“取指”指令的地址。15、 简述ARM处理器的CPSR和SPSR的功能、作用和工作方式。CPSR是当前状态寄存器,他可以在任何运行模式下被访问,它包括条件标 志位,中断标志位,当前处理器模式标志位,以及其他的一些相关的控制盒状态 位。ARM内核就是通过使用CPSR来监视和控制内部操作的。 SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR。16、 简述AR
6、M7的内部寄存器R13、R14、R15的主要功能、作用和工作方式。R13作为堆栈指针SP,用于指定堆栈操作出入口的地址。其他6个R13寄 存器为堆栈寄存器。为用户模式和系统模式共用一个。 R14可以用作通用寄存器,也可以用作链接寄存器。链接寄存器用于保存子程序 地址或者返回地址。 R15:程序寄存器,总是指向正在“取指”的指令17、 什么是计算机的寻址方式?ARM7TDMI有几种寻址方式?寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多 寄存器寻址、堆栈寻址、相对寻址。18、 什么是堆栈?ARM中的堆栈是如何定义和使用的?堆栈都是一种数据项按序排列的数据结构,只能在一端(称为
7、栈顶(top)对数据 项进行插入和删除。 ARM处理器将RB作为堆栈指针SP,用于保存堆栈的出入口处地址。19、 何谓存储的“大端模式”、“小端模式”?写出数据0x12345678在0x20000000字单元中“小端模式”下的存储细节。大端模式:按照数据的低字节存放在高地址中的顺序进行存储。 小端模式:按照数据的高字节存放在高地址中的顺序进行存储。 0x存放0x78,0x1存放0x56,0x2存放0x34 0x3存放0x12。20、 什么是“字对齐”和“半字对齐”?ARM指令必须字对齐存放,Thumb指令必须半字对齐存放,这句话正确吗?如果一个字数据的访问存储地址A能被4整除,即地址的低两位为
8、零,则为 字对齐的存储器访问。 如果一个半数据的访问的存储地址A能被2整除,即地址的最低位为零,则 为半字对齐的存储器访问, 如果Thumb状态下将一个非字对齐的地址写入PC,则数据在写入PC时第 0位被忽略,最终PC的bit0为0,将会产生不可预料的结果。21、 ARM指令长度和Thumb指令长度固定位长吗?位长分别是多少?固定 , ARM为一个字(32bit),Thumb为一个半字(16bit)22、 ARM7TDMI中的中断分为那两类?在CPU级别如何分别屏蔽?分别为IRQ,FIQ ,在cpu级别通过状态寄存器CPSR中的I和F位置位来屏蔽。23、 什么是ARM7TDMI中的异常?简述A
9、RM7TDMI中的复位、IRQ、FIQ和软中断等几种主要异常的控制原理。异常是指正常的程序被暂时中止的状态模式。 复位异常时处理器进行管理模式执行相应操作,I和F均为禁止;软中断异常 也进入管理模式,I位禁止;IRQ异常时进入中断模式,I位禁止;FIQ异常进 入快速中断模式,I和F位均为禁止,都是通过异常向量表。24、 简述ARM7TDMI中产生复位、IRQ、FIQ和软中断等几种主要异常的条件,这几种异常会使ARM分别进入到哪种模式?ARM核响应异常的过程,以及这几种异常地返回指令是什么?复位异常:当nRESET信号被拉低时,ARM处理器放弃正在执行时的指令,等到nRESET下信号再次变高时,
10、ARM执行下列操作:(1)强制M4:0复为10011,进入管理模式;(2)将CPSR中的I和F置位;(3)将CPSR中的T位清零(4)强制pc从地址0x00开始对下一条指令进行取值;(5)返回ARM状态并回复执行,无返回指令。 IRQ:只有CPSR中相应的I位被清除时,才可能发生IRQ异常,进入中断模式,内核自动作如下处理:(1)将异常处理的返回地址保存到R14-irq中(2)用户模式的CPSR被保存到SPSR-irq中;(3)修改CPSR,禁止新的IRQ中断产生,进入ARM状态,IRQ模式(4)置IRQ模式下的IRQ异常处理程序的中断入口地址向量。地址0x00000018。 返回指令:sub
11、s pc , R14-irq , #4FIQ:只有CPSR中的想用下位被清零时,才发生下IQ异常进入FIQ模式,FIQ中的8个专用寄存器用来保护中断地址。其返回指令: subs pc,R14-fiq , #4软中断swi:用于进入“管理模式”,通常用于请求一个特定的管理函数。返回指令:movs pc,R14-svc三、 ARM7TDMI指令系统 1、 ARM7TDMI支持哪几种指令集,各有什么特点?支持ARM指令集和Thumb指令集两种。 ARM指令集:指令32位,效率高,代码密度低,所有ARM指令都是可以有条件 执行的 。 Thumb指令集:指令16位,代码密度较高,Thumb指令仅有一条指
12、令具备条件 执行功2、 ARM汇编指令的基本格式?基本指令:在ARM指令集中,每条指令占有4个字节,即指令长度为32位。3、 何谓ARM指令的条件码?默认的条件码是什么?举例说明ARM指令的条件码对指令执行的影响。条件码是按照指定条件执行的操作条件:默认条件码是AL(无条件执行) 例子:比较两值大小,并进行相应加1处理: cmp R0,R1;ADDHI R0,R0,#1;ADDLS R1,R1,#14、 解释何为“满堆栈”、“空堆栈”、“递增堆栈”和“递减堆栈”? ARM指令系统中是如何支持的?满堆栈:堆栈指针指向最后压入栈的有效数据项。 空堆栈:堆栈指针指向下一个待压入数据的空位置。 递增堆
13、栈:在向堆栈写入数据后,堆栈指针的值变大,即向高地址方向生长。 递减堆栈:在想堆栈写入数据后,堆栈指针的值变小,即向低地址方向生长。 ARM指令支持四种对战类型:满递增,空递增,满递减,空递减。5、 请说明MOV指令与LDR加载指令的区别和用途。LDR的操作数既可以来源于寄存器也可以来源于存储器,MOV的操作数能来源 于寄存器。 LDR指令从内存中读取数据放入寄存器,用于对内存变量和数据的访问、查表、 程序的跳转、外围部件的控制操作等;MOV指令将8位立即数或寄存器传送到目 标寄存器(Rd),可用于移位运算等操作。6、 解释 B指令、BL指令与BX指令的功能差别?简述他们的应用场合。B指令:是
14、分支指令,跳转到标号指定的地址程序。 Bl指令:带连接的分支指令,跳转到指定的地址程序,同时还将程序计数器PC的值保存到LR寄存器中。 BX指令:带状态切换的分支指令,跳转到Rm指定的地址处执行程序,根据跳转地址的最低位 来切换处理器状态。 B/BL指令跳转范围限制在当前指令的+-32MB地址内。7、 解释SWI(软中断)指令的执行过程和典型应用。SWI指令用于产生软中断,从而实现先从用户模式到管理模式的变换。在切换时,CPSR寄存器内容将保存到管理模式的SPSR中,同时程序跳转到SWI异常向量入口处。 SWI用于系统功能调用。8、 ARM汇编指令条件码如下表,分析下两段程序片断的功能,写出其
15、等价的类C语言功能描述:条件助记符标志含义EQZ=1相等NEZ=0不相等CS/HSC=1无符号数大于或等于CC/LOC=0无符号数小于MIN=1负数PLN=0正数或零VSV=1溢出VCV=0没有溢出HIC=1,Z=0无符号数大于LSC=0,Z=1无符号数小于或等于GEN=V有符号数大于或等于 LTN!=V有符号数小于 GTZ=0,N=V有符号数大于 LEZ=1,N!有符号数小于或等于 AL任何无条件执行 (指令默认条件) NV从不执行(不要使用) 程序片断1:CMP R0, R1 ADDHI R0 , R0 , #1 ADDLS R1 , R1 , #1程序片断2:CMP R0 , #10 C
16、MPNE R1 , #20 ADDNE R0 , R0 , R1if(R0R1) if(R0!=10) R0+; if(R1!=20) else R1+; R0+=R1;9、 结合ARM7TDMI结构中的流水线结构,解释IRQ中断返回指令:SUBS PC , R14_irq , #4 的原理ARMTTDMI采用三级流水线结构,PC指向正在取值的指令,产生IRQ时,保存在R14-IRQ中的是PC的值,在返回时为保证正确性应返回到PC-4即中断前“正在译码”的指令地址。所以返回指令为:subs pc,R14-irq,#4;四、 LPC2000系列ARM硬件资源原理与使用1、 LPC2000系列器件
17、有几种常见的封装形式和其封装特点?常见的封装有64脚封装,144脚封装 特点:功耗低,有多个32位定时器,多达9个外部中断,16K字节静态RAM, 1/128/256k字节片Flash存储器,128为宽度接口加速器,4路10位ADC或8路10 位ADC(64脚和144脚封装),46或76112个GPIO(64脚和144脚封装)。2、 简要说明一下LPC2000系列器件片内存储器的特点?片内存储器分为片内Flash和片内静态RAM。片内Flash通过128位宽度的总线 与ARM内核相连,具有很高的速度,特有的存储器加速功能,可以将程序直接放 在Flash上运行。SRAM支持8位、16位和32位的
18、读写访问。3、 在LPC2000系列ARM芯片中,内Flash有哪几种写入方式?(1)使用JTAG仿真/调试器,通过芯片的JTAG借口下载程序。 (2)使用在系统编程技术,通过UART0接口下载程序。 (3)使用在应用编程技术,在用户程序运行时对Flash进行擦出和/或编程操作, 实现数据的存储和固件的现场升级。4、 ARM寄存器PC、CPSR、SPSR分别有什么用?PC是CUP中的程序计数器,内容总是指向正在“取指”指令的地址。 CPSR是当前程序状态寄存器,用来监视和控制内部操作的。 SPSR是物理状态寄存,用于保存CPSR的当前值,从异常退出时则由它来恢复 CPSR。5、 什么是ARM处
19、理器的异常?ARM处理器是如何处理异常的?异常:在执行正常程序过程中,当发生某种异常事件或某种外部请求时,处理 器就暂停执行当前的程序,进入异常模式。 如何处理异常: 1) 保存执行状态:将CPSR复制到发生的异常模式下的SPSR中。 2) 模式切换:将CPSR模式位强制设置为与异常类型相对应的值,同时处理器进 入到ARM执行模式,禁止所有IRQ中断,当进入FIQ快速中断模式时禁止FIQ中 断。 3) 保存返回地址:将下一条指令的地址(被打断程序)保存在LR(异常模式下 LR_excep)中。 4) 跳入异常向量表:强制设置PC的值为相应异常向量地址,跳转到异常处理程 序中。6、 什么是ARM
20、体系结构中的异常向量表?在应用中有何作用?处理器规定了异常处理程序入口的地址区间,并规定了地址的存放顺序,一 般称为异常向量表。 在异常处理过程中,可以加快异常服务的响应速度。7、 在ARM体系结构中,异常向量表中存放的是什么内容?异常处理程序的程序入口地址。8、 在ARM体系结构中,异常向量表中0x0014(保留字)单元存放的是什么内容?有何用途?保留的异常入口,早期的ARM结构中会被用到,而在ARM7中是保留的,以 确保软件能与不同的ARM结构兼容。而在有些处理器芯片中,这4个字节已经有 了非常特殊的用特。9、 什么是ISP技术?IAP技术?在实际应用中有何实际意义?ISP:在系统可编程指
21、电路板上的空白器件可以编程写入最终用户代码而不需要 从电路板上取下器件已经编程的器件也可以用ISP方式擦除或再编程。 IAP:是指在应用编程,即在程序运行中编程,就是片子提供一系列的机制(硬件/软 件上的)当片子在运行程序的时候可以提供一种改变flash数据的方法。10、 LPC2000系列器件中,许多芯片的引脚具有多种功能,应用中如何使用其特定的功能?设置寄存器PINSEL0、PINSEL1、PINSEL2为特定功能的值。11、 简述LPC2000系列芯片的引脚设置寄存器PINSEL0、PINSEL1、PINSEL2的具体功能?PINSEL0控制引脚P0.0P0.15的连接状态,每两位控制一
22、个引脚。 PINSEL1控制引脚P0.16P0.31的连接状态,每两位控制一个引脚。 PINSEL2控制P1端口和P2端口。12、 简述LPC2000系列芯片内部GPIO的功能特点?(1)可以独立控制每个GPIO口的方向; (2)可以独立设置每个GPIO的输出状态; (3)所有GPIO口在复位后默认位输入状态。13、 结合GPIO 结构原理图,简述GPIO的工作方式设置内容。芯片某个管脚首先经过unix功能选择,对应PINSELx寄存器选择其功能,如 果选择GPIO功能,在经过MUX2中IOxDIR寄存器对应位选择,控制管脚输入输 出方向,GPIO管脚输入时通过IOxPIN寄存器读入,输出时通
23、过IOxSET或IOxCLR 寄存器控制输出实现对应GPIO管脚的控制。14、 设计编程:LPC2131的P0.7引脚连接了一个蜂鸣器,编程发出等周期的滴滴声。 #define Void DelayNS(int m) int i; for(;m0;m-) for(i = 0;i50000;i+)main() PINSEL0 = 0x00000000; IO0DIR = 1 7; while (1) IO0SET = 1 DelayNS(50); IO0CLR = 1 15、 设计编程:LPC2131的P01:0 两引脚分别连接了2个按键K1和K4;P07:6 两引脚分别连接了2个指示灯LED1
24、和LED2;请编制驱动程序,使Kx 按键时,LEDx 灯亮。 #define k1 1 #define k2 11 #define LED1 17 #define LED2 18 main()PINSEL0=0x00000000;IO0DIR=IO0DIR & (k1); (k2);IO0DIR=IO0DIR|LED1;IO0DIR=IO0DIR|LED2;IO0CLR=IO0CLR|LED1|LED2;While(1)If(IO0PIN & k1)=0) IO0SET=LED1;else IO0SET=LED1; k2)=0) IO0SET=LED2;else IO0SET=LED2;16、
25、 名词解释:中断、中断源、中断优先级、中断屏蔽、中断向量、中断响应、中断控制。中断:CPU在执行一个程序时,对系统发生的某个事件(程序自身或外界的原 因)作出的一种反应:CPU暂停正在执行的程序,保留现场后自动转去处理相应的 事件,处理完该事件后,到适当的时候返回断点,继续完成被打断的程序。 中断源:把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。 中断优先级:为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件 的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。 中断屏蔽: 中断向量:中断服务程序的入口地址。 中断响应:中断响应是当中央处理机发现已有中断请
26、求时,中止,保存现行程序执 行,并自动引出中断处理程序的过程。 中断控制:CPU能否暂停正在执行的中断服务程序,而转去执行为另一个中断源而 编写的中断服务程序,如果另一个中断源的优先级高,CPU就暂停正在执行中断服 务程序而转去执行为另一个中断源而编写的中断服务程序,否则,另一个中断源就 不能打断正在执行的中断服务程序。17、 结合ARM VIC 结构原理图,简述ARM体系结构中的中断控制原理。1) 向量中断控制器(VIC)的功能特点?2) 中断信号的来源?中断信号的标示?3) 中断信号如何屏蔽?如何清除?4) ARM核从何处获得中断向量?5) 如何将中断源指派为IRQ、FIQ?6) 向量IRQ的设置方法?(1)最多32个中断请求输入;16个向量IRQ中断;16个优先级,可动态分配优先级; 可产生软件中断;当I=1时,禁止IRQ中断,反之使能之;当F=1时,禁止FIQ中断,反之使能之。(2)18、 ARM 芯片中定时器结构原理如下图,试设计一个周期为2秒的方波发生器。(假设该系统的外围设备时钟频率Fpclk = 10MHz)int mian PINSEL0=PINSEL0 & (1(310) | (210); T0CTCR=0x00; T0TC=0; T0PR=99;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1