嵌入式课后题答案_第1页
嵌入式课后题答案_第2页
嵌入式课后题答案_第3页
嵌入式课后题答案_第4页
嵌入式课后题答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式课后答案第一章什么是嵌入式系统?请列举几个常见的嵌入式系统。答:根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(Devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)0这主要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。目前被我国科学家普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。常见的嵌入式系统:手机,DVD,路由器,核磁共振仪,全自动洗衣机。嵌入式系统与通用计算机有哪些区别?答:(1)以应用为中心;(2)以计算机技术为基础(3)软件和硬件可裁减(4)对系统性能要求严格(5)软件的固件化(6)需要专用的开发工具嵌入式系统的发展分为哪几个阶段?答:第一阶段:无操作系统的嵌入算法阶段。第二阶段:以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。第三阶段:以嵌入式操作系统为标志的嵌入式系统。第四阶段:以基于Internet为标志的嵌入式系统。请列举嵌入式系统的主要应用领域。答:(1)工业控制领域(2)交通运输领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域第二章简述简单嵌入式系统与复杂嵌入式系统的主要区别。答:简单嵌入式系统很早就已经存在,这类嵌入式系统因为软硬件复杂度都很低,一般不使用操作系统,例如常用的单片机系统。对于复杂的嵌入式系统,它的开发模式发生了极大的改变。一个复杂的嵌入式系统不仅硬件系统的开发比单片机复杂了许多,更重要的是在该系统中采用了嵌入式操作系统,其应用软件的开发转变为使用操作系统标准接口的计算机工程领域的应用软件开发。复杂嵌入式系统具有更强大的功能,但是简单的嵌入式并不会随着复杂的嵌入式系统出现而消亡。简述嵌入式系统的体系结构。答:嵌入式系统从组成上看,可分为嵌入式硬件系统与嵌入式软件系统两大部分。嵌入式硬件层由嵌入式微处理器、嵌入式存储器系统、通用设备和I/O接口等组成。嵌入式系统的软件层分为嵌入式操作系统和嵌入式应用软件两大部分。嵌入式处理器分为哪几类?答:嵌入式处理器可分为以下四种:嵌入式微控制器(MicroControllerUnit,MCU),嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU),嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)和嵌入式片上系统(SystemonChip,SoC)。ARM中常用的嵌入式存储器都有哪些?答:ARM系统的存储器可以分为片内存储器和片外存储器。片内一般以RAM或SRAM为主。片外通常以Flash和SDRAM为主。嵌入式系统中常用的几种内存有Flash、SRAM、SDRAM、DDRSDRAM等。嵌入式系统中常用的外设接口都有哪些?答:串行接口UART,USB接口,IrDA红外线接口,SPI(串行外围设备接口),I2C总线接口,CAN总线接口,Ethernet(以太网接口)等。嵌入式系统中常用的输入输出设备都有哪些?答:嵌入式系统中输入形式一般包括触摸屏、语音识别、按键、键盘和虚拟键盘。输出设备主要有LCD显示和语音输出。简述嵌入式操作系统的特点,请列举几个常见的嵌入式操作系统。答:(1)可装卸性(2)强实时性(3)统一的接口(4)强稳定性,弱交互性(5)固化代码。常见的嵌入式操作系统有WindowsCE、VxWorks、以C/O&嵌入式linux。简述嵌入式系统开发的特点。答:需要交叉开发工具和环境,软硬件协同设计,嵌入式系统开发人员以应用专家为主,软件要求固态化存储,软件代码高质量、高可靠性,系统软件的高实时性简述嵌入式系统的开发周期。答:系碧擎财设计心旎损作条姓软件平h的乳择蒙址助非测试F安染更・形成产品签螂地竹设计龄细装计*第筑峻件没计硬件[节的迭拦处器玺型存雅器系碧擎财设计心旎损作条姓软件平h的乳择蒙址助非测试F安染更・形成产品签螂地竹设计龄细装计*第筑峻件没计硬件[节的迭拦处器玺型存雅器圈I>系统策伐■浦;小对耳i答:系统软件开发模式可以分为两类:本地开发模式和交叉开发模式。嵌入式系统的开发与通常<机上的软件开发有很大的区别,原有的PC机的软件开发过程从编写程序、编译和运行等过程全在同一个PC机平台上完成,属于本地开发(native);嵌入式开发的程序编写和编译与原来一样还在PC机(host)上完成,但编译产生的结果要在嵌入式目标平台(target)上运行。通常将这种在主机上开发编译,在目标平台上调试运行的开发模式称为交叉开发。同样运行在主机上的编译器(例如GCC)编译程序产生目标机上运行的可执行程序的编译过程称为交叉编译。嵌入式系统采用这种交叉开发、交叉编译的开发环境主要是因为嵌入式系统是种专用的计算机系统,采用量体裁衣量身定制的方法制造。简述宿主机/目标机的开发模式。答:交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机/目标机模式。宿主机(host)一般采用一台通用计算机(如PC机或者工作站),它通过串口(Serial)或者以太网(Ethernet)接口与目标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统(如Windows和Linux),而且还有各种各样优秀的开发工具(如WindRiver的Tornado、Microsoft的EmbeddedVisualC++等),能够大大提高嵌入式应用软件的开发速度和效率。目标机(target)一般在嵌入式应用软件的开发和调试期间使用,用来区别与嵌入式系统通信的宿主机。目标机可以是嵌入式应用软件的实际运行环境,也可以是能够替代实际运行环境的仿真系统,但软硬件资源通常都比较有限。嵌入式系统的交叉开发环境一般包括交叉编译器、交叉调试器和系统仿真器Emulator),其中交叉编译器用于在宿主机上生成能在目标机上运行的代码,而交叉调试器和系统仿真器则用于在宿主机与目标机间完成嵌入式软件的调试。第三章简述ARM处理器的特点。答:ARM处理器采用RISC架构,具有RISC的一般特点:采用大量的寄存器,指令执行速度更快;寻址方式灵活简单,执行效率高;采用固定长度的指令格式;大多数数据操作都在寄存器中进行,通过Load/Store的体系结构在内存和寄存器之间传递数据。因此ARM处理器的内核很小,功耗也就很低°ARM处理器还采用了一些特别的技术,在保证高性能的同时尽量减小芯片体积,降低芯片的功耗。这些技术包括:在同一条数据处理指令中包含算术逻辑处理单元处理和移位处理;使用地址自动增加(减少)来优化程序中循环处理;Loa山Store指令可以批量传输数据,从而提高传输数据的效率;所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行的效率;支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件。嵌入式RISC处理器ARM7TDMI中TDMI的基本含义分别是什么?答:T:支持16位压缩指令集Thumb。D:支持JTAG调试器,可片上Debug。M:支持64位长乘法指令I:嵌入式跟踪宏单元(ICE)。常用的ARM处理器系列都有哪些?答:ARM处理器目前应用比较多的是ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系

列、Intel的StrongARM、Xscale等多个系列,最新的系列是ARM11系列。ARM处理器一般支持的的数据类型都有哪些?答:8位有符号字节类型数据;8位无符号字节类型数据;16位有符号半字类型数据;16位无符号半字类型数据;32位有符号字类型数据;32位无符号字类型数据。什么是大端模式?什么是小端模式?请举例说明它们的区别。0x20030x20020x20010x2000所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。若寄存器R1=0x123456784,分别按小端模式和大端模式存储在0x2000字单元中,下图分别为在两种模式下内存的存0x20030x20020x20010x20000x20030x20020x20010x2000大端模式小端模式请简述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状态:ADRR0,TSTART+1BXR0ARM处理器有哪些工作模式?哪些是特权模式?哪些是异常模式?答:ARM体系结构支持7种工作模式(Processormodes),分别为用户模式(usr)、快中断模式(fiq)、中断模式(irq)、管理模式(svc)、数据访问终止模式(abt)、系统模式(sys)、及未定义指令中止模式(und)。除去用户模式外的其他6种处理器工作模式称为特权模式(PrivilegedModes)。除去用户模式和系统模式以外的5种处理器工作模式称为异常模式(ExceptionModes)ARM处理器共有多少个寄存器?在所有工作模式下,哪些寄存器都指向同一个物理寄存器?答:ARM处理器含有37个物理上独立的寄存器,其中包括31个通用寄存器和6个状态寄存器。R0-R12寄存器在所有工作模式下都指向同一个物理寄存器。

10.简述CPSR寄存器控制位的作用。条件标志位保留位控制位条件标志位保留位控制位NZ<■V1FTM4M3M2M]引M20尊27876542I0I1L答:(1)中断禁止位I、F:1=1禁止IRQ中断;F=1禁止FIQ中断。(2)T标志位:该位反映处理器的运行状态。当该位为1时,程序运行于Thumb状态,当该位为0时,表示运行于ARM状态。(3)运行模式位M[4:0]:M0、M1、M2、M3、M4是模式位。这些位决定了处理器的运行模式。11.ARM的异常中断包含哪些类型?它们的优先级顺序是怎样的?它们的异常向量地址是多少?答:异常类型优先级执行低地址执行高地址复位1(最高)0x00000000OxffffOOOO未定义指令6(最低)0x000000040xffff0004软件中断60x000000080xffff0008指令预取中止50x00000000OxffffOOOC数据访问中止20x00000010OxffffOOlO保留0x00000014OxffffOOK理异常时琪RM内核会做哪些处理?0x000000180xffff0018aRM处理器对异常中断的响应过程如下:OxOOOOOOlCOxffffOOlC12.当处答:保存处理器当前状态、中断屏蔽位以及各条件标志位。这是通过将当前程序状态寄存器CPSR的内容保存到将要执行的异常中断对应的SPSR寄存器中实现的。各异常中断有自己的物理SPSR寄存器。设置当前程序状态寄存器CPSR中相应的位。包括设置CPSR中的控制模式位,使处理器进入相应的执行模式;设置CPSR中的中断禁止位,如果进入IRQ模式时,禁止IRQ中断,如果当进入FIQ模式时,禁止FIQ中断。将寄存器LR_mode设置成返回地址。(4)将程序计数器值(PC)设置成该异常中断的中断向量地址,从而跳转到相应的异常中断处理程序执行。13.当异常结束时,ARM内核会做哪些处理?答:ARM系统处理完中断后从异常中断处理程序中返回包括下面的步骤:(1)恢复被中断的程序的处理状态,即将SPSR_mode寄存器内容复制到当前程序状态寄存器CPSR中。(2)返回到发生异常中断的指令的下一条指令处执行。即将LR_mode寄存器的内容复制程序计数器PC中。因为整个应用系统是从复位异常中断处理程序执行的,所以复位异常中断处理程序不需要返回。

