2023年西安邮电大学嵌入式课后答案_第1页
2023年西安邮电大学嵌入式课后答案_第2页
2023年西安邮电大学嵌入式课后答案_第3页
2023年西安邮电大学嵌入式课后答案_第4页
2023年西安邮电大学嵌入式课后答案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统开发习题11.什么是嵌入式系统?有何特点?答:嵌入式系统的概念有很多种,在嵌入式系统领域中比较认同的嵌入式系统的概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,合用于应用系统对功能、可靠性、成本、体积、功耗有严格规定的专用计算机系统。嵌入式系统的特点:⑴嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。⑵系统内核小。由于嵌入式系统一般是应用于小型电子装置中,系统资源相对有限,所以内核较之传统的操作系统要小得多。⑶专用性强。(4)系统精简。(5)系统软件(OS)规定具有高实时性。(6)嵌入式软件开发要走向标准化,需要使用多任务的操作系统。⑺嵌入式系统自身并不具有在其上进行进一步开发的能力。2.嵌入式系统可以分为几层?每一层各完毕哪些功能?答:嵌入式系统由硬件层、中间层、软件层和功能层组成。硬件层:以嵌入式微解决器为核心,存储器用以存储数据和执行代码,相关的设备接口和I/O接口,这些组成了一个嵌入式系统的基础,实现逻辑运算,算术运算等。中间层:将系统上层软件和底层硬件进行分离,封装成标准的接口,在上层软件开发人员无需知道底层硬件的具体情况,完毕的任务是底层硬件的初始化、数据的输入/输出操作、硬件的配置等功能。N:运算结果的最高位反映在该标志位。对于有符号二进制补码,结果为负数时N=l,结果为正数或零时N=0;Z:指令结果为。时Z=1(通常表达比较结果"相等”),否则z=o;C:当进行加法运算,最高位产生进位时C=l,否则C=0。当进行减法运算(涉及CMP指令),最高位产生借位时C=0,否则C=l。V:当进行加法/减法运算,并且发生有符号溢出时V=l,否则V=0,其它指令V不变。(2)CPSR的最低8位为控制位,控制了解决器的工作方式。当发生异常时,这些位被硬件改变。当解决器处在一个特权模式时,可用软件操作这些位。它们分别是:中断严禁位涉及I和F位:当I位置位时,IRQ中断被严禁;当F位置位时,FIQ中断被严禁。T位反映了解决器的当前状态:当位T=1时,解决器正在Thumb状态下运营;当位T=0时,解决器正在ARM状态下运营。模式位涉及M[4:0]共计5bit,这些位决定解决器的操作模式.简述ARM7TDMI内部有哪些寄存器及特点。答:ARM7微解决器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。37个寄存器定义如下:31个通用寄存器:R0〜R15、R8_fiq、R9_fiq、R10_fiq>Rll_fiq、R12_fiq、R13fiq、R14fiq、R13svc、R14svc、R13abt、R14abt、R13und、R14und、R13_irq>R14Jrqo6个状态寄存器:CPSRsSPSR_abt、SPSR.svc、SPSRJrq、SPSR_fiq、SPSR.undo特点:在ARM状态中,RO〜R7是通用寄存器,是不分组寄存器;R8〜R14,SPSR根据模式进行分组的寄存器;R15是程序计数器,不进行分组;CPSR是状态寄存器,不进行分组。.什么是ARM解决器的异常?ARM解决器中有哪几种异常?答:在ARM中,异常是一些事件,这些事件能导致正常的程序执行流程被暂时地停止,而进入到该事件相应的解决器异常模式并对该事件进行解决。ARM中定义了复位、未定义指令、SWI(软中断)、预取指终止、预取数终止、irq以及fiq等7种异常,与之相应地ARM7解决器有5种异常模式。.分别简述ARM7的IRQ、FIQ异常解决过程,说明其异常向量地址。答:IRQ异常的解决流程如下:⑴进入IRQ异常模式。程序运营在用户模式下,当一个IRQ异常中断发生时,内核切换到“中断模式”,并自动的做如下解决。①将异常解决程序的返回地址保存到异常模式下的R14(R14_irq)中。②用户模式的CPSR将被保存到中断异常模式SPSRJrq中。③修改CPSR,将I置1,严禁新的IRQ中断产生,但不改变F值,不限制FIQ中断发生,清零T标志位,进入ARM状态,修改模式位,设立为IRQ模式。④将IRQ异常中断入口向量地址0x00000018送入PC。⑤在IRQ模式下,用户模式的R13和R14将不能操作,而R13_irq和R14_irq可以操作,即R13_irq保存IRQ模式下的地址指针,R14_irq保存了“IRQ中断返回地址+4”。⑵退出IRQ异常模式。中断服务程序执行完毕后,使用一条指令将返回地址送入PC,即可实现IRQ中断返回,在返回过程中解决器会自动将SPSRJrq中的内容复制到CPSR,恢复中断前的解决器状态。FIQ异常进入与退出的流程与IRQ类似,其异常入口地址是0x0000001Co.ARM7解决器对哪些异常可以进行屏蔽?如何屏蔽或允许?答:FIQ和IRQ可以被屏蔽。将CPSR的标志位1和F分别置位相应着IRQ和FIQ中断被严禁,清零这些位又可以将其使能。.说明CPSR中T位的作用,ARM7解决器如何切换状态?答:CPSR中T标志位为0时解决器工作在ARM状态,为1时解决器工作在Thumb状

态。由于ARM采用字对齐或者半字对齐的存储模式,这意味着地址的最低一个比特位就不会在寻址过程中使用到。故,使用地址的最低位进行区分,以何种模式取值和执行指令,本地址地位为1时,,置CPSR的T位为1,反之,置位为Oo.大端存储模式和小端存储模式的含义是什么?画出在0x2023单元中存储0x87654321数据的大端存储模式和小端存储模式。答:大端存储模式:在大端存储格式中,对于地址为A的字单元,其中字节的低位字节到高位字节地址顺序为A+3,A+2,A+l,A;对于地址为A的半字单元,其中字节的低位字节到高位字节地址顺序为A+l,Ao即数据的低字节存放在高地址中的顺序进行存储。小端存储模式:在小端存储格式中,对于地址为A的字单元,其中字节的低位字节到高位字节地址顺序为A,A+l,A+2,A+3;对于地址为A的半字单元,其中字节的低位字节到高位字节地址顺序为A,A+lo即数据的高字节存放在高地址中的顺序进行存储。0x70?3上图中,良网去大端存储模式,右侧为小0x?,0?.30x70?3上图中,良网去大端存储模式,右侧为小0x?,0?.3习题31、ARM7TDMI支持哪几种指令集,各有什么特点?答:支持ARM指令集和Thumb指令集,各自特点是ARM指令集的指令是32位,执行效率高、功能全,每条指令可以根据条件执行,但是代码密度低。Thumb指令集指令是16位,在功能上是ARM指令集的子集,功能并没有减少。2、ARM指令的寻址方式有几种?并指出下列指令中的寻址方式。答:ARM指令的寻址方式有8种,分别为立即寻址、寄存器寻址、寄存器移位寻址、寄存器间接寻址、基址变址寻址、相对寻址、多寄存器寻址、堆栈寻址。(1)SUBRO,RI,R2寄存器寻址⑵LDRRO,[R2]寄存器间接寻址(3)MVNRO,#0x0F2立即寻址⑷LDMIARO,{R1-R5}多寄存器寻址STRR2JR4,#0x02]!基址变址寻址⑹LDRRI,[R2,R3]基址变址寻址MOVRI,RI,ROR#2寄存器移位寻址⑻LDRR1JR3],#0x04基址变址寻址3、简述ARM指令集中第2个操作数(operand!)的三种形式。答:⑴常数表达方式。该常数必须相应8位位图,即常数是由一个8位的常数循环右移偶数位得到。例如:MOVR2,#100;⑵寄存器方式。Operand2是Rm寄存器方式,在寄存器方式下操作数即位寄存器中的数值。例如:SUBR0,RI,R2;⑶寄存器移位方式。Rm,shift表达将寄存器的移位结果作为操作数,但Rm值保持不变。例如:MOVR0,RI,RRX;将RI带扩展的循环右移1位,存入R0中。4、指出下列指令是否对的,若不对的请说明因素。⑴MOVSR1,101不对的,立即寻址方式应当是#101MVNRl,#0xl0F对的STMDARll,{R2-R8}!不对的,不能同时存储在R2和R8中ADDR0!,R2,#4对的⑸LDRR4,[R5]!不对的,LDR是存储到单个寄存器的加载指令,而这个是两个存储器都进行存储,应当为LDRR4,[R5]MRSPC,CPSR不对的MRS是将CPSR传送到通用寄存器中,但这里的通用寄存器不涉及R15,即PCLDMFDSR0!,{R5-R8,R2}对的ADDR3,[R3],R7不对的,ADD指令不能访问存储器LDRRll,[R15,R8]!对的BXSR0对的5、何谓ARM指令的条件码?默认的条件码是什么?举例说明ARM指令的条件码对指令执行的影响。答:所谓的ARM指令的“条件执行”是指在指令码中具有本条指令的执行条件,当CPSR中的条件码标志满足时,解决器执行本条指令,否则本条指令不执行。默认是无条件执行。比如执行指令"ANDEQR2,R1,R3”时,假如CPSR中的Z=1时,执行R2=R1&R3,否则不执行该指令。6、解释“满堆栈”、“空堆栈”、“递增堆栈”和“递减堆栈”?ARM指令系统中是如何支持的?答:满堆栈:堆栈指针SP指向最后压入的堆栈有效数据项。空堆栈:堆栈指针SP指向下一个待压入数据的空位置。递增堆栈:向高地址方向生长。递减堆栈:向低地址方向生长。⑴满递增:堆栈向上增长,SP指向内具有效数据项的最高栈单元。指令如LDMFA、STMFA等;⑵空递增:堆栈向上增长,SP指向堆栈上的第一个空位置。指令如LDMEA、STMEA等;⑶满递减:堆栈向下增长,SP指向内具有效数据项的最低栈单元。指令如LDMFD、STMFD等;⑷空递减:堆栈向下增长,SP指向堆栈下的第一个空位置。指令如LDMED、STMED等。7、试说明MOV指令、LDR加载指令和LDR伪指令三者的区别。答:MOV指令是在寄存器间进行数据传送,影响标志位。LDR指令是将存储器中的数据按给定地址加载到寄存器中,不影响标志位。LDR伪指令是可以在一个立即数前面加等号,把一个地址写入某寄存器。8、解释B指令、BL指令与BX指令的功能差别,并举例说明其使用方法。

答:B指令是分支指令,BL指令是带链接的分支指令,BX是带状态切换的分支指令。对于B指令“BWAITA”指跳转至标号WAITA处开始执行,B指令的跳转范围为土32M,对于BL指令,实现程序跳转,并保持PC到链寄存器LR中,跳转范围±32M,举例"BLDELAY"完毕的跳转至标号DELAY处执行,并把PC-4存入LR。BX指令,带状态切换的跳转,比如“BXRO”表达跳转R0指定的地址开始执行,并查看R0[0]位的值,假如是1,对CPSR的T位置位,解释目的程序为Thumb指令,假如是0,对CPSR的T位清零,解释目的程序为ARM指令。9、分析下列两段程序片断的功能,9、分析下列两段程序片断的功能,试用类C语言写出其等价功能。程序片断1:CMPRO,RIADDHIRO,R0,#lADDLS程序片断1:CMPRO,RIADDHIRO,R0,#lADDLSRI,Rl,#lif(R0>Rl)R0++;else程序片断2:CMPRO,#10CMPNERI,#20if((RO!=10)&&(Rl!=20))RO=RO+R1;10、使,RI4-4-;二执行功能,试用汇编语言实现下列两条C代码语句。if(x二二y)if(x==y)&&(a==b)LDRR0,x答.LDRR0,x答.LDRR0,xLDRRl,yLDRR2,b11.LDRR3,c答.LDRR0,xLDRRl,yLDRR2,b11.LDRR3,cCMPR0.R1(1)MRbKU,CPSR中断和关I_一LDRRl,yLDRR2,aLDRR3,bLDRR4,cCMPRO,RIBICRI,R0,0x80BICRI,R0,0x80ORRR1,RL#Qx8012、假如BICRI,R0,0x80ORRR1,RL#Qx80后,各寄存器及存储单元中内容变化情况。

⑴STMIAR13!,{R0-R3}答:(1),[R13]-R⑴STMIAR13!,{R0-R3}答:(1),[R13]-R。[R13+4]-RI习题4(2)LDMDBR13,{R0-R3}(2),RO-[R13],R1-Rl+4;RI-[R13],R1-Rl+4;R2-「R121R1-R1+4・答:计算机语言是计算机可以辨认、理解的语言。计算机语言分为三类:机器语言,汇编语言和高级语言。机器语言(MachineLanguage)是由。和1二进制代码表达和存储的指令与数据。它的特点是能被机器直接辨认与执行;程序所占内存空间较少。其缺陷是难认、难记、难编、易错。汇编语言是一种面向物理层操作的计算机语言。不同的解决器类型,具有不同的汇编语言。使用汇编语言编写程序可以直接运用硬件系统的特性(如寄存器、标志、中断系统等),可直接对位、字节、字寄存器或存储单元、I/O端口进行解决,同时也能直接使用CPU指令系统提供的各种寻址方式,编制出高质量的程序,这样的程序不仅占用内存空间少,并且执行速度快。缺陷:由于汇编语言不直接支持复杂的抽象数据类型,在描述目的系统模型时,需耍程序员自己组织各种抽象数据类型的存储方式,使得汇编语言程序设计较高级语言困难的多,需要较多的软件开发时间,也增长了程序设计过程中犯错的也许性,程序维护也麻烦。高级语言(HighLevelLanguage)是脱离具体机器(即独立于机器)的通用语言,不依赖于特定计算机的结构与指令系统。与目的系统的数学模型之间有着良好的相应关系,可在各种机器上通用,具有很好的通用性和可移植性。缺陷:解决器是不能直接执行这种用高级语言编写的源程序,需要先将它翻译成相应的目的程序(即机器语言程序),才干运营。.简述ARM汇编语言上机操作过程。答:⑴设计、编辑汇编语言源程序;汇编、连接、下载到目的系统;⑶调试运营;.简述编写一个汇编语言源程序的基本环节。答:⑴分析目的系统,建立数学模型,拟定算法⑵根据算法设计流程图⑶合理分派寄存器,存储空间和外设资源(4)根据流程图编写源程序⑸上机调试程序(6)形成文档.循环程序设计中,循环的基本结构有几种?其循环控制方法有几种?各自的应用特点?答:循环程序的基本结构:⑴初始化部分:建立循环初始值。⑵循环体:是循环程序的主体部分。⑶修改部分:为执行下一次循环而修改某些参数。(4)控制部分:通过判断循环结束条件是否成立,决定是否继续执行循环。(5)结束解决部分:对循环结束进行适当解决,如存储结果和打印输出等。循环程序设计中一个重要环节就是如何控制循环次数。循环控制方法:⑴用计数控制循环。特点:循环比较次数是已知的,因此可以用计数器控制循环。⑵用条件控制循环。有些情况无法拟定循环次数,但循环结束的条件是已知的,这时可通过循环测试结束条件是否满足的方法,条件满足结束循环,否则继续循环。5,汇编子程序传递参数有哪几种方式?答:⑴寄存器传递参数方式⑵存储区域传递参数方式⑶堆栈传递参数方式.C语言和ARM汇编语言进行程序编制时常用的开发方法有哪些?答:使用C语言和ARM7汇编语言进行程序编制时常用的开发方法:混合编程和交叉编程。.简述APCS规则。答:⑴寄存器使用规则。ARM解决器寄存器组中的{R0-R11}用来保存局部变量;{RI2-R15}用于系统专用:R12用于子程序内部调用的片段寄存器;R13当前模式的堆栈指针;R14链接寄存器,保存子程序的返回地址;R15用作程序计数器。其中,由于{R4-R11}用来保存局部变量,对于遵守APCS规则的函数,在进入该函数的时候,程序员必须注意保存{R4-R11}中会被函数使用的寄存器,当返回时,再返回它们的值。⑵堆栈使用规则。APCS规则中的堆栈为FD类型,也就是满递减堆栈,并且堆栈的操作是8字节对齐的,所以需要在汇编程序中用伪指令PRESERVE8来告诉连接器,本程序使用的堆栈是字节对齐的。(3)参数传递规则。ARM7解决器寄存器组中{R0-R3}用于程序间的参数传递,其中R0传递第一个参数,R1传递第二个参数,以此类推;假如参数数目超过4个,那么必须使用堆栈进行传递。.实现将某个寄存器中的字数据拆提成4组字节数据的功能。答:不妨设数据在R0中,拆成的数据存放在R1〜R4中,程序代码如下。MOVR1,ROANDRl,Rl,#0xFF;MOVR2,R0,LSR0x08ANDR2,R2,#0xFFMOVR3,R0,LSR#0x08?ANDR3,R3,#0xFFLDRRO,string;将一个字符串的地址放到R0中。MOVRl,0;将字符串结束符放R1中MOVR3,0;将记录长度的放入R3中LDRR2JR0];将字符串的第一个字符放入R2count:.实现10个64位有符号数的相加运算。答:不妨假设这10个64位数紧密排列存储在存储器中,每个64位数占用8个字节的内存空间,按小端模式存放,首地址为spLDRR0,SP;LDRRI,[RO];LDRR2JR0,#-4];MOVR3,#9;count:CMPR3,#0;BEQnext;LDRR4,[R0,#-8];anrRIRIR4-.实现如下功能:已知BUF1中有N1个按从小到大顺序排列的互不相等的字符号数,BUF2中有N2个从小到大顺序排列的互不相等的字符号数,将BUF1和BUF2中的数合并到BUF3中,并按从小到大顺序排列且互不相等。AREACOPY,CODE,READONLYENTRYCODE32软件层:重要由RTOS、文献系统、图形用户接口、网络系统和通用的组件模块组成,是软件开发的基础。功能层:用来完毕被控对象的控制功能。.嵌入式系统中硬件抽象层有什么特点?答:硬件抽象层是介于硬件层与软件层之间的中间层,它将系统上层软件与底层硬件分离开来,具有以下两个特点:⑴硬件相关性:由于嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,硬件抽象层需要为操作系统提供操作和控制具体硬件的方法。⑵操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。.简述嵌入式解决器的硬件组成?答:随着集成电路集成度的不断提高,嵌入式系统板级的硬件电路模块也越来越多的集成到芯片内部,目前解决器芯片内部的电路模块组成如下:(1)解决器内核,以CPU为核心,有的还包含MMU(存储器管理单元)、Cache(高速缓存)、ICE(在线仿真)等电路模块。⑵DSP/协解决器,对于多媒体解决的解决器,内部一般有DSP(数字信号解决)、浮点运算、图像加速等协解决器。⑶RAM/ROM,在单片机解决器中,解决器芯片内部一般集成了ROM(只读存储器)和RAM(可读可写存储器)。(4)解决器内部控制电路,如PLL(锁相环)、复位、DMA(直接存储器存取)、中断控制器、低功耗控制、看门狗等电路。(5)芯片内部接口电路,如GPIO(通用输入、输出)接口、12c(双向两线制的串行总线)接口、IIS(音频总线)接口、SPI(串行外设接口)、USB(通用串行总线)接口、LCD(液晶显示)接口、ADC/DAC(模数/数模转换)、UART(通用异步收发器)、IrDA(红外接口)、CAN(控制器局域网络)总线接口、以太网接口、Timer/RTC(定期器/计数器)接口等电路模块。LDRBR3=BUF2LDRBR4=BUF3LDRR5=N1LDRR6,=N2ADDR5,R5,R6MOVRI,#0BLLOOPstopMOVR0,#0xl8LDRRI=0x20236SWI0x123456LOOPCMPR5,R1BEQstopLDRBR0,[R2]LDRBR6,[R3]CMPR0,R6BLSCOPY1BHICOPY2COPY1LDRBR0,[R2],#lSTRBR0,[R4],#lamnTn♦"♦习题51、什么是存储器映射?简述LPC2023系列解决器中各种资源是如何映射的?答:将物理存储器分派到逻辑地址的过程称为存储器映射。LPC2023系列解决器中的存储器映射空间范围为:OxOOOOOOOO-OxFFFFFFFF,起始地址依次为:FLASH—0x00000000,SRAM—0x40000000,BOOTBLOCK—0x7FFFE000,夕卜部存彳诸器0x80000000,VPB(低速外设地址)一OxEOOOOOOO,AHB—OxFOOOOOOO.2、什么是重映射?试分析重映射的原理与实现机制。答:存储器重映射:将已经映射过的存储器再次映射的过程称为存储器重映射,它使同一物理存储单元映射多个不同的逻辑地址。原理:此时运用了异常向量表重映射技术,就是BootBlock的0x7FFFE000-0x7FFFE03F,片内SRAM的0x40000000-0x4000003F及片夕卜存储器的0x80000000-0x8000003F向量表分别重映射到0x0000〜0x003F地址空间。实现机制:使用存储器映射控制机制来改变0x0000-0x003F区间的中断向量映射关系,比如LPC2023提供了一个存储映射控制寄存器MEMMAP,可以被读写,低两位为00、01、10、11时分别重映射BootBlock、片内Flash、片内SRAM和片外存储器。3、什么是中断?叙述中断解决过程。答:计算机在执行正常程序过程中,当出现某种异常事件或某种外部请求时,解决器就暂停执行当前的程序,而转去执行对异常事件或某种外部请求的解决操作。当解决完毕后,CPU再返回到被暂停执行的程序,继续执行,这个过程称为中断。中断解决过程一般涉及五个环节:中断请求,中断响应,断点保护,中断解决和中断返回。4、ARM7的中断类型有哪些?哪种方式最快?当有多个中断源同时向CPU发出中断申请时,CPU依据什么来进行响应中断?答:根据中断源的不同,中断可以分为硬件中断和软件中断。有三类:非向量IRQ中断,向量IRQ中断,FIQ中断。它们的优先级依次升高。所以FIQ中断的解决速度最快。当多个中断源同时向CPU发出中断申请时,CPU只能按一定的顺序解决相应和解决,这个响应的顺序称为中断优先级。解决原则为:⑴不同优先级的多个中断源同时发出中断请求,按优先级由高到低依次解决。⑵低优先级中断正在解决,出现高优先级请求,应转去解决高优先级请求,服务结束后再返回原优先级较低的中断服务程序继续执行。⑶高优先级中断正在解决,出现低优先级请求,可暂不响应。(4)中断解决时,出现同级别请求,应在当前中断解决结束以后再解决新的请求。5、LPC2023系列有那些减少功耗的方法?简述空闲模式和掉电模式的区别。答:减少功耗的方法有空闲模式和掉电模式。除了采用这两种模式外,还允许程序对某个外设进行关闭控制,可以独立的关闭应用中不需要的外设,这样进一步减少功耗。空闲模式和掉电模式的区别:在空闲模式下,解决器停止执行指令,此时解决器,存储器,内部总线以及相关的控制器不再消耗功率,但整个系统的时钟仍然有效,外设也能在空闲模式下继续工作,并可产生中断使解决器恢复运营。然而在掉电模式下,振荡器关闭,这样芯片内部没有任何时钟。解决器状态和寄存器,外设寄存器,内部SRAM值以及引脚的逻辑电平在掉电模式下被保持。6、简述LPC2023系列中PLL的工作原理,说明系统时钟的配置过程。答:PLL接受的输入时钟频率范围为10〜25MHz,PLL的输出时钟信号是由电流控制振荡器(CCO)分频得到的,CCO的振荡频率由“相位频率检测”部件控制,该部件会比较输出时钟信号和CCO通过M分频后信号的相位和频率,并根据误差输出不同的电流值以控制CCO的振荡频率,CCO的输出频率通过M分频后再送给“相位频率检测”部件检测以控制CCO的振荡频率,通过反复拉锯调节过程,可以使得“相位频率检测”部件的两路输入信号频率和相位逐步接近,渐渐稳定到预期的频率值上。这种反复拉锯调节过程称为PLL锁定过程,输出频率稳定后即“锁定”成功。其配置过程:.选择解决器的操作频率,选择振荡器的频率,计算M值和P值;.配置PLLCON使能但不连接的PLL的模式,根据P和M的值配置PLLCFG寄存器,发送PLL馈送序列,然后等待PLL锁定或中断;3,连接PLL,发送PLL馈送序列。7、简述LPC2023系列芯片内部向量中断控制器(VIC)的功能特点,假如定期器0作为一个向量中断源,需要对VIC进行哪些配置?简述向量解决过程。答:向量中断控制器(VIC)负责管理芯片的中断源,最多可管理32个中断输入请求,16个向量IRQ中断和1个非向量中断,16个优先级可动态分派给中断请求,可产生软中断。VIC为每一个中断分派中断通道号,通道号就是每一种中断源的唯一标记,中断到来时,根据VIC通道号就能拟定中断源。.配置中断选择寄存器VICIntSelect,中断通道4分派为IRQ中断;.配置寄存器VICVectAddrO,拟定定期器0中断的服务程序地址;.配置寄存器VICVectCntIO,向量IRQ通道0控制寄存器位分派位数值;.配置中断时能寄存器,使能中断。8、FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?答:快速中断请求FIQ规定具有最高优先级。向量IRQ具有中档优先级,该级别可分派32个请求中的16个,32个请求中的任意一个都可分派到16个向量IRQslot中的任意一个,其中slot()具有最高优先级,而slotl5则为最低优先级。非向量IRQ的优先级最低。习题6.简述LPC2023系列芯片的引脚设立寄存器PINSELO、PINSELKPINSEL2的具体功能。答:这三个寄存器的重要功能是实现对引脚的功能选择。具体来说PTNSEL0和PINSEL1可以配置P0口重0.(>4)().31)的功能,PINSEL2寄存器用来配置引脚的功能。PINSELx的连个比特位可配置一个引脚的功能,比如以PINSEL[l:0]两个比特位的00、01、10可以配置P0.0为GPIO、TxD(UARTO)、PWM1,11保存。.简要描述LPC2023系列芯片内部GPIO的功能特点?举例说明GPIO输入和输出的应用。答:GPIO(GeneralPurposeInput/Outputports,通用输入输出接口)是用于二进制数据的输入和输出。芯片的某个引脚通过MUX1功能选择,相应PINSELx寄存器选择器功能。假如选择该引脚为GPIO那,再经MUX2中的IOxDIR相应位选择控制管脚的输入和输出方向,GPIO管脚为输入时通过IOxPIN寄存器读入,GPIO为输出时通过IOxSET和IOxCLR寄存器控制输出,实现对相应GPIO管脚的控制。当引脚设立为GPIO输出模式时,使用IOxSET寄存器设立其从引脚输出高电平,向某位写入1是相应引脚输出高电平,写入0无效;使用IOxCLR寄存器设立从引脚输出低电平,向某位写入。是相应引脚输出低电平。GPIO输入用于向ARM核中读入数据,GPIO输出用于输出数据。.LPC2023系列芯片外部中断有几种触发方式?【例6.7]中外部中断修改为EINTLP0.5输出控制LED,试编程实现。答:外部中断有两类四种触发方式:边沿触发(上升沿触发或者下降沿触发),电平触发(高电平触发或低电平触发)。编程实现的代码如下:#include"config.h”#difineLED1«5//设立P0.5控制LED,高电平LED点亮void_irqURQ_Eintl(void)(uint32i;i=IOOSET;//读取LED控制值if((i&LED)=0)IOOSET=LED;//点亮LEDelseIOOCLR=LED;//熄灭LEDWHILE((EXTINT&0x02)!=0)〃等待EINT1恢复为高电平(EXTINT=0x02;//清除EINT1中断标志)VICVectAddr=0;//向量中断结束).简述LPC2023系列芯片内部定期器的内部由哪些模块构成?各模块完毕功能是什么?答:定期器内部由三部分组成:分频与计数模块、匹配控制模块和捕获控制模块。分频计数模块:属于基本模块,提供每个定期器捕获匹配的基本时钟,属于定期器的公共部分,可对外部接入时钟进行预分频。匹配控制模块:比较器随时进行MRO〜MR3与TC的匹配,当TC计数值与某一MRx的预置值相等时即执行MCR编程的功能。捕获控制模块:外部触发捕获时,将当前TC值装在如CRx中。.采用匹配中断输出产生周期为1秒的方波。答:#include“config.h"intmain(void)(PINSELO=PINSEL0&(-(3«10))|(2«10);TOCTCR=0x00;TOTC=0;TOPR=199;T0MCR=OxO2«3;T0MR1=Fpclk/200;TOEMR|=0xC2;TOTCR=0x01;while(l);return0;

.通过一个定期器中断控制多个输出接口控制LED灯分别以O.1S、0.5S和1S频率同时闪烁,假设这三种灯分别连接PO.1、P0.2和P0.3,试编程实现上述功能。答:程序如下:#include“config.h"void_irqIRQ_Time1(void)#defineledl#defineledl1«1#defineledl1«1〃pO.l控制ledl,低电平点亮#defineledl1«1〃pO.l控制ledl,低电平点亮#defineled21«2〃p0.2控制led2,低电平点亮#defineled31«3〃p0.3控制led3,低电平点亮IOOSET=IOOSET|ledl;〃关闭ledlelseIOOCLR=lOOCLR&ledl,点亮ledlvoid_irqIRQ_Time2(void){if((IO0SET&led2)==0)IOOSET=IOOSET|led2;〃关闭led2elseIOOCLR=IOOCLR&led2;〃点亮led2TOIR=T0IR|0x02;〃清除MR1中断标志位VICVectAddr=VICVectAddr&OxOO〃告知VIC中断解决结束)void_irqIRQ_Time3(void){if((IO0SET&led3)==0)IOOSET=IOOSET|led3;〃关闭led.3elseIOOCLR=IOOCLR&led3;〃点亮led3T0IR=T0IR|0x04;〃清除MR2中断标志位VICVectAddr=VICVectAddr&OxOO〃告知VIC中断解决结束.简述串行通信与并行通信概念。答:串行通信是指要传输的数据的各个位,逐比特一位一位的传输方式。并行通信是指待传输的数据各位同时进行传输,如同时传输一个字节的数据。.简述同步通信与异步通信概念、区别。答:异步通信是指,在传输时,必须拟定字符格式及波特率,其中包含启停标志。同步通信是指,去掉异步通信中的启停标志,尽在有效数据块开始除使用1〜2个同步字符表达开始。区别重要是,异步通信不规定收发双方的时钟完全同步,同步通信规定实现位同步,同步通信每次传输的数据位数没有限制,效率比异步方式高。.编写一个通用的UART驱动程序。规定:PC作为上位机,运营EasyARM.exe程序,控制LPC2131实验板操作,发送数字控制相应LED亮灭,数码管显示“0〜F”,可以实现双方向通信;(2)使用中断方式接受、发送数据;(3)要充足运用UART的硬件接受、发送FIFO;(4)编写的程序代码规定简洁、高效、可靠;答:#includeHconfig.hntypedefstructUartMode{uint8datad;uint8stopb;uint8parity;}UARTMODE;uint8rcv_buf[8|;volatileuint8revnew;void_irqIRQ_UARTO(void)(uint8i;if((U0IIR&0x0F)==0x04)revnew=l;for(i=0;i<8;i++)rcv_buf[i]=UORBR;voidUARTO_SendBuf(void)(uint8i;for(i=0;i<8;i++)UARTO_SendByte(rcv_buf[i]);while((U0LSR&0x20)==0);)int8UART0」nit(uint32baud,UARTMODEset)(uint32bak;if((baud=O)ll(baud>115200))return(0):VICIntSelect=OxOOOOOOOO;VICVectCntl0=0x20|0x06;VICVectAddr0=(uint32)IRQ_UART0;VICIntEnable=l«0x06;while(l)(if(「cv_new==1)5.嵌入式解决器分那几类?它们有何特点?答:⑴嵌入式微解决器。特点:解决能力强,具有较高的性能,价格也相应较高。⑵嵌入式微控制器。特点:重要用于嵌入式体统工业的主流,跟嵌入式微解决器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降,可靠性提高。并且价格低廉,功能优良,拥有的品种和数量最多。⑶嵌入式DSP解决器。特点:DSP解决器是专门用于信号解决方面的解决器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。(4)SoC片上系统。特点:①实现了软硬件无缝结合,直接在解决器片内嵌入操作系统的代码模块②具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统③绝大部分系统构件在系统内部,系统简洁,减少了系统的体积和功耗,提高了系统的可靠性跟设计生产效率。6.分析目前市场上常用的几种嵌入式解决器,说明不同嵌入式解决器的各自特点?答:目前市场上常用的嵌入式解决器有MCS51单片机,ARM解决器,MIPS解决器,PowerPC解决器,MC68000解决器,X86解决器等。MCS51的特点是,8位CPU,片内振荡器,4KBROM,128KBRAM,21个特殊功能寄存器,32根I/O总线,片外可寻找范围分别为64KB的外部程序和数据,两个16位的定期/计数器,一个全双工串口接口,中断结构分为两级优先级,5个中断源,适于按位逻辑运算的解决器。ARM解决器的特点是,体积小,功耗低,成本低,高性能,支持16/32位双指令集,在全球有众多合作伙伴。MIPS解决器的特点是,高性能,高档次的解决器,有32位和64位的解决器,简化硬件设计,强调软硬件协同提高性能。PowerPC解决器特点,具有优异的性能,低能量消耗,低散热量。MC68000解决器,是一个16/32位的CISC解决器,采用32位总线和寄存器,这个结.简述SPI接口的工作过程,举例说明如何实现4个SPI接口之间的通信。答:SPI(SerialPeripheralInerface,串行外围设备接口),工作过程是,主机发送数据时,先产生一个选通信号,之后发送数据,从被选通后设备接受到数据线上传送的数据。4个SPI接口之间的通信,要设立4个选通信号区分这四个SPI接口,在数据发送时,就可以唯一的拟定是哪一个设备接受数据。.分析12c接口如何实现双工通信,从机的芯片选择如何实现?答:fc是双线式串行总线,传输方向根据(r/w)状态位进行拟定。从机的芯片选择是实现方法是,主机的发送器向从机接受器发送数据,主机发送的第一个字节的高七位是从机的地址,接下来是数据字节流,从机每接受一个字节,就给主机发送一个应答位。.说明A/D转换器的功能,举例说明10位转换器中模拟信号与数字信号之间的相应关系。答:A/D转换器重要实现把模拟量进行采样形成数字量,以便CPU可以进行解决。在10位转换器中,模拟信号被采样之后形成10个比特位的数字信号。.论述为什么在实时系统中要使用看门狗,喂狗时间如何拟定?答:在嵌入式应用中,CPU必须可靠的工作,即使由于某种因素进入了一个错误状态,系统也应当可以自动恢复。看门狗的用途就是使微控制器在进入错误状态一段时间内进行复位。WTD看门狗部件中包含一个带预分频器的可编程32位定期器,用这个定期器可以设定这一等待时间。喂狗时间规定在定期等待时间内,向WDFEED寄存器中装入OxAA,然后写入0x55,此时定期器的WTC重新装入。构对之后的32为产品保持兼容。X86解决器的特点,可变指令长度的CISC解决器,允许不对齐访问存储器。.举例说明嵌入式解决器的性能指标?并分析对嵌入式系统的影响?答:性能指标重要有主频,解决器字长,数据通路速度,运算速度,高速缓存和解决器的系统架构。主频,执行每条指令的时钟周期数一定,主频越高单位时间内执行的指令越多。解决器字长,解决器内部数据运算的基本位数,反映的是计算精度,以及单次解决数据的总长度;数据通路速度,读取指令数据传输计算数据的速度越高,解决器性能越好。运算速度,用MIPS(每秒执行多少百万条指令)表达,MIPS越大,说明运算速度越快;高速缓存,突破主存访问速度的瓶颈,提高解决器的综合性能。.简述你对嵌入式操作系统的结识,分析嵌入式操作系统有哪些特点?答:嵌入式操作系统EOS是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(涉及软硬件系统)极为重要的组成部分,通常涉及与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。EOS是相对于一般操作系统而言的,它除具有了一般操作系统最基本的功能,如任务调度、同步机制、中断解决、文献功能等之外,尚有以下特点:⑴可装卸性,开放性、可伸缩性的体系结构。⑵强实时性,EOS实时性一般较强,可用于各种控制系统中。⑶统一的接口,提供各种设备驱动接口。(4)操作方便、简朴,提供和谐的图形GUI,追求易学易用。(5)提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。(6)强稳定性,弱交互性。⑺固化代码°(8)更好地硬件适应性,也就是良好的移植性。.试分析实时操作系统中可抢占型和不可抢占型有何区别?并举例说明。答:实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而言,可抢占型的实时操作系统是指内核可以抢占正在运营任务的CPU使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了CPU让别的任务运营。不可抢占型实时操作系统使用某种算法以决定让某个任务运营后,就把CPU的控制权完全交给该任务,直到它积极将CPU控制权还回来。比如嵌入式操作系统uC/OS,可以根据优先级进行抢占使用CPU,优先级高的任务可以比优先级低的任务优先使用CPUo.简述嵌入式系统的开发过程?答:嵌入式系统的开发过程可以分为需求分析、建立开发环境、体系结构设计、软件/硬件设计、系统集成和系统优化与测试6个阶段。假如设计的流程是从需求分析开始,然后是建立开发环境,依次进行,最后是系统优化与测试,那么就叫做自上而下的设计流程;反之就叫做自下而上的设计流程。所有的嵌入式系统设计不可避免的设计这六个阶段,更重要的是找到一个好的设计方法,目前一种比较好的设计方法是采用计算机辅助设计工具。.简述在线仿真器ICE和在线调试器ICD有何区别?答:在线仿真器ICE是一种模拟CPU的设备,能执行CPU的所有动作。采用该方式调试时,运用仿真头代替目的板上的CPU,可以完全仿真CPU的行为。在线调试器ICD是将CPU的调试功能的引脚引出来,让外部的硬件直接连接到这些引脚上去监控整个CPU的动作。.试分析嵌入式系统测试中的纯软件测试过程,举例说明实现方法。答:纯软件测试过程是指用工具采用软件打点技术,在被测试代码中加入一些函数,这些函数用来完毕数据的生成,并将数据送往目的机系统的共享内存中,同时,在目的机系统中运营一个与解决任务,用于完毕这些数据的预解决,然后将解决过的数据通过目的机的串口,网口或者USB口送往宿主机测试平台u举例,可以在程序中间插入函数,读出当前所有寄存器内容,发送至目的机系统,测试者可以根据这些数据了解系统执行情况。习题2.按照ARM解决器的命名规则,说明ARM7TDMI中T、D、M、I的含义。答:T:支持16位的Thumb指令集;D:支持JTAG片上调试;M:支持长乘法操作(64位结果)的ARM指令,包含快速乘法器;I:带有嵌入式追踪宏单元ETM(EmbeddedTraceMacro),用来设立断点和观测点。.什么是哈佛结构?与普林斯顿结构有何区别?答:哈佛结构是一种将程序中指令和数据分开存储的存储器结构。即哈佛结构中程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。普林斯顿结构(冯・诺伊曼结构)是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。这便是。这便是两种结构的区别。.什么是RSIC?什么是CSIC?简述他们的特点与差别。答:RSIC是精简指令集计算机,CISC是复杂指令集计算机。两者的区别在于不同的CPU设计理念和方法。对于CISC:(1)在CSIC结构的指令系统中,各种指令的使用频率相差悬殊。有80%的指令只在20%的运营时间内才会用到。⑵CISC结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增长了研制时间和成本,并且还容易导致设计错误。⑶在CISC结构指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术来提高系统的性能。对于RISC:⑴简化指令集,只保存常用的基本指令;⑵设计大量的通用存储器,减少访存的次数;⑶采用装载/保存结构,支持流水线技术,使每个周期时间相等;(4)采用简朴的指令格式、规整的指令字长和简朴的寻址方式;⑸单机器周期指令,即大多数的指令都可以在一个机器周期内完毕,并且允许解决器在同一时间内执行一系列的指令。.ARM7解决器是几级流水线?在ARM7解决器中,“PC指向的是下一条要执行的指令”,这句话对吗?为什么?答:ARM7解决器采用三级流水线。“PC指向的是下一条要执行的指令'这句话不对。在ARM解决器中将PC程序计数器定义到R15寄存器,无论解决器处在何种状态,PC总是指向“正在取值”指令的地址,一般来说,人们习惯性的约定将“正在执行的指令作为参考点”,成为当前第一条指令,那么PC总是指向随后的第三条指令,或者说PC总是指向当前正在执行的指令地址再加上2条指令的地址,即指向正在执行指令的下下一条指令,而不是指向下一条要执行的指令。.简述ARM解决器中在线仿真器模块EmbeddedICE-RT的作用。答:ARM解决器中的在线仿真器模块EmbeddedICE-RT,一般还带有嵌入式宏跟踪单元模块ETM,实现ARM解决器的在线调试和运营过程的跟踪功

温馨提示

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

最新文档

评论

0/150

提交评论