嵌入式习题答案汇总_第1页
嵌入式习题答案汇总_第2页
嵌入式习题答案汇总_第3页
嵌入式习题答案汇总_第4页
嵌入式习题答案汇总_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第一章习题答案1.

什么是嵌入式系统?请列举几种常见的嵌入式系统。答:根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(Devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。这重要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。目前被我国科学家普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可淘汰,对功能、可靠性、成本、体积、功耗规定严格的专用计算机系统。常见的嵌入式系统:手机,DVD,路由器,核磁共振仪,全自动洗衣机。2.

嵌入式系统与通用计算机有哪些区别?答:(1)以应用为中心;(2)以计算机技术为基础(3)软件和硬件可淘汰(4)对系统性能规定严格(5)软件的固件化(6)需要专用的开发工具3.

嵌入式系统的发展分为哪几种阶段?答:第一阶段:无操作系统的嵌入算法阶段。第二阶段:以嵌入式CPU为基础,以简朴操作系统为关键的嵌入式系统。第三阶段:以嵌入式操作系统为标志的嵌入式系统。第四阶段:以基于Internet为标志的嵌入式系统。4.

请列举嵌入式系统的重要应用领域。答:(1)工业控制领域(2)交通运送领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域第二章习题答案1.

简述简朴嵌入式系统与复杂嵌入式系统的重要区别。答:简朴嵌入式系统很早就已经存在,此类嵌入式系统由于软硬件复杂度都很低,一般不使用操作系统,例如常用的单片机系统。对于复杂的嵌入式系统,它的开发模式发生了极大的变化。一种复杂的嵌入式系统不仅硬件系统的开发比单片机复杂了许多,更重要的是在该系统中采用了嵌入式操作系统,其应用软件的开发转变为使用操作系统原则接口的计算机工程领域的应用软件开发。复杂嵌入式系统具有更强大的功能,不过简朴的嵌入式并不会伴随复杂的嵌入式系统出现而消灭。2.

简述嵌入式系统的体系构造。答:嵌入式系统从构成上看,可分为嵌入式硬件系统与嵌入式软件系统两大部分。嵌入式硬件层由嵌入式微处理器、嵌入式存储器系统、通用设备和I/O接口等构成。嵌入式系统的软件层分为嵌入式操作系统和嵌入式应用软件两大部分。3.

嵌入式处理器分为哪几类?答:嵌入式处理器可分为如下四种:嵌入式微控制器(MicroControllerUnit,MCU),嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU),嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)和嵌入式片上系统(SystemonChip,SoC)。4.

ARM中常用的嵌入式存储器均有哪些?答:ARM系统的存储器可以分为片内存储器和片外存储器。片内一般以RAM或SRAM为主。片外一般以Flash和SDRAM为主。嵌入式系统中常用的几种内存有Flash、SRAM、SDRAM、DDRSDRAM等。5.

嵌入式系统中常用的外设接口均有哪些?答:串行接口UART,USB接口,IrDA红外线接口,SPI(串行外围设备接口),I2C总线接口,CAN总线接口,Ethernet6.

嵌入式系统中常用的输入输出设备均有哪些?答:嵌入式系统中输入形式一般包括触摸屏、语音识别、按键、键盘和虚拟键盘。输出设备重要有LCD显示和语音输出。7.

简述嵌入式操作系统的特点,请列举几种常见的嵌入式操作系统。答:(1)可装卸性(2)强实时性(3)统一的接口(4)强稳定性,弱交互性(5)固化代码。常见的嵌入式操作系统有indowsCE、Vxrks、μC/OS、嵌入式linux。8.

简述嵌入式系统开发的特点。答:需要交叉开发工具和环境,软硬件协同设计,嵌入式系统开发人员以应用专家为主,软件规定固态化存储,软件代码高质量、高可靠性,系统软件的高实时性9.

简述嵌入式系统的开发周期。答:10.