第四章请列举ARM处理器的指令寻址方式。哪种寻址方式是ARM指令集特有的寻址方式?答:ARM处理器具有9种基本寻址方式,分别为立即寻址、寄存器寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址。寄存器移位寻址是ARM指令集特有的寻址方式。在ARM数据处理指令中,第二个操作数都有哪几种形式?答:第2个操作数的三种形式如下。立即数,例如:MOVR0,#0x0000F200;寄存器方式,例如:ADDR1,R1,R2;寄存器移位方式,例如:ANDSR1,R1,R2,LSLR3。请分别写出调用子程序、子程序返回所使用的指令,并简述所用指令的工作过程。答:用BL指令调用子程序。BL指令先将下一条指令的地址拷贝到R14(即LR)连接寄存器中,然后跳转到指定地址运行指令。子程序返回的指令是:MOVPC,LR。如图:存储器地址4010H,4014H,4018H的内容分别为1,2,3。寄存器R1,R2,R3的值都为0。R0的值为0x4010o存曜址颇I■:OLcH■iOLHII■:OL(IH■=UOcH问:给出指令执行后,寄存器R0,R1,R2,R3的结果°(IA:每次传送后地址加4)LDMIAR0!,{R1-R3}答:寄存器的值4020H0z000005h401cH0e0000&44018HOzOUUOOS4014H0z000002401OHUzOUUOUl400cH寄存器的值4020H0z000005h401cH0e0000&44018HOzOUUOOS4014H0z000002401OHUzOUUOUl400cHOzOOOOOO地址酬存俺地址敖根Lit0z4011:LIMIA指夸牧行后El=0te000001AREAExample1,CODE,READONLY;声明代码段Example1ENTRY;标识程序入口CODE32STARTMOVR0,#20(1)⑴MOVR1,#10TOC\o"1-5"\h\zLDRR5,=0x12345678(2)ANDSR2,R5,#0x20(3)CMPR2,#0(4)ADDEQR0,R0,#1(5)ADDNER1,R1,#1(6)HALTBHALTEND;文件结束请回答汇编语句(1)(2)(3)(4)(5)(6)的含义。此程序实现什么功能?a)语句(1)把常数20送到R0;语句(2)使用LDR伪指令把常数0x12345678送到R5;语句(3)将R5中的数据与0x20相与,影响标志位;语句(4)将R2的数据与0比较;语句(5)如果相等R0加1;语句(6)不相等R1加1(6分)b)测试数据0x12345678的bit[4](第五位)。如果是0,R0中的数据20加1。如果是1,R1中的数据10加1。(2分)6.用汇编语言编写程序,求1到50的累加和。答:AREAExample1,CODE,READONLYENTRYCODE32STARTLDRR5,=0x40003005MOVR0,#0MOVR1,#1LOOPBLSUMBLOOPSUMADDSR0,R0,R1ADDR1,R1,#1CMPR1,#50BLHIHALTMOVPC,LRHALTSTRR0,[R5]B.END7.请说明汇编语句STRBR2,[R0,#4]和STRR2,[R0,#4]!的区别。答:mem8[R0+4]=R2;R0不变mem32[R0+4]=R2;R0=R0+4mem32[]表示存储器的存储单元中存放的32位字数据,mem16[]表示存储器的存储单元中存放的16位半字数据,mem8[]表示存储器的存储单元中存放的8位字节数据请说明MOV指令和LDR指令在传送立即数时,使用方法的区别。答:MOV传送8位位图数据,例如:MOVR1,#0xFF000000;LDR伪指令传送32位立即数,例如:LDRR0,=0x12345678。请列举ARM处理器的四种堆栈类型,并说明它们的特点和区别。答:(1)满递增堆栈FA:堆栈指针指向最后压入的数据,且由低地址向高地址生长。(2)满递减堆栈FD:堆栈指针指向最后压入的数据,且由高地址向低地址生长。(3)空递增堆栈EA:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生长。(4)空递减堆栈ED:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生长。可以对状态寄存器操作的指令都有哪些,如何使用。答:ARM指令集提供了2条指令,可直接控制程序状态寄存器(psr,ProgramStateRegister)0MRS指令用于将CPSR或SPSR的值传送到通用寄存器中。MSR指令与之相反,用于将通用寄存器的内容或者立即数传送到到CPSR或SPSR中。例如:MRSR1,CPSRBICRl,Rl,#0x80;0b0l000000MSRCPSR_c,Rl第五章1.简述Xscale内核的特点。答:ARM的体系结构是基于RISC的,XSCALE是ARM处理器的一种,所以XSCLAE具有RISC的基本特性。XScale的超流水线(SuperPipeline)技术,主频高达600MHz以上。高效的存储器体系结构,主要包括32KBD-Cache、32KBI-Cache、2KBMiniDcache、FillBuffers、endingBuffers以及4.8GB/s带宽的存储总线,使处理器可以高效访问存储器。实现了基于统计分析的分支预测功能部件0XScale对ARM的乘加逻辑进行了增强,增加了8条DSP指令。简述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;支持PCMCIAandCompactFlashSDCard/MMCController(withSPImodesupport);2个IICControllers;3个SSPControllers;CAMERA接口;121个多功能GPIO;4种LOWPOWER模式;4个PWM简述GPIO模块的特点。答:PXA270处理器提供121个多功能输入/输出引脚,除了可以选择作为基本输入/输出使用外,还可以选择它的复用功能,复用功能包括串口通信接口,定时器输出,外部中断等。当多功能输入/输出引脚作为高速的通用GPIO接口时,可以用来生成和捕捉外设的输出和输入信号。每个GPIO引脚通过编程控制可实现输出或输入功能。当GPIO引脚作为输入时,通过设置上升或下降沿检测,可作为一个中断源来使用。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);答:#define#define#define#defineGPDR0GPDR1GPCR0GPSR15.编写程序代码,实现设置GPIO8和GPIO41为输出功能,GPIO8为低电平输出,设置GPIO41为高电平输出。答:#define#define#define#defineGPDR0GPDR1GPCR0GPSR1("(volatileunsignedchar*)(0x40E0000C)))("(volatileunsignedchar*)(0x40E00010)))("(volatileunsignedchar*)(0x40E00024)))("(volatileunsignedchar*)(0x40E0001C)))GPDR0=GPDR0|(0x01<<8);GPCR0=GPCR0|(0x01<<8);GPDR1=GPDR1|(0x01<<9);GPSR1=GPSR1|(0x01<<9);PAX270有几个UART单元,各有什么用途?答:PAX270有三个UART单元。全功能UART:FFUART支持调制解调器控制功能,最高波特率可达到921600bps。蓝牙UART:BTUART是一个高速的UART,所支持的波特率可达到921600bps,并且可以连接到蓝牙模块,但只支持调制解调器控制信号中的CTS和RTS信号。标准UART:STUART的最高波特率可达到921600bps,但不支持调制解调器控制信号。串行通讯的传输模式有哪些?简述RS232C接口的通信原理。答:串行通讯的传输模式有三种:单工、半双工和双工。RS232是全双工的数据发送模式,利用RS232通信时,仅适用3根基本的数据传输线有:RXD、TXD、GND。TXD(发送线):数据发送信号线,数据由该脚发出,送上通信线,没有数据传输时,逻辑电平为“1〃;RXD(接收线):数据接收信号线,从通信信号线来的数据,从该脚引入,在无信息时候,逻辑电平为“1〃;GND(地线):参考地信号线,为其他信号线提供电平参考。简述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分别与接收移位寄存器和发送移位寄存器直接相连。使用FFUART进行异步传输数据,以波特率为9600传送数据,则寄存器FFDLH和FFDLL应如何设置?答:波特率发生器的时钟通过PXA270的内部系统时钟来设定,采用14.7456MHz作为固定的输入时钟,并且可以对它以1至(216-1)分频。波特率发生器的时钟必须是波特率的16倍,波特率(BaudRate)可以通过以下公式计算:ne14.7456WZ

