ARM嵌入式系期末考试练习题_1. 下载本文

不能用作GPIO,SSEL应设这高电平,处于末激活状态。

(11)LPC2114具有几个UART是符合什么标准?哪一个UART可用作ISP通信?哪一个UART具有MODEM接口?

UART0,UART1;UART0用于ISP通信,UART1具有MODEM接口。

(12)LPC2114具有几个32位定时器?PWM定时器是否可以作通用定时器使用? 两个32位定时器,PWM定时器不能用作通用定时器使用

(13)LPC2000系列ARM7微控制器具有哪两种低耗模式?如何降低系统的功耗? 2 个低功耗模式:空闲和掉电;

2、计算PLL设置值:

假设有一个基于LPC2114的系统,所使用的晶振为11.0592MHZ石英晶振。请计算出最大的系统时钟(ccls)频率为多少MHZ?此时PLL的M值和P值各为多少?请列出计算公式,并编写设置PLL的程序段。

3、存储器重影射:

(1)LPC2210具有( 4 )种存影射模式。 ①3 ②5 ③1 ④4

(2)当程序已固化到片内Flash,向量表保存在0x00000000起始处,则MAP〔1:0〕的值应该为( 2 )。 ①00 ②01 ③10 ④11

(3)LPC2000系列APM7微控制器ccq重影射的目标起始地址为( ),共有( )个字。

①0x00000000,8 ②0x40000000,8 ③0x00000000,16 ④0x7FFFE000,8 4、外部中断唤醒掉电设计:

以下代码是初始化外部中断0,用它来唤醒掉电的LPC2114,请填空。

PINSEL0=0x00000000;

PINSELI = (PINSEL1&0XFFFFFFFC|0X01; //设置I/O连接,PO.16设置为EINTO EXTMODE =0X00; //设置EINT0为电平触发模式 EXTPOLAR=0X00; //设置EINT0为低电平触发

EXTWAKE =0X01; //允许外部中断0唤醒掉电的CPU EXTINT=0x0F; //清除外部中断标识

第四章

程序清单4.1寄存器相加 ;文件名:TESTI.S

;功能:实现两个寄存器相加 ;说明:使用ARMulate软件仿真调试

AREA Examplel,CODE,READONLY ;声明代码段Examplel ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令 START MOV R0,#0 ;设置参数 MOV R1,#10

LOOP BL ADD_SUB ;调用子程序ADD_SUB B LOOP ;跳转到LOOP ADD_SUB

ADDS R0,R0,R1 ;R0=R0+R1 MOV PC,LR ;子程序返回 END ;文件结束

程序清单4.2 读取SMI立即数 T_bit EQU 0X20 SWI_Handler

STMFD SP!,{R0_R3,R12,LR} ;现场保护 MRS R0,SPSR ;读取SPSR STMED SP!,{R0} ;保存SPSR TST R0,#T_bit ;测试T标志位

LDRNEH R0,[LR,#_2] ;若是Thumb指令,读取指令码(16位)

BICNE R0,R0,,#0xFF00 ;取得Thumb指令的8位立即数 LDREQ R0,[LR,#_4] ;若是ARM指令,读取指令码(32位) BICEQ R0,R0,#0Xff000000 ;取得ARM指令的24位立即数 ……

LDMFD SP!,{ R0_R3,R12,PC} ;SWI异常中断返回 程序清单4.3使用IRQ中断 ENABLE_IRQ MRS R0,CPSR BIC R0,R0,#0x80 MSR CPSR_C,R0 MOV PC,LR

程序清单4.4禁能IRQ中断 DISABLE_IRQ MRS R0 CPSR ORR R0,R0,#0x80 MSR CPSR_C,R0 MOV PC,LR

程序清单4.5堆栈指令初始化 INTSTACK

WOV R0,LR ;保存返回地址 ;设置管理模式堆栈 MSR CPSR_C,#0xD3 LDR SP,stacksvc ;设置中断模式堆栈 MSR CPSR_C,#0xD2 LDR SP,Stacklrq ……

程序清单4.6小范围地址的加载 ……

ADR R0,DISP_TAB ;加载转换表地址

LDRB R1,[R0,R2] ;使用R2作为参数,进行查表 …… DISP_TAB

DCB 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 程序清单4.7中等范围地址的加载 ……

ADR LR,RETURNI ADRL R1,Thumb_sub+1 BX R1 RETURNI …… CODE 16 Thumb_sub MOV R1,#10 ……

程序清单4.8加载32位立即数 ……

LDR R0,=IOPIN ;加载GPIO的寄存器IOPIN的地址 LDR R1,[R0] ;读取IOPIN寄存器的值 ……

LDR R0,=IOSET LDR R1,=0x00500500

STR R1,[R0] ;IOSET=0x00500500 ……

程序清单4.9软件延时

…… DELAYI NOP NOP NOP

SUBS R1,R1,#1 BNE DELAYI ……

程序清单4.10 ARM到Thumb的状态切换 ;文件名:TEST8.S

;功能:使用BX指令切换处理器状态 ;说明:使用ARMulate软件仿真调试 AREA Example8,CODE,READONLY ENTRY CODE32

ARM_CODE ADR R0,THUMB_CODE+1 BX R0 ;跳转并切换处理器状态 CODE16 THUMB_CODE MOV R0,#10 ;R0=10 MOV R1,#20 ;R1=20 ADD R0,R1 ;R0=R0+R1 B

END 第一章 思考与练习

(③)不是常规意义上的嵌入式系统。P6