收藏 分销(赏)

ARM嵌入式系统习题课1.ppt

上传人:xrp****65 文档编号:13052032 上传时间:2026-01-12 格式:PPT 页数:21 大小:539.50KB 下载积分:10 金币
下载 相关 举报
ARM嵌入式系统习题课1.ppt_第1页
第1页 / 共21页
ARM嵌入式系统习题课1.ppt_第2页
第2页 / 共21页


点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,ARM,嵌入式系统习题课,第二章,ARM7,体系结构,(,7,),CPSR,寄存器中哪些位用来定义处理器状态?,寄存器,CPSR,为当前程序状态寄存器,当控制位,T,置位时,处理器处于,Thumb,状态,执行,Thumb,指令;当控制位,T,清零时,处理器处于,ARM,状态,执行,ARM,指令。,(,8,)描述一下如何禁止,IRQ,和,FIQ,的中断?,标志位,I,和,F,都是中断禁止标志位,用来使能或禁止,ARM,的两种外部中断源,具体设置如下:,当控制位,I,置位时,,IRQ,中断被禁止,否则允许,IRQ,中断使能;,当控制位,F,置位时,,FIQ,中断被禁止,否则允许,FIQ,中断使能。,2,、定义,R0=0 x12345678,假设使用存储指令将,R0,的值放在,0 x4000,单元中。如果存储器格式为大端格式,请写出在执行加载指令将存储器,0 x4000,单元内容取出存放到,R2,寄存器操作后所得,R2,的值。如果存储器改为小端格式,所得的,R2,值又为多少?低地址,0 x4000,单元的字节内容分别是多少?,地址,大端模式,小端模式,0 x4003,78,12,0 x4002,56,34,0 x4001,34,56,0 x4000,12,78,3,、请描述一下,ARM7TDMI,产生异常的条件是什么?各种异常会使处理器进入哪种模式?进入异常时内核有何操作?各种异常的返回指令又是什么?,(,1,)只要正常的程序流暂时被中止,处理器就会进入异常模式。例如在用户模式下执行程序时,当外设向处理器内核发出中断请求导致内核从用户模式切换到异常中断模式。,(,2,)软件中断异常(,SWI,)、未定义的指令、中止(预取中止、数据中止)、快速中断(,FIQ,)、中断(,IRQ,)、复位。,(,3,),a,、将异常处理程序的返回地址(加固定的偏移量)保存到相应的异常模式下的,LR,,异常处理程序完成后的返回可通过将,LR,的值减去偏移量后写入,PC,;,b,、将,CPSR,的当前值保存到相应异常模式下的,SPSR,;,c,、设置,CPSR,为相应的异常模式,d,、设置,PC,为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行。,(,4,)中断,SUBS PC,,,R14_irq,#4,快速中断(,FIQ,),SUBS PC,,,R14_fiq,#4,未定义的指令,MOVS PC,,,R14_und,预取指中止,SUBS PC,,,R14_abt,#4,数据中止,SUBS PC,,,R14_abt,#8,软件中断异常,MOVS PC,,,R14_svc,复位 无,注:,“MOVS PC,,,R14_svc”,是指在管理模式下执行“,MOVS PC,,,R14,”,第三章,ARM7TDMI,(,-S,)指令系统,(,1,),ARM7TDMI(-S),有几种寻址方式?“,LDR R1,R0,#0 x08”,属于哪种寻址方式?,答:有,8,种寻址方式:,1.,寄存器寻址,2.,立即寻址,3.,寄存器移位寻址,4.,寄存器间接寻址,5.,基址寻址,6.,多寄存器寻址,7.,堆栈寻址,8.,相对寻址;“,LDR R1,R0,#0 x08”,属于基址寻址。,(,3,),ARM,指令中的第,2,个操作数有哪几种形式?列举,5,个,8,位图立即数。,答:,a.,常数表达式,(8,位图,)b.,寄存器方式,c.,寄存器移位方式;,八位位图即常熟是由一个八位的常数循环移位偶数位得到的,0 x3FC,、,0,、,0 xF0000000,、,200,、,0 xF0000001,。,(5),请指出,MOV,指令与,LDR,加载指令的区别及用途?,答:,MOV,指令的源操作数是常数或(带偏移量的)寄存器,用于寄存器之间的数据传送;,LDR,指令的源操作数是地址,用于存储器到寄存器的数据传送。,(,6,),CMP,指令是如何执行的?写一程序,判断,R1,的值是否大于,0 x30,,是则将,R1,减去,0 x30,。,答:,CMP,指令是将寄存器,Rn,的值减去,operand2,的值,根据操作的结果更新,CPSR,中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。,比如:,CMP condRn,,,operand2,CMP R1,,,#0 x30,;将,R1,与常数,0 x30,比较,LDRLE PC,,,LR,;如果小于或等于,0 x30,,则程序返回,SUB R1,,,R1,,,#0 x30,;大于,0 x30,,则将,R1,减去,0 x30,,结果存回,R1,(,7,)调用子程序是用,B,指令还是用,BL,指令?请写出返回子程序的指令。,答:调用子程序是用,BL,指令;,MOV PC,LR,或,BX LR,(8),请指出,LDR,伪指令的用法。指令格式与,LDR,加载指令的区别是什么?,答:,LDR,伪指令用于加载,32,位的立即数或一个地址值到指定的寄存器,它还常用于加载芯片外围功能部件的寄存器地址(,32,位立即数),一实现各种控制操作,与,ARM,指令的,LDR,相比,伪指令的,LDR,的参数有“,=,”号。,比如:,LDR R0,=0 x12345678,2,、(,1,),0 xFFFF000F (A),+0 x0000FFF1 (B),-,0 x00000000 NZCV=0110,如果两个操作数是有符号的,,A,是负数,,B,是正数,和是,0,,没有溢出,,所以,V=0,。如果两个操作数是无符号数,和是,0,,有进位,所以,C=1,。,(,2,),0 x7FFFFFFF (A),+0 x02345678 (B),-,0 x82345677 NZCV=1001,如果两个操作数是有符号数,,A,是正数,,B,是正数,和是负数,有溢出,所以,V=1,。如果两个操作数是无符号数,没有进位,所以,C=0,。,(3),67654321 (A),+23110000 (B),-,0 x0568F421 NZCV=0000,如果两个操作数是有符号数,,A,是正数,,B,是正数,和是正数,没有溢出,所以,V=0,。如果两个操作数是无符号数,没有进位,所以,C=0,。,第四章,LPC2000,系列,ARM,硬件结构,(,2,)请描述,LPC2210/2200,的,P0.14,、,P1.20,、,P1.26,、,BOOT1,和,BOOT0,引脚在芯片复位时分别有什么作用?并简单说明,LPC2000,系列的,ARM7,微控制器的复位流程,答:,P0.14,的低电平强制片内引导装载程序复位后控制器件的操作即进入,ISP,状态,P1.20,的低电平使,P1.251.26,复位后用作跟踪端口,P1.26,的低电平使,P1.311.26,复位后用作一个调试端口,当芯片在复位时,,BOOT0,与,BOOT1,引脚决定芯片复位后运行片内还是片外存储器上的用户代。,当引脚为低电平时,器件复位,,I/O,口和外围功能进入默认状态,处理器从地址零开始执行程序,复位信号是具有迟滞作用的,TTL,电平。,(,3,),LPC2000,系列,ARM7,微控制器对向量表有何要求(向量表的保留字)?,答:向量表所有数据,32,位累加和为零(,0 x000000000 x0000001C,的,8,个字的机器码累加),才能脱机运行用户程序,这是,LPC2114/2124/2212/2214,的特性,(,4,)如何启动,LPC2000,系列,ARM7,微控制器的,ISP,功能?相关电路该如何设计?,答:有两种情况可以使用芯片进入,ISP,状态,(,1,)将芯片的,P0.14,引脚拉低后,复位芯片,可进入,ISP,状态;(,2,)在芯片内部五有效用户代码时,,Boot Block,自动进入,ISP,状态。,如果用户需要使用,ISP,功能,则可以设计一个跳线将,P0.14,连接到地,若需要进入,ISP,,将此跳线短接即可,若想要脱机运行程序,将此跳线断开即可。,(,6,)若,LPC2210/2220,的,bank0,存储块使用,32,位总线,访问,bank0,时,地址线,A1,、,A0,是否有效?,EMC,模块中的,BLS0BLS4,什么功能?,答:,无效,(,如果存储器组配置成,16,位宽,则不需要,A0,;,8,位宽的存储器组需要使用,A0,。,),;字节定位选择信号。,(,7,),LPC2000,系列,ARM7,微控制器具有引脚功能复用特性,那么如何设置某个引脚为指定功能?,P173,答:,(,8,),FIQ,、,IRQ,有什么不同,向量,IRQ,和非向量,IRQ,有什么不同?(,P189,),答:向量中断控制器,VIC,具有,32,个中断请求输入,可将其编程分为,3,类,,FIQ,向量,IRQ,和非向量,IRQ,。,FIQ,(,fast interrpt request,)快速中断请求要求具有最高优先级。如果分配给,FIQ,的请求多于一个,,VIC,将中断请求相或后向,ARM,处理器产生,FIQ,信号。当只有一个中断被分配为,FIQ,时可实现最短的,FIQ,等待,但如果分配给,IFIQ,级的中断多于,1,个,,FIQ,服务程序需要读取,FIQ,状态寄存器来识别产生中断请求的,FIQ,中断源!向量,IRQ,具有中等优先级。该级别可分别,32,个请求中断的,16,个。,32,个请求种的任意一个都可分配到,16,个向量,IRQ slot,中的任意一个,其中,slot0,具有最高优先级非向量,IRQ,的优先级最低,(,9,)在使能、禁止,FIQ,和,IRQ,时,为什么操作,SPSR,寄存器而不操作,CPSR,寄存器?,答:在用户模式下,无法修改,CPSR,,只有在特权模式下修改,SPSR,后,通过退出特权模式,然后恢复,SPSR,到,CPSR,,才能实现修改,CPSR,。,(,10,),ARM,内核对,FIQ,、向量,IRQ,和非向量,IRQ,的响应过程有何不同?,(,11,)向量中断能嵌套吗?请结合,ARM,体系进行阐述?,答:能。但需要重新开中断,(,13,)设置引脚为,GPIO,功能时,如何控制某个引脚单独输入,/,输出?当需要知道某个引脚当前的输出状态时,是读取,IOPIN,寄存器还是读取,IOSET,寄存器,答:使用,GPIO,引脚输入,/,输出方向控制寄存器,IOxDIR,;,当需要知道某个引脚当前的输出状态时,读取,IOPIN,寄存器,,IOSET,是 控制引脚输出搞电平。,(,16,),LPC2114,具有几个,UART,是符合什么标准?哪一个,UART,可用作,ISP,通信?哪一个,UART,具有,MODEM,接口?,答:,UART0,,,UART1,;,UART0,用于,ISP,通信,,UART1,具有,MODEM,接口,。,二、计算题,假设有一个基于,LPC2114,的系统,所使用的晶振为,11.0592MHz,晶振。请计算出最大的系统时钟为多少,MHz?,此时,PLL,的,M,值和,P,值,为多少?并编写,PLL,的程序段,解:,LPC2214,最大的系统时钟频率是,60MHz,,,Fcclk,M*Fosc=60MHZ,Fosc,11.0592MHz,所以,M=5,Fcclk,Fosc*M=55.296MHz,又,156MHzFcco320MHz,P=Fcco/(Fcclk*2),当,Fcco,取,156MHZ,时,,P=1.3,当个,Fcco,取最高频率时即,320,时,,P=2.67,所以,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)|(05);,break;,case 4:,plldat=(Fcclk/Fosc)-1)|(15);,break;,case 8:,plldat=(Fcclk/Fosc)-1)|(25);,break;,case 16:,plldat=(Fcclk/Fosc)-1)|(35);,break;,default:,return(FALSE);,break;,PLLCON=1;,PLLCFG=plldat;,PLLFEED=0 xaa;,PLLFEED=0 x55;,while(PLLSTAT,PLLCON=3;,PLLFEED=0 xaa;,PLLFEED=0 x55;,return(TRUE);,4,、填空,PINSEL0=0 x00000000;,PINSEL1=,(PINSEL1&0XFFFFFFFC)|0 x01,;/,设置,I/O,口连接。,P0.16,设置为,EINT0,EXTMODE=,EXTMODE&0 x0E,;/,设置,EINT0,为电平触发模式,EXTPOLAR=,EXTPOLAR&0 x0E,;/,设置,EINT0,为低电平触发,EXTWAKE=,0 x01,;/,允许外部中断,0,唤醒掉电的,CPU,EXTINT=0 x0F ;/,消除外部中断标志,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 医学/心理学

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服