ARM嵌入式系统基础教程(第2版)习题答案-周立功.docx

上传人:夺命阿水 文档编号:499597 上传时间:2023-08-03 格式:DOCX 页数:9 大小:42.15KB
返回 下载 相关 举报
ARM嵌入式系统基础教程(第2版)习题答案-周立功.docx_第1页
第1页 / 共9页
ARM嵌入式系统基础教程(第2版)习题答案-周立功.docx_第2页
第2页 / 共9页
ARM嵌入式系统基础教程(第2版)习题答案-周立功.docx_第3页
第3页 / 共9页
ARM嵌入式系统基础教程(第2版)习题答案-周立功.docx_第4页
第4页 / 共9页
ARM嵌入式系统基础教程(第2版)习题答案-周立功.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《ARM嵌入式系统基础教程(第2版)习题答案-周立功.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式系统基础教程(第2版)习题答案-周立功.docx(9页珍藏版)》请在课桌文档上搜索。

1、第1章嵌入式系统概述(1)举出3个本书中未提到的嵌入式系统的例子。答:键盘、鼠标、扫描仪。(2)什么叫嵌入式系统?答:嵌入到对象体系中的专用计算机应用系统。(3)什么叫嵌入式处理器?嵌入式处理器分为哪几类?答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。分为3类:1.留意尺寸、能耗和价格;2.关注性能;3.关注全部4个需求性能、尺寸、能耗和价格。(4)什么是嵌入式操作系统?为何要运用嵌入式操作系统?答:嵌入式操作系统是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的元素发展而来的。缘由:1.提高了系统的牢靠性;2.提高了开发效率,缩短了开发周期。3.充分发挥了3

2、2位CPU的多任务潜力。第2章ARM7体系结构1 .基础学问(I)ARM7TDMI中的T、D、M、I的含义是什么?答:T:高密度16位ThUmb指令集扩展;D:支持片上调试;M:64位乘法指令;I:EmbeddedICE硬件仿真功能模块。(2)ARM7TDMI接受几级流水线?运用何种存储器编址方式?答:3级流水线;字节编址方式。(3)ARM处理器模式和ARM处理器状态有何区分?答:ARM处理器模式体现在不同寄存器的运用上;ARM处理器状态体现在不同指令的运用上。(4)分别列举ARM的处理器模式和状态?答:ARM的处理器模式:用户模式、系统模式、管理模式、中止模式、未定义模式、中断模式、快速模式

3、;ARM的处理器状态:ARM状态、ThUmb状态。(5)PC和LR分别运用哪个寄存器?答:PC:R15;LR:R14o(6)R13寄存器的通用功能是什么?答:堆栈指针SP。(7)CPSR寄存器中哪些位用来定义处理器状态?答:位3128:N、Z、C、V,条件代码标记位;278:保留位;70:I、F、T、M40,限制标记位。(8)描述一下如何禁止IRQ和FIQ的中断。答:当限制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能;当限制位F置位时,FlQ中断被禁止,否则允许FIQ中断使能。2 .存储器格式答:无论是大端格式还是小端格式,R2的值与R1一样;地址0x4000单元的字节:大端:OXI2

4、、小端:0x78。3 .处理器异样请描述一下ARM7TDMI产生异样的条件是什么?各种异样会使处理器进入哪种模式?进入异样时内核有何操作?各种异样的返回指令又是什么?答,【异样】【模式】【返回指令】复位管理无未定义未定义MOVSPC,R14软件中断管理MOVSPC,R14中止中止SUBSPC,R14,#4保留中止SUBSPC,R14,#8IRQ中断SUBSPC,R14,#4FIQ快速中断SUBSPC,R14,#4进入异样时,内核自动做:PCTLR、CPSRT相应异样模式下的SPSR、设置CPSR为相应的异样模式、相应异样处理程序的中断入口向量地址TPC。第3章ARM7TDMI(-S)指令系统1

5、 .基础学问ARM7TDMI(-S)有几种寻址方式?“LDRR1,R0,#0x08”属于哪种寻址方式?答:有8种寻址方式:1.寄存器寻址2.立刻寻址3.寄存器移位寻址4.寄存器间接寻址5.基址寻址6.多寄存器寻址7.堆栈寻址8.相对寻址;“LDRR1,R0,#0x08属于基址寻址。(2)ARM指令的条件码有多少个?默认条件码是什么?答:16个;ALo(3)ARM指令中的第2个操作数有哪几种形式?列举5个8位图立刻数。答:1.常数表达式(8位图)2.寄存器方式3.寄存器移位方式;0x3FC、0、0xF0000000.200、0xF0000001o(4)LDRSTR指令的偏移形式有哪4种?LDRB