BaudRate=(\6xDivisor')FUART以波特率为9600传送数据,即baudrate=9600,经公式计算得Divisor=96,配置FFDLH=0X0,FFDLL=0x60。请编写使用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++;}}简述PXA270中断控制器的内部结构。答:PXA270中断控制器,通过设置寄存器ICMR屏蔽中断源。通过设置寄存器ICLR对中断源分类,即可以让中断源发出的中断请求以IRQ中断方式或以FIQ中断方式被处理。查询寄存器ICPR得知32个中断源当前是否有中断请求,在ICPR寄存器上显示发出中断请求的中断源不受ICMR影响,即ICMR即使屏蔽某个中断源,只要中断源发出中断请求,ICPR仍然会在相应的位上显示'1〃。查询寄存器ICIP得知以IRQ方式被处理的中断源是否发出中断请求,该寄存器受到ICMP影响。即ICIP=ICPR&ICMR&(〜ICLR)。查询寄存器ICFP得知以FIQ方式被处理的中断源是否发出中断请求,该寄存器受到1ICMP影响。即ICFP=ICPR&ICMR&ICLRo第六早简述基于XscalePXA270处理器的EELiod270开发平台,开发嵌入式Linux系统的交叉开发环境的搭建过程。答:构建基于嵌入式linux的交叉编译环境的构建过程主要包括以下几方面的内容。第一:安装一台装有指定操作系统的PC机作宿主开发机,宿主机器在硬件上需具备标准串口、并口和网口,对于嵌入式Linux,宿主机上的操作系统一般要求为RedhatLinux,在此,我们推荐使用Redhat9.0作为宿主机(开发主机)的操作系统。第二:检测目标机与宿主机的连接,通过串口实现通信,查看目标机系统的内容。在windows下使用超级终端,在linux下使用minicomo第三:在宿主机上建立交叉编译环境。利用GNU编译器的交叉编辑工具链,生成可在ARM系统架构上执行的二进制可执行程序。第四:实现目标机与宿主机之间文件的传输。设置统一段的网络,通过nfs网络文件共享文件,FTP网络传输上传下载文件。第五:烧写嵌入式Linux内核、Bootloader.文件系统映像以及应用程序到目标板。软件的更新通常使用串口或网口,最初的Bootloader烧写是通过并口进行的。宿主PC机上如何查看XSBase270目标板系统的内容?答:在Linux操作系统安装完成后,就可以使用Linux下的minicom来检测宿主机和目标机的连接。在Windows下面可使用超级终端。如何测试交叉编译环境是否建立成功?答:首先,使用VI编辑器创建一个hello.c文件。[root@localhostxscale270]#vihello.c编写一个简单的程序来打印出一行简单的信息:WelcomeEmdoor!。保存并退出该文件。使用如下的命令来编译该文件。[root@localhostxscale270]#gcc-ohellohello.c[root@localhostxscale270]#arm-linux-gcc-ohellohello.cgcc编程生成的是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机上的一部分文件系统作为目标机的资源,这样可以弥补目标机存储空间的不足。文件传输协议ftp(FileTransimitProtocol)利用以太网实现文件的传输。需要上传的文件应保存到宿主机的闵ar/ftp/pub目录下。简述Makefile的基本结构。答:Makefile文件由一组依赖关系和规则构成。每个依赖关系有一个目标(即将要创建的文件)和一组该目标所依赖的源文件组成。Makefile的基本结构:target:dependency_filescommand结构中各部分的含义如下:target(目标):一个目标文件,可以是Object文件,也可以是执行文件,还可以是一个标签(Label)。dependency_files(依赖文件):要生成目标文件(target)所依赖哪些文件。command(命令):创建项目时需要运行的shell命令使用Makefile编译程序的优点是什么?答:在Linux环境下,对于只含

温馨提示

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

最新文档

评论

0/150

提交评论