简述嵌入式系统的开发与一般PC机上的软件开发有什么区别。答:系统软件开发模式可以分为两类:当地开发模式和交叉开发模式。嵌入式系统的开发与一般PC机上的软件开发有很大的区别,原有的PC机的软件开发过程从编写程序、编译和运行等过程全在同一种PC机平台上完毕,属于当地开发(native);嵌入式开发的程序编写和编译与本来同样还在PC机(host)上完毕,但编译产生的成果要在嵌入式目的平台(target)上运行。一般将这种在主机上开发编译,在目的平台上调试运行的开发模式称为交叉开发。同样运行在主机上的编译器(例如GCC)编译程序产生目的机上运行的可执行程序的编译过程称为交叉编译。嵌入式系统采用这种交叉开发、交叉编译的开发环境重要是由于嵌入式系统是种专用的计算机系统,采用量体裁衣量身定制的措施制造。11.

简述宿主机/目的机的开发模式。答:交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不一样,一般采用宿主机/目的机模式。宿主机(host)一般采用一台通用计算机(如PC机或者工作站),它通过串口(Serial)或者以太网(Ethernet)接口与目的机通信。宿主机的软硬件资源比较丰富,不仅包括功能强大的操作系统(如Windows和Linux),并且尚有多种各样优秀的开发工具(如WindRiver的Tornado、Microsoft的EmbeddedVisualC++等),可以大大提高嵌入式应用软件的开发速度和效率。目的机(target)一般在嵌入式应用软件的开发和调试期间使用,用来区别与嵌入式系统通信的宿主机。目的机可以是嵌入式应用软件的实际运行环境,也可以是可以替代实际运行环境的仿真系统,但软硬件资源一般都比较有限。嵌入式系统的交叉开发环境一般包括交叉编译器、交叉调试器和系统仿真器(Emulator),其中交叉编译器用于在宿主机上生成能在目的机上运行的代码,而交叉调试器和系统仿真器则用于在宿主机与目的机间完毕嵌入式软件的调试。第三章习题答案1.

简述ARM处理器的特点。答:ARM处器采用RISC架构,具有C的一般特点:采用大量的寄存器指令执行速度更快寻址方式灵活简朴执行效率高

采用固定长度的指令格式;

大多数据操作都在寄存器中进行通过Load/tore的系构造在内存和寄存器之间传递数据。因此ARM处器的内核很小,功耗也就很低。ARM处器还采用了某些尤其的技术,在保证高性能的同步尽量减小芯片体积,减少芯片的功耗。这些技术包括:

在同一条数据处理指令中包括算术逻辑处理单元处理和移位处理;使用地址自动增长(减少来优化程序中循环处理Loa/toe令可以批量传播数据从而提高传播数据的效率

所有指令都可以根据前面指令执行成果决定与否执行以提高指令执行的效率

支持Thub(16位)/ARM(32位)双指令集,能很好地兼容8/6位器件。2.

嵌入式RISC处理器ARM7TDMI中TDMI的基本含义分别是什么?答:T:支持16位压缩指令集Thumb。D:支持JTAG调试器,可片上Debug。M:支持64位长乘法指令I:嵌入式跟踪宏单元(ICE)。3.

常用的ARM处理器系列均有哪些?答:ARM处理器目前应用比较多的是ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、Intel的StrongARM、Xscale等多种系列,最新的系列是ARM11系列。4.

ARM处理器一般支持的的数据类型均有哪些?答:8位有符号字节类型数据;8位无符号字节类型数据;16位有符号半字类型数据;16位无符号半字类型数据;32位有符号字类型数据;32位无符号字类型数据。5.

什么是大端模式?什么是小端模式?请举例阐明它们的区别。所谓的大端模式,是指数据的低位保留在内存的高地址中,而数据的高位保留在内存的低地址中。所谓的小端模式,是指数据的低位保留在内存的低地址中,而数据的高位保留在内存的高地址中。若寄存器R1=0x12345678,分别按小端模式和大端模式存储在0x字单元中,下图分别为在两种模式下内存的存储内容。6.请简述ARM7TDMI采用哪几级流水线构造,并阐明在ARM状态下各阶段指令地址的关系。答:ARM7架构采用了三级流水线,分为取指(fetch),译码(decode)和执行(execute)。程序计数器R15(PC)总是指向取指的指令,而不是指向正在执行的指令或者正在译码的指令。对于ARM状态下指令,PC值=目前途序执行位置。7.

简述ARM和THUMB状态的区别,举例阐明使用什么指令从ARM状态转换为Thumb状态。答:ARM状态:处理器执行32位的字对齐的ARM指令;Thumb状态:处理器执行16位的半字对齐的Thumb指令。ARM指令集和Thumb指令集均有切换处理器状态的指令BX。从ARM状态转换到Thumb状态:ADR R0,TSTART+1BX R08.ARM处理器有哪些工作模式?哪些是特权模式?哪些是异常模式?答:ARM体系构造支持7种工作模式(Processormodes),分别为顾客模式(usr)、快中断模式(fiq)、中断模式(irq)、管理模式(svc)、数据访问终止模式(abt)、系统模式(sys)、及未定义指令中断模式(und)。除去顾客模式外的其他6种处理器工作模式称为特权模式(PrivilegedModes)。除去顾客模式和系统模式以外的5种处理器工作模式称为异常模式(ExceptionModes)9.ARM处理器共有多少个寄存器?在所有工作模式下,哪些寄存器都指向同一种物理寄存器?答:ARM处理器具有37个物理上独立的寄存器,其中包括31个通用寄存器和6个状态寄存器。R0-R12寄存器在所有工作模式下都指向同一种物理寄存器。10.简述CPSR寄存器控制位的作用。答:(1)中断严禁位I、F:I=1严禁IRQ中断;F=1严禁FIQ中断。(2)T标志位:该位反应处理器的运行状态。当该位为1时,程序运行于Thumb状态,当该位为0时,表达运行于ARM状态。(3)运行模式位M[4:0]:M0、M1、M2、M3、M4是模式位。这些位决定了处理器的运行模式。11.ARM的异常中断包括哪些类型?它们的优先级次序是怎样的?它们的异常向量地址是多少?答:

12.当处理异常时,ARM内核会做哪些处理?答:ARM处理器对异常中断的响应过程如下:(1)保留处理器目前状态、中断屏蔽位以及各条件标志位。这是通过将目前途序状态寄存器CPSR的内容保留到将要执行的异常中断对应的SPSR寄存器中实现的。各异常中断有自己的物理SPSR寄存器。(2)设置目前途序状态寄存器CPSR中对应的位。包括设置CPSR中的控制模式位,使处理器进入对应的执行模式;设置CPSR中的中断严禁位,假如进入IRQ模式时,严禁IRQ中断,假如当进入FIQ模式时,严禁FIQ中断。(3)将寄存器LR_mode设置成返回地址。(4)将程序计数器值(PC)设置成该异常中断的中断向量地址,从而跳转到对应的异常中断处理程序执行。13.

当异常结束时,ARM内核会做哪些处理?答:ARM系统处理完中断后从异常中断处理程序中返回包括下面的环节:(1)恢复被中断的程序的处理状态,即将SPSR_mode寄存器内容复制到目前途序状态寄存器CPSR中。(2)返回到发生异常中断的指令的下一条指令处执行。即将LR_mode寄存器的内容复制程序计数器PC中。由于整个应用系统是从复位异常中断处理程序执行的,因此复位异常中断处理程序不需要返回。第四章习题答案1.

请列举ARM处理器的指令寻址方式。哪种寻址方式是ARM指令集特有的寻址方式?答:ARM处理器具有9种基本寻址方式,分别为立即寻址、寄存器寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址。寄存器移位寻址是ARM指令集特有的寻址方式。2.

在ARM数据处理指令中,第二个操作数均有哪几种形式?答:第2个操作数的三种形式如下。立即数,例如:MOVR0,#0x0000F200;寄存器方式,例如:ADDR1,R1,R2;寄存器移位方式,例如:ANDSR1,R1,R2,LSLR3。3.

请分别写出调用子程序、子程序返回所使用的指令,并简述所用指令的工作过程。答:用BL指令调用子程序。BL指令先将下一条指令的地址拷贝到R14(即LR)连接寄存器中,然后跳转到指定地址运行指令。子程序返回的指令是:MOVPC,LR。4.如图:存储器地址4010H,4014H,4018H的内容分别为1,2,3。寄存器R1,R2,R3的值都为0。R0的值为0x4010。问:给出指令执行后,寄存器R0,R1,R2,R3的成果。(IA:每次传送后地址加4)LDMIAR0!,{R1-R3}答:5.阅读下面程序,并回答问题。AREA Example1,CODE,READONLY ;申明代码段Example1 ENTRY ;标识程序入口 CODE32 START MOV R0,#20 -----------------------(1) MOV R1,#10 LDR R5,=0x12345678 -----------------------(2) ANDS R2,R5,#0x20 -----------------------(3) CMP R2,#0 -----------------------(4) ADDEQ R0,R0,#1 -----------------------(5) ADDNE R1,R1,#1 -----------------------(6)HALT B HALT END ;文献结束a)

请回答汇编语句(1)(2)(3)(4)(5)(6)的含义。b)

此程序实现什么功能?答:a)

语句(1)把常数20送到R0;语句(2)使用LDR伪指令把常数0x12345678送到R5;语句(3)将R5中的数据与0x20相与,影响标志位;语句(4)将R2的数据与0比较;语句(5)假如相等R0加1;语句(6)不相等R1加1(6分)测试数据0x12345678的bit[4](第五位)。假如是0,R0中的数据20加1。假如是1,R1中的数据10加1。(2分)6.

用汇编语言编写程序,求1到50的累加和。答: AREA Example1,CODE,READONLY ENTRY CODE32 START LDR R5,=0x40003005 MOV R0,#0 MOV R1,#1LOOP BL SUM B LOOP SUM ADDS R0,R0,R1 ADD R1,R1,#1 CMP R1,#50 BLHI HALT MOV PC,LR HALTSTR R0,[R5] B . END 7.

请阐明汇编语句STRBR2,[R0,#4]和STRR2,[R0,#4]!的区别。答:mem8[R0+4]=R2;R0不变mem32[R0+4]=R2;R0=R0+4mem32[]表达存储器的存储单元中寄存的32位字数据,mem16[]表达存储器的存储单元中寄存的16位半字数据,mem8[]表达存储器的存储单元中寄存的8位字节数据8.请阐明MOV指令和LDR指令在传送立即数时,使用措施的区别。答:MOV传送8位位图数据,例如:MOV R1,#0xFF000000;LDR伪指令传送32位立即数,例如:LDRR0,=0x12345678。9.请列举ARM处理器的四种堆栈类型,并阐明它们的特点和区别。答:(1)满递堆栈A:堆栈指针指向最终压入的数据,且由低地址向高地址生长。(2)满递堆栈FD:堆栈指针指向最终压入的数据,且由高地址向低地址生长。(3)空递增堆栈EA:堆栈指针指向下一种将要放入数据的空位置,且由低地址向高地址生长。(4)空递减堆栈ED:堆栈指针指向下一种将要放入数据的空位置,且由高地址向低地址生长。10.可以对状态寄存器操作的指令均有哪些,怎样使用。答:ARM指令集提供了2条指令,可直接控制程序状态寄存器(psr,ProgramStateRegister)。MRS指令用于将CPSR或SPSR的值传送到通用寄存器中。MSR指令与之相反,用于将通寄存器的内容或者立即数传送到到CPSR或SPSR中。例如: MRSR1,CPSRBICRl,Rl,#0x80;0b0l000000MSRCPSR_c,Rl练习题阅读下面程序,并回答问题。AREA Example1,CODE,READONLY ;申明代码段Example1 ENTRY CODE32

START LDR R0,=0x40001000 -----------------------(1)MOV R1,#0x -----------------------(2) STR R1,[R0] -----------------------(3) SUB

R2,R1,#2 -----------------------(4) STRB R2,[R0,#4] -----------------------(5) B. END ;文献结束a)

程序中分号的作用是什么?b)