6、指令和LDRSB指令有何区分?答:1.零偏移2.前索引偏移3.程序相对偏移4.后索引偏移;LDRB:加载无符号字节数据,LDRSB加载有符号字节数据(5)请指出MOV指令与LDR加载指令的区分及用途?答:MOV指令的源操作数是常数或(带偏移量的)寄存器,用于寄存器之间的数据传送;LDR指令的源操作数是地址,用于存储器到寄存器的数据传送。(6)CMP指令是如何执行的?写一程序,推断Rl的值是否大于0x30,是则将R1减去0x30。答:CMP指令将Rn-operand2,依据结果更新CPSR中的相应条件标记位。CMPR1,0x30SUBHIR1,0x30(7)调用子程序是用B指令还是用BL指令?请

7、写出返回子程序的指令。答:用BL;MOVPC,R14o(8)请指出LDR伪指令的用法。指令格式与LDR加载指令的区分是什么?答:用法:LDRcondRd,=立刻数/标号+立刻数;LDR伪指令的源操作数是代表一个常数,LDR加载指令的源操作数代表一个地址。(9)ARM状态与Thumb状态的切换指令是什么?请举例说明。答:BX;;从ARM状态切换到Thumb状态CODE321.DRR0,=Lable+1BXROCODE161.ableMOVR1,#12;从Thumb状态切换到ARM状态CODE161.DRROj=LabIeBXROCODE321.ableMOVR1,#10(W)Thumb状态与AR

8、M状态的寄存器有区分吗?Thumb指令对哪些寄存器的访问受到确定限制?答:有区分;R8R150(II)ThUmb指令集的堆栈入栈、出栈指令是哪两条?答:PUSH、POPo(12)ThUmb指令集的BL指令转移范围为何能达到4MB?其指令编码是怎样的?答:BL指令事实上是两条指令,其编码为:11110地址偏移高11位、IllII地址偏移低11位,地址编码22位,再左移一位(半字对齐),23位地址寻址8MB,BP4MBo2 .有符号和无符号加法答:(1)Oxffffooof(八)+0x0000FFF1(B)(0x00000000)NZCV=O110假如两个操作数是有符号数,A是负数,B是正数,和是

9、0,没有溢出,所以V=Oo假如两个操作数是无符号数,和是0,有进位,所以C=1。(2)0x7FFFFFFF(八)0x02345678(B)(0x82345677)NZCV=I001假如两个操作数是有符号数,A是正数,B是正数,和是负数,有溢出,所以V=1o假如两个操作数是无符号数,没有进位,所以C=0。67654321(八)+23110000(B)(0x0568F421)NZCV=0000假如两个操作数是有符号数,A是正数,B是正数,和是正数,没有溢出,所以V=Oo假如两个操作数是无符号数,没有进位,所以C=0。第五章1、基础学问:(1)LPC2114可运用的外部晶振频率范围是多少(运用/不运

10、用PLL功能时)?晶振频率范围:130MHz,若运用PLL或ISP功能为:1025MHz.(2)描述一下LPC2210的PcM4、P1.20、P1.26、B00T1和BOOTO引脚在芯片复位时分别有什么作用?并简洁说明LPC2000系列ARM7微限制器的复位处理流程。P0.14的低电平强制片内引导装载程序复位后限制器件的操作,即进入ISP状态。P1.20的低电平使P1.25-P1.16复位后用作跟踪端口。P1.26的低电平使P1.31-P1.26复位后用作一个调试端口。当RESET为低时,BOOTO与BOoTl一同限制引导和内部操作。引脚的内部上拉确保了引脚未连接时呈现高电平。外部复位输入:当

11、该引脚为低电平常,器件复位,I/O口和外围功能进入默认状态,处理器从地址O起先执行程序。复位信号是具有迟滞作用的TTL电平。(3)LPC2000系列ARM7微限制器对向量表有何要求(向量表中的保留字)?向量表全部数据32位累加和为零(OXOOOOOOoOOXOOOOOOlC的8个字的机器码累加),才能脱机运行用户程序,这是LPC2114/2124/2212/2214的特性。(4)如何启动LPC2000系列ARM7微限制器的ISP功能?相关电路应当如何设计?(5)LPC2000系列ARM7微限制器片内FlaSh是多位宽度的接口?它是通过哪个功能模块来提高FIaSh的访问速度?128位,通过存储器

12、加速模块(MAM)来提高FIaSh的访问速度(6)若LPC2210的BANKo存储块运用32位总线,访问BANKo时,地址线A1、AO是否有效?EMC模块中的BLSOBLS4具有什么功能?无效,(假如存储器组配置成16位宽,则不须要A0;8位宽的存储器组须要运用AOo);字节定位选择信号。(7)LPC2000系列ARM7微限制器具有引脚功能复用特性,那么如何设置某个引脚为指定功能?通过引脚功能选择寄存器的设定来设置某个引脚为指定功能(8)设置引脚为GPlO功能时,如何限制某个引脚单独输入/输出?当前要知道某个引脚当前的输出状态时,是读取IOPIN寄存器还是读取IOSET寄存器?GPlO方向寄存

13、器,IOPINo(9)P0.2和P0.3口是I2C接口,当设置它们为GPlo时,是否须要外接上拉电阻才能输出高电平?(10)运用SPl主模式时,SSEL引脚是否可以作为GPIO?若不能,SSEL引脚应如何处理?(11) 不能用作GPIO,SSEL应设这高电平,处于末激活状态。(12) 1.PC2114具有几个UART是符合什么标准?明个UART可用作ISP通信?哪一个UART具有MODEM接口?(13) UARTO,UART1;UARTO用于ISP通信,UARTl具有MoDEM接口。(14) 1.PC2114具有几个32位定时器?PWM定时器是否可以作通用定时器运用?(15) 两个32位定时器

14、,PWM定时器不能用作通用定时器运用(16) 1.PC2000系列ARM7微限制器具有哪两种低耗模式?如何降低系统的功耗?2个低功耗模式:空闲和掉电;2、计算PLL设置值:假设有一个基于LPC2114的系统,所运用的晶振为11.0592MHZ石英晶振。请计算出最大的系统时钟(CCIS)频率为多少MHZ?此时PLL的M值和P值各为多少?请列出计算公式,并编写设置PLL的程序段。3、存储器重影射:(I)LPC2210具有(4)种存影射模式。3514(2)当程序已固化到片内FIaSh,向量表保存在OXOoOOOoOO起始处,则MAP(1:0)的值应当为(2)。00011011(3)LPC2000系列

15、APM7微限制器CCq重影射的目标起始地址为(),共有()个字。OXOOOOOO00,80x40000000,8OXOooOOo00,160x7FFFE000,84、外部中断唤醒掉电设计:以下代码是初始化外部中断0,用它来唤醒掉电的LPC2114,请填空。PINSELO=OxOOOOOOOO;PINSELI=(PINSEL1&0XFFFFFFFC)|0X01;设置I/O连接,PeM6设置为ElNTOEXTMODE=0X00;设置日NTo为电平触发模式extpolar=oxoo:设置einto为低电平触发EXTWAKE=0X01;允许外部中断0唤醒掉电的CPUExtint=OxOF:清除外部中断

16、标识第四章程序清单4.1寄存器相加;文件名:TESTLS:功能:实现两个寄存器相加;说明:运用ARMUIate软件仿真调试AREAExamplel,CODE,READONLY;声明代码段EXamPIelENTRY:标识程序入口CODE32;声明32位ARM指令STARTMOVR0,#0;设置参数MOVR1,#10LOOPBLADD_SUB;调用子程序ADD_SUBBLOOP;跳转到LOoPADD_SUBADDSR0,R0,R1;R0=R0+R1MOVPC,LR:子程序返回END;文件结束程序清单4.2读取SMl立刻数T_bitEQU0X20SWLHandIerSTMFDSP!,R0_R3,R1

17、2,LR;现场爱惜MRSRO, SPSRSTMEDSP! , R0TSTRO, #T_bitLDRNEHRO, LR, #_2BICNERO, RO, #OxFFOOLDREQRO, LR, #_4BICEQ RO, RO, #OXffOOOOOOLDMFD SP! , R0_R3, R12,程序清单4.3运用IRQ中断enablejrqMRS RO, CPSRBIC RO, RO, #0x80MSR CPSR_C, ROMOV PC, LR程序清单4.4禁能IRQ中断DisablejrqMRS RO CPSRORR RO, RO, #0x80MSR CPSR_C, ROMOV PC, LR;

18、读取SPSR;保存SPSR;测试T标记位;若是ThUmb指令,读取指令码(16位);取得ThUmb指令的8位立刻数;若是ARM指令,读取指令码(32位) ;取得ARM指令的24位立刻数PC ; SWl异样中断返回程序清单4.5堆栈指令初始化IntstackWOVRO,LR;保存返回地址;设置管理模式堆栈MSRCPSR_C,#0xD31.DRSP,Stacksvc:设置中断模式堆栈MSRCPSR_C,#0xD21.DRSP,Stacklrq程序清单4.6小范围地址的加载ADRRO,DISP_TAB;加载转换表地址1.DRBR1,RO,R2;运用R2作为参数,进行查表DISP_TABDCBOXCO

19、,0xF9,0xA4,OXBO,0x99,0x92,0x82,0xF8,0x80,0x90程序清单4.7中等范围地址的加载ADRLR,RETURNIADRLR1,Thumb_sub+1BXR1RETURNICODE16Thumb_subMOVR1,#10程序清单4.8加载32位立刻数LDR1.DRR0,=IOPINR1,RO;加载GPIO的寄存器IOPIN的地址;读取IoPIN寄存器的值LDRRO,=IOSETLDRR1,=0x00500500STRR1,RO;IOSET=0x00500500程序清单4.9软件延时DELAYINOPNOPNOPSUBSR1,R1,#1BNEDELAYI程序清单4.10ARM到ThUmb的状态切换;文件名:TEST8.S;功能:运用BX指令切换处理器状态;说明:运用ARMUIate软件仿真调试AREAExample8,CODE,READONLYENTRYCODE32ARM_CODEADRBXROCODE16RO,THUMB_CODE+1;跳转并切换处理器状态THUMB_CODEMOVRO,#10MOVR1,#20ADDRO,R1BEND;R0=10;R1=20;R0=R0+R1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号