请回答汇编语句(1)(2)(3)(4)(5)的含义。c)

假如将汇编语句(5)STRBR2,[R0,#4]改为STRBR2,[R0,#4]!,有什么不一样?答案

分号背面的内容是对程序的注释。语句(1)使用LDR伪指令将地址数据0x40001000送入R0;语句(2)将常数0x送入R1;语句(3)将数据0x存储到地址为0x40001000的存储空间中;语句(4)将R1中的数据减2,成果0x1FFE送到R2;语句(5)将数据0x1FFE的低位字节数据0xFE存储到地址为0x40001004的存储空间中。

STRBR2,[R0,#4]执行后,R0的值为0x40001000;STRBR2,[R0,#4]执行后,R0的值为0x40001004。

第五章习题答案1.

简述Xscale内核的特点。答:ARM的体系构造是基于RISC的,XSCALE是ARM处理器的一种,因此XSCLAE具有RISC的基本特性。XScale的超流水线(SuperPipeline)技术,主频高达600MHz以上。高效的存储器体系构造,重要包括32KBD-Cache、32KBI-Cache、2KBMiniDcache、FillBuffers、endingBuffers以及4.8GB/s带宽的存储总线,使处理器可以高效访问存储器。实现了基于记录分析的分支预测功能部件。XScale对ARM的乘加逻辑进行了增强,增长了8条DSP指令。2.

简述PAX270处理器的构造和重要的通信模块。答:CPU520M运行能力;XSCALE构架,并带有无线MMX指令集;7级流水线;32KB的指令cache,32KB的数据cache,2KB微型数据cache;外部扩充存储器控制器;256KB内部SRAM;丰富的串行接口:AC97AUDIOPORT;IISPORT;USBHOST,USBDEVICE;USBOTG;3个UART,红外通讯接口;原则IEEEJTAG,支持边界扫描;实时时钟和系统时钟;中断控制器;LCD控制器;SDRAMcontroller,支持4个BANK,最高可以运行在104M。外部SDRAM可以是2.5V3.0V或3.3V;支持PCMCIAandCompactFlash;SDCard/MMCController(withSPImodesupport);2个IICControllers;3个SSPControllers;CAMERA接口;121个多功能GPIO;4种LOWPOWER模式;4个PWM3.

简述GPIO模块的特点。答:PXA270处理器提供121个多功能输入/输出引脚,除了可以选择作为基本输入/输出使用外,还可以选择它的复用功能,复用功能包括串口通信接口,定期器输出,外部中断等。当多功能输入/输出引脚作为高速的通用GPIO接口时,可以用来生成和捕捉外设的输出和输入信号。每个GPIO引脚通过编程控制可实现输出或输入功能。当GPIO引脚作为输入时,通过设置上升或下降沿检测,可作为一种中断源来使用。4.

GPIO模块中怎样选择引脚的功能,举例阐明。答:通过寄存器GPDR和GAFR来选择引脚功能,在使用寄存器GAFR设置GPIO引脚功能之前,必须先通过寄存器GPDR设置引脚的方向。例如:设定将GPIO118为SDA输出引脚,首先运用寄存器GPDR3设定GPIO118是输出引脚,当GAFR3的Bit[13:12]=01时,将GPIO118复用为SDA输出引脚。代码如下: GPDR3=GPDR3|(0x01<<22);GAFR3_U=GAFR3_U&(~(0x11<<12))|(AF1<<12);5.

编写程序代码,实现设置GPIO8和GPIO41为输出功能,GPIO8为低电平输出,设置GPIO41为高电平输出。答:#defineGPDR0 (*((volatileunsignedchar*)(0x40E0000C)))#defineGPDR1 (*((volatileunsignedchar*)(0x40E00010)))#defineGPCR0 (*((volatileunsignedchar*)(0x40E00024)))#defineGPSR1 (*((volatileunsignedchar*)(0x40E0001C))) GPDR0=GPDR0|(0x01<<8); GPCR0=GPCR0|(0x01<<8); GPDR1=GPDR1|(0x01<<9); GPSR1=GPSR1|(0x01<<9);6.

PAX270有几种UART单元,各有什么用途?答:PAX270有三个UART单元。全功能UART:FFUART支持调制解调器控制功能,最高波特率可到达921600bps。蓝牙UART:BTUART是一种高速的UART,所支持的波特率可到达921600bps,并且可以连接到蓝牙模块,但只支持调制解调器控制信号中的CTS和RTS信号。原则UART:STUART的最高波特率可到达921600bps,但不支持调制解调器控制信号。7.

串行通讯的传播模式有哪些?简述RS232C接口的通信原理。答:串行通讯的传播模式有三种:单工、半双工和双工。RS232是全双工的数据发送模式,运用RS232通信时,仅合用3根基本的数据传播线有:RXD、TXD、GND。TXD(发送线):数据发送信号线,数据由该脚发出,送上通信线,没有数据传播时,逻辑电平为“1”;RXD(接受线):数据接受信号线,从通信信号线来的数据,从该脚引入,在无信息时候,逻辑电平为“1”;GND(地线):参照地信号线,为其他信号线提供电平参照。8.

简述UART模块的通信原理。答:每个UART能将从RXD端接受的串行数据转变为并行的数据,并且可以未来自处理器的并行数据转化串行数据,然后通过TXD端发送出去。根据UART与否在FIFO模式下执行,发送和接受的数据会有选择的锁存在发送/接受FIFO。例如,当UART在接受数据时,来自RXD端的数据首先会通过接受移位寄存器,然后组织成一种字节的数据,假如运行在FIFO模式,数据会首先锁存在接受FIFO里,同步接受缓冲寄存器RBR会保留FIFO第一字节单元数据,FIFO的内容可以通过持续读取RBR获得,每读写完一次后,FIFO第一字节单元数据会被移出。当UART收到来自总线的并行数据时,数据首先进入发送缓冲寄存器THR,假如工作在FIFO模式,数据会再被锁存在发送FIFO,最终才被送入发送移位寄存器,将并行数据以逐位方式在TXD端发送出去,每次向THR写入的数据(有效数据最长为8位)会被送入FIFO,只有FIFO的第一字节单元会被送入发送移位寄存器里,并且在FIFO里尚未发送的数据会逐渐上移到第一字节单元。无论是接受还是发送,当运行在non-FIFO方式时,数据不会被锁存在FIFO,而只会被锁存在寄存器RBR或THR,可以简朴认为在non-FIFO时,RBR和THR分别与接受移位寄存器和发送移位寄存器直接相连。9.

使用FFUART进行异步传播数据,以波特率为9600传送数据,则寄存器FFDLH和FFDLL应怎样设置?答:波特率发生器的时钟通过PXA270的内部系统时钟来设定,采用14.746Mz为定入时,并且以以1(211)频波特率发生器的时钟必须是波特率的16倍,波率(BaudRate)以如下式算:

FUARTFUART以波特率为9600传送数据,即baudrate=9600,经公式计算得Divisor=96,配置FFDLH=0X0,FFDLL=0x60。10.请编写使用FFUART采用查询方式发送/接受数据的函数。答:(1)接受数据函数intSerialInputByte(char*c){ if((FFLSR&0x00000001)==0) { return0; }else{ *c=FFRBR; return1; }}(2)发送数据函数voidSerialOutputByte(constcharc){ while((FFLSR&0x00000020)==0); FFTHR=((ulong)c&0xFF);

if(c=='\n') SerialOutputByte('\r');}voidSerialOutputString(char*str){inti=0;while((*(str+i))!='\0'){SerialOutputByte(*(str+i));i++;}}11.简述PXA270中断控制器的内部构造。答:PA270中断控制器,通过置器ICR中断。通过置器ICR断源类即以中源发的断以IQ中断式或以IQ断式处。询存器ICPR知32中源中断在IPR存上显发出中祈求的断受ICMR影即ICMR虽然蔽某中要源发中祈求,IPR仍会对应位上示1。询器ICP以IQ式处的源与否发中祈求,寄存受到ICP响即IIP=ICPR&IMR&~IC)。询器ICP以FQ式处的源与否发中祈求,寄存受到ICP响即IFPICPR&ICR&ICL。第六章习题答案1.

简述基于XscalePXA270处理器的EELiod270开发平台,开发嵌入式Linux系统的交叉开发环境的搭建过程。答:构建基于嵌入式linux的交叉编译环境的构建过程重要包括如下几方面的内容。第一:安装一台装有指定操作系统的PC机作宿主开发机,宿主机器在硬件上需具有原则串口、并口和网口,对于嵌入式Linux,宿主机上的操作系统一般规定为RedhatLinux,在此,我们推荐使用Redhat9.0作为宿主机(开发主机)的操作系统。第二:检测目的机与宿主机的连接,通过串口实现通信,查看目的机系统的内容。在windos下使用级端在lnux下使用inicoNU编译器的交叉编辑工具链,生成可在ARM系统架构上执行的二进制可执行程序。第四:实现目的机与宿主机之间文献的传播。设置统一段的网络,通过nfs网络文献共享文献,FTP网络传播上传下载文献。第五:烧写嵌入式Linux内核、Bootloader、文献系统映像以及应用程序到目的板。软件的更新一般使用串口或网口,最初的Bootloader烧写是通过并口进行的。2.

宿主PC机上怎样查看XSBase270目的板系统的内容?答:在Linux操作系统安装完毕后,就可以使用Linux下inicoWindows下面可使用超级终端。3.

怎样测试交叉编译环境与否建立成功?答:首先,使用VI编辑器创立一种hello.c文献。[root@localhostxscale270]#vihello.c编写一种简朴的程序来打印出一行简朴的信息:WelcomeEmdoor!。保留并退出该文献。使用如下的命令来编译该文献。[root@localhostxscale270]#gcc-ohellohello.c[root@localhostxscale270]#arm-linux-gcc-ohellohello.c gcc编程生成的是X86系统构造的二进制文献。arm-linux-gcc是在在宿主机中,交叉编译hello.c源程序,并查看生成的.o目的文献。调用交叉编译器arm-linux-gcc编译hello.c文献使用file命令来分别查看编译出的二进制文献hello和hello-arm。[root@localhostxscale270]#filehello[root@localhostxscale270]#filehello-arm编译器arm-linux-gcc生成的可执行文献hello-arm文献是不能在宿主PC机上运行的,只能在XSBase270目的机上运行。4.

怎样实现宿主PC机与XSBase270目的板的通信。答:要使用网络进行通讯和文献传播,必须使宿主机和目的机是相似的网段。例如设置宿主机的IP地址:00;目的机的IP地址:0。在嵌入式系统开发中,可采用网络统NFS以将PC机的部文献系作为的源这可以补目的存空的文献议(eanitPoocol运用以网实文献的要上的应保留到机的arfppb目录。5.

简述Makefile的基本构造。答:Makefile文献由一组依赖关系和规则构成。每个依赖关系有一种目的(即将要创立的文献)和一组该目的所依赖的源文献构成。akee的:target……:dependency_files……command……构造各分含如下:

age目的)一种目的以是bect文献可是行可是一种标(abe

depndenc(依赖文献):要成(age)所赖些。

coand(命令)创立目需运的el命令6.

使用Makefile编译程序的长处是什么?答:在nux环境对于具有几种源码的程的编,可以工令源代文献逐一进编在型项开中,一种工程中的源文献不计其数,其按类型、功能、模块分别放在若干个目录中,这时们NUake具自完毕应序的护和编译作Uake工具是过解释akee完毕整个工程的完全自动编译,极大7.

在Makefile中变量怎样定义,可在Makefile中的哪些部分使用?自动变量$@和$<分别代表什么含义?答:Makefile中变量可以使用“=”定义和使用指示符“define”定义。Makefile中的变量可以使用在“目的”,“依赖目的”,“命令”或Makefile的其他部分中。$@:目的文献的完整名称;$<:第一种依赖文献的名称。8.

编写一种文献的程序,使用Makefile文献进行编译。答:(1)运用文本编辑器创立hello.c文献。heo.c#ncude<doh>ntan(){pnecoeEdoo!n;eun1;}(2)编写Makefile文献。#akeeetorheopogamC=gccCAGS=a:heoheo:heo.o$CC)$CAGS)heo.o–oheoheo.o:heo.c$CC)$CAGS)-cheoc-oheo.ocean:mheo.o(3)执行make命令,编译hello.c程序。oo@oca$ake9.

编写多种文献的程序,使用Makefile文献进行编译。(1)

答:在/work目录先新建一种hello2目录,并在该目录下用vi命令创立文献hello1.c、hello2.c、hello.h和Makefile。分别输入如下内容。

文献heo1.cheo1.c#ncude<doh>ntan(){pnecoeEdoo!n;e2;eun1;}

文献heo2.cheo2.c#ncudeheo2.h"#ncude<doh>ode2(od){pnecoeEdoo!heo2n;}

文献heo2.hheo2.hode2(od;

文献akee#akeeetorutiespogamC=gccCAGS=OSheo1.oeo2.oa:heoheo:$OS)$CC)$CAGS)$^o@heo1.o:heo1.c$CC)$CAGS)-c$<o$@heo2.o:heo2.c$CC)$CAGS)-c$<o$@cean:mheo.o(2)

后行下令oo@oca$akeoo@oca$.heo作业11. 如下不是嵌入式系统的是 A.全自动洗衣机 B.手机 C.摄像机 D.机械手表 原则答案:D2. 如下不是嵌入式操作系统的是 A.嵌入式Linux B.Unix C.WindowsCE D.VxWorks 原则答案:B3. 嵌入式系统的关键是 A.外围输入设备 B.嵌入式处理器 C.应用软件 D.网络接口 原则答案:B4. ARM7微处理器具有流水线。 A.三级 B.四级 C.五级 D.六级 原则答案:A5. 如下ARM的汇编语句属于寄存器寻址的是。 A.LDRR0,[R1] B.MOVR0,R1 C.MOVR0,#0x20 D.LDMIBR0,{R1-R7] 原则答案:B6. 程序状态寄存器中确定正在执行的指令是ARM指令还是Thumb指令的标志位是 A.I B.N C.T D.F 原则答案:C7. AMR处理器中,常作为SP寄存器的物理寄存器是 A.R15 B.R14 C.R13 D.R12 原则答案:C8. 对寄存器R1的内容乘以4的对的指令是()。 A.LSRR1,#2 B.LSLR1,#2 C.MOVR1,R1,LSL#2 D.MOVR1,R1,LSR#2 原则答案:C9. 下面指令执行后,变化R1寄存器内容的指令是()。 A.TSTR1,#2 B.ORRR1,R1,R1 C.CMPR1,#2 D.EORR1,R1,R1 原则答案:D10. MOVR1,#0x1000LDRR

温馨提示

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

评论

0/150

提交评论