资源描述
1.嵌入式系统是以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。2.在嵌入式系统设计过程中,需求分析包括:功能性需求分析和非功能性需求分析。3.ARM字数据存储格式有:大端格式和小端格式。4.总线按照传输关系分类可分为:主从结构和对等结构。5.RS-232C的帧格式由四部分组成,包括:起始位、数据位、奇偶校验位和停止位。6.USB低速设备应该在D-线上接一个上拉电阻,全速设备应该在D+线上接一个上拉电阻。7.I/O接口电路数据传送方式有:查询、中断、DMA、I/O通道和I/O处理机方式。实时系统的关键问题是保证系统的实时性;实时操作系统就是指具有实时性、能支持实时系统工作的操作系统。实时操作系统的评价指标有:任务调度算法、上下文切换时间、确定性、最小内存开销和最大中断禁止时间。1.下面哪个系统属于嵌入式系统。( D )A、“天河一号”计算机系统B、联想T400笔记本计算机C、联想S10上网本D、联想OPhone手机2.软硬件协同设计方法与传统设计方法的最大不同之处在于( B )。A、软硬件分开描述B、软硬件统一描述C、协同测试D、协同验证3.下面关于哈佛结构描述正确的是( A )。A、程序存储空间与数据存储空间分离B、存储空间与IO空间分离C、程序存储空间与数据存储空间合并D、存储空间与IO空间合并4.下面哪一种工作模式不属于ARM特权模式( A )。A、用户模式B、系统模式C、软中断模式D、FIQ模式5.ARM7TDMI的工作状态包括( D )。A、测试状态和运行状态B、挂起状态和就绪状态C、就绪状态和运行状态D、ARM状态和Thumb状态6.指令“LDMIA R0!, R1, R2, R3, R4”的寻址方式为( C )。A、立即寻址B、寄存器间接寻址C、多寄存器寻址D、堆栈寻址7.USB接口移动硬盘最合适的传输类型为( B )。A、控制传输B、批量传输C、中断传输D、等时传输8.下面哪一种功能单元不属于I/O接口电路。( D )A、USB控制器 B、UART控制器C、以太网控制器D、LED9.下面哪个操作系统是嵌入式操作系统。( B )A、Red-hat LinuxB、CLinuxC、Ubuntu LinuxD、SUSE Linux10.使用Host-Target联合开发嵌入式应用,( B )不是必须的。A、宿主机B、银河麒麟操作系统C、目标机D、交叉编译器简答题1.简述嵌入式处理器的特点(列出五个特点以上)。答:低档处理器多采用哈佛结构,高档处理器多采用冯诺伊曼结构;品种规格2.系列化;对实时多任务有很强的支持能力;可靠性高、功耗低、集成度高、性价比高。(每个特点1分)3.什么是CMOS电平?有何特点?答:发送端:高电平0.9Vdd,低电平0.7Vdd,低电平0.3Vdd。(2分)特点:噪声容限大,负载能力强。(1分)4.什么是信号的建立时间?什么是信号的保持时间?答: 建立时间:在时钟信号边沿到来之前,数据信号必须提前一段时间保持稳定有效。(2.5分)保持时间:在时钟信号边沿到来之后,数据信号必须在随后的一段时间内保持稳定有效。(2.5分)5.什么是非抢先式实时操作系统?有何优缺点?它的实时性如何决定?答:对于基于优先级的实时操作系统而言,非抢先式实时操作系统是指某个任务运行后,就把CPU控制权完全交给了该任务,直到它主动将CPU控制权还回来。(2分)优点:实时性比不使用实时操作系统的好,程序设计相对简单,可调用不可重入函数(任务间不嵌套)。(1分)缺点:如果最长任务的执行时间不能确定,系统的实时性就不能确定。(1分)实时性:取决于最长任务的执行时间。(1分)6.简述优先级倒置产生的条件、现象以及解决方案。答:条件:基于优先级抢先式的任务调度、资源共享。(1分)现象:低优先级任务L和高优先级任务H共享资源,在任务L占有共享资源之后,任务H就绪,但这时任务H必须等待任务L完成对共享资源的操作。在任务L完成对共享资源的操作之前,任务M也已就绪并将抢先任务L运行。在任务M运行时,系统中具有最高优先级的任务H仍然保持挂起状态。(3分)解决方案:优先级继承、优先级顶置。(1分)7.右下图为USB批量IN传输事务流程图,请根据右下图用文字叙述其工作过程(包括4+2个分支并说明分支出现的原因)。答:令牌段:(2分)主机发出令牌包,寻址从机。数据段:(4分)从机如果接收令牌包出错,无响应;从机端点不存在,回送STALL;从机端点数据未准备好,回送NAK;从机端点数据准备好,回送数据包。握手段:(4分)主机如果接收数据包出错,无响应;主机如果接收数据包正确,回送ACK。请用C语言编写一个简单框架程序(个别地方也可文字叙述),要求体现前后台系统的编程思想(任务就是一个函数,直接调用,无需实现,但至少三个任务),并分析前后台系统的优缺点以及它的实时性如何决定。答:后台程序:void main( void )Init( )/初始化while(1) (1分)if( eventFlag1) (1分)task1( );else if( eventFlag2) (1分)task2( );else if( eventFlag3) (1分)task3( );前台程序:_irq void HandleFlag1( void ) (1分)清中断请求标志;eventFlag1 = true;_irq void HandleFlag2( void ) (1分)清中断请求标志;eventFlag2 = true;_irq void HandleFlag3( void ) (1分)清中断请求标志;eventFlag3 = true;优点:系统结构简单,几乎不需要额外的存储开销。(1分)缺点:所有的任务具有相同的优先级别,任务响应时间不可预测;后台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。(1分)实时性:取决于所有其它任务的执行时间之和。(1分)形形色色的嵌入式系统默默无闻地生活在我们的身边,为我们的学习生活增加了无穷的乐趣。请列举你所熟悉的五个嵌入式应用系统,并对每个嵌入式系统作简单的分析(指出它为什么是嵌入式系统)。答:答案众多(评分标准:每一个应用2分,其中题目1分,简要分析1分)U盘(2分);MP3播放器(2分);手机(2分);蓝牙耳机(2分);GPS导航仪(2分)。等等简要分析略。8.从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。9.嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。ARM系列微处理器支持的边界对齐格式有:字节对齐、半字对齐和字对齐。10.RAM存储器有两种,分别是:SRMA和DRAM。总线由传输信息的物理介质和管理信息传输的协议组成。采用RS232C实现最简单的双机互联,至少需要如下信号线:TXD、RXD和GND。USB通信总线中的事务可能由令牌包、数据包和握手包组成。11.I/O接口编址方式有两种,分别是:统一编址和独立编址。12.在宿主机上使用编译器软件将嵌入式应用、嵌入式操作系统编译成为可以在目标机上运行代码的过程,称为交叉编译,而采用的编译器称为交叉编译器。13.嵌入式操作系统的内核构成包括系统初始化、多任务管理和内存管理。14.下面哪个系统不属于嵌入式系统( D )。A、MP3播放器B、GPS接收机C、“银河玉衡”核心路由器D、“天河一号”计算机系统15.在嵌入式系统设计中,嵌入式处理器选型是在进行( C )时完成。A、需求分析B、系统集成C、体系结构设计D、软硬件设计16.下面哪一类嵌入式处理器最适合于用于工业控制( B )。A、嵌入式微处理器B、微控制器C、DSPD、以上都不合适17.关于ARM子程序和Thumb子程序互相调用描述正确的是( B )。A、系统初始化之后,ARM处理器只能工作在一种状态,不存在互相调用。B、只要遵循一定调用的规则,Thumb子程序和ARM子程序就可以互相调用。C、只要遵循一定调用的规则,仅能Thumb子程序调用ARM子程序。D、只要遵循一定调用的规则,仅能ARM子程序调用Thumb子程序。18.关于ARM处理器的异常的描述不正确的是( C )。A、复位属于异常B、除数为零会引起异常C、所有异常都要返回D、外部中断会引起异常19.下面总线不属于对等结构的是( A )。A、PCIB、IEEE1394C、令牌网D、以太网20.USB总线采用的通信方式为( A )。A、轮询方式B、中断方式C、DMA方式D、I/O通道方式21.嵌入式系统最常用的数据传送方式是( B )。A、查询B、中断C、DMAD、I/O处理机22,Clinux与标准Linux最大的区别在于( B )。A、文件系统 B、内存管理C、任务调度算法D、应用开发模式23.嵌入式操作系统一般通过( A )手段来解决代码体积与嵌入式应用多样性嵌入式操作系统一般通过( A )手段来解决代码体积与嵌入式应用多样性的问题。A、使用可定制的操作系统B、将操作系统分布在多个处理器上运行C、增大嵌入式设备的存储容量D、使用压缩软件对操作系统进行压缩24.谈一谈嵌入式系统的发展趋势(列出五个趋势以上)。答:产品种类不断丰富;应用范围不断普及;性能不断提高;功耗不断降低,体积不断缩小;网络化、智能化程度不断提高;软件成为影响价格的主要因素。(每个趋势1分)25.简述嵌入式微处理器的特点。答:嵌入式微处理器的特点:通用微处理器的增强,一般为32位。(1分)构成:一般CPU、存储器、I/O接口三者分离;(1分)性能:一般为1002000MIPS;(1分)存储器:Flash一般为116MB,SDRAM一般为264MB;(1分)一般加载复杂嵌入式操作系统:VxWorks、WinCE、Clinux等。(1分)26.什么是访存时序配合?答:存控发出的信号要满足存储器的时序要求(2.5分);存储器返回的信号要满足存控的时序要求(2.5分)。27.请指出USB总线的四种传输类型,并指出每一种传输类型的基本特点。答:四种传输类型:控制传输、批量传输、中断传输和等时传输(1分)控制传输:双向,纠错,查询、配置设备信息;(1分)批量传输:单向,纠错,大块无结构数据,延迟不定;(1分)中断传输:单向,纠错,小块无结构数据,延迟确定;(1分)等时传输:单向,无纠错,大块无结构数据,延迟确定。(1分)28.什么是前后台系统?有何优缺点?它的实时性如何决定?答:前后台系统:分为前台程序和后台程序。前台程序也称中断级程序,通过中断来处理事件,在中断服务子程序中,一般对中断做一些简单的处理,然后给出事件发生的标志,待后台程序来处理;后台程序也称任务级程序,一个死循环,循环查询各种标志位,如果标志位置位,就执行相应的任务程序。(2分)优点:系统结构简单,几乎不需要额外的存储开销。(1分)缺点:所有的任务具有相同的优先级别,任务响应时间不可预测;后台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。(1分)实时性:取决于所有其它任务的执行时间之和。(1分)29.简述嵌入式操作系统和实时操作系统的关系。答:“嵌入式”并不意味着“实时”,例如Clinux、Embedded Linux为嵌入式操作系统但非实时操作系统(2分);“实时”并不意味着“嵌入式”,例如OpenVMS(工作站、小型机)为实时操作系统但非嵌入式操作系统(2分);不过实际上,目前的嵌入式操作系统(EOS)基本上是实时操作系统(RTOS)(1分)。下图为单周期存储器读时序图。clk为时钟信号,上升沿有效;rd为读信号,高电平有效。问:如果主设备要求的建立时间,保持时间,则此系统的最高时钟频率为多少?能否满足保持时间的要求?(要求写出计算过程)。参考功能描述最小值最大值单位t0rd延迟时间510nst1rd持续时间60nst2rd有效到数据输出30nst3rd无效到data持续时间510ns答:满足存储器读rd时序要求,则时钟周期要保证主设备有足够的建立时间,则时钟周期要保证主设备有足够的保持时间最高时钟频率为分析下述S3C44B0x的示例程序。#include volatile unsigned long timeval; / 当前时刻void main(void) init_timer();/ Initialize Timerwhile(1) pPIO-PDATE = 0xFD; / Turn LED1 Onwait(1000);/ Wait 1000mspPIO-PDATE = 0xFB;/ Turn LED2 Onwait(1000);/ Wait 1000ms/ 初始化Timer5以及开定时中断void init_timer(void) / 1ms产生一次定时中断_irq void HandlerTIMER5(void)timeval+; pIC-I_ISPC = INT_TIMER5; / 等待函数,以毫秒为单位void wait(unsigned long time) 问:语句“while (1)”的作用是什么?关键词“_irq”的作用是什么?语句“pIC-I_ISPC = INT_TIMER5;”的作用是什么?子程序HandlerTIMER5并未被调用,它是如何执行的?此程序的功能是什么?答: 语句“while (1)”的作用是死循环、等待中断、LED显示;(2分) 关键词“_irq”的作用是指明该函数为IRQ中断服务子程序;(2分) 语句“pIC-I_ISPC = INT_TIMER5;”的作用是清除中断请求标志;(2分) 中断源发出中断请求,CPU响应中断并查询中断源得到中断向量表入口地址,到中断向量表相应入口地址取指令执行,该处为跳转指令,执行跳转指令跳转到子程序HandlerTIMER5处执行;(2分) 此程序的功能是双灯闪烁。(2分)3、PC机不是嵌入式系统,但是PC机中却包含了大量的嵌入式系统。列举其中包含的嵌入式应用系统(至少三个),并对每个嵌入式应用系统作简单的介绍和分析。答:答案众多(评分标准:每一个应用3分,叙述详细最多加1分)键盘、鼠标、光驱、显示器等,介绍及分析略。ARM处理器状态 ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。 ARM处理器状态 进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。ARM处理器模式 ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys):运行具有特权的操作系统任务。定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。ARM处理器模式 ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。ARM寄存器 ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。以及6个32位状态寄存器。 关于寄存器这里就不详细介绍了,有兴趣的人可以上网找找,很多这方面的资料。异常处理 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。当一个异常出现以后,ARM微处理器会执行以下几步操作:进入异常处理的基本步骤:将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。将CPSR复制到相应的SPSR中。根据异常类型,强制设置CPSR的运行模式位。强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。 ARM微处理器对异常的响应过程用伪码可以描述为: R14_ = Return LinkSPSR_= CPSRCPSR4:0 = Exception Mode NumberCPSR5 = 0 ;当运行于 ARM 工作状态时If = Reset or FIQ then;当响应 FIQ 异常时,禁止新的 FIQ 异常CPSR6 = 1PSR7 = 1PC = Exception Vector Address异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:将连接寄存器LR的值减去相应的偏移量后送到PC中。将SPSR复制回CPSR中。若在进入异常处理时设置了中断禁止位,要在此清除。.1、以下说法不正确的是( 2 )。A、任务可以有类型说明B、任务可以返回一个数值 C、任务可以有形参变量D、任务是一个无限循环2下列描述不属于RISC计算机的特点的是( 3 )。 A流水线每周期前进一步。B更多通用寄存器。C指令长度不固定,执行需要多个周期。D独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。3 存储一个32位数0x2168465到2000H2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( 4)。A、0x21B、0x68C、0x65D、0x024 COS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(4)A. 先CLI、执行关键代码、再STI B. 先STI、执行关键代码、再CLI C. 先POPF、CLI、执行关键代码、再PUSHF D. 先PUSHF、CLI、执行关键代码、再POPF。5 RS232-C串口通信中,表示逻辑1的电平是(4 )。A、0vB、3.3vC、5v15vD、5v15v6 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是( )。A. R0 = R2 + (R3 1) B. R0 =( R2 1) + R3 C. R3= R0+ (R2 1) D. (R3 1)= R0+ R2 7 IRQ中断的入口地址是( )。FIQ的入口地址为0x0000001CA、0x00000000B、0x00000008C、0x00000018D、0x000000148 S3C2420X I/O口常用的控制器是( )。(1)端口控制寄存器(GPACON-GPHCON)。 (2)端口数据寄存器(GPADAT-GPHDAT)。(3)外部中断控制寄存器(EXTINTN)。 (4)以上都是。9 实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为( )。A. 同步 B. 互斥 C. 调度 D. 执行10 和PC系统机相比嵌入式系统不具备以下哪个特点( )。A、系统内核小B、专用性强C、可执行多任务D、系统精简11 、ADDR0,R1,#3属于( )寻址方式。A. 立即寻址B. 多寄存器寻址C. 寄存器直接寻址D. 相对寻址12、GET伪指令的含义是( )A. 包含一个外部文件B. 定义程序的入口C. 定义一个宏D. 声明一个变量13、存储一个32位数0x876165到2000H2003H四个字节单元中,若以小端模式存储,则2000H存储单元的内容为( )。A、0x00B、0x87C、0x65D、0x6114、COS-II操作系统不属于( )。A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDRR0,R1,8!后R0的值为( )。A. 0x2000B. 0x86C. 0x2008D. 0x3916、寄存器R13除了可以做通用寄存器外,还可以做( )。A、程序计数器B、链接寄存器C、栈指针寄存器 D、基址寄存器17、FIQ中断的入口地址是( )。A、0x0000001CB、0x00000008C、0x00000018D、0x0000001418、ARM指令集和Thumb指令集分别是( )位的。A. 8位,16位B. 16位,32位C. 16位,16位D. 32位,16位19、ARM寄存器组有( )个寄存器。A、7B、32C、6D、3720、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDRR0,R1,8!后R0的值为( )。A. 0x2000B. 0x28C. 0x2008 D. 0x8721、寄存器R15除了可以做通用寄存器外,还可以做( )A. 程序计数器B. 链接寄存器C. 堆栈指针寄存器D. 基址寄存器22、嵌入式系统有硬件和软件部分构成,以下()不属于嵌入式系统软件。A. 系统软件 B. 驱动 C. FPGA编程软件 D. 嵌入式中间件 26、假设R1=0x31,R2=0x2 则执行指令ADDR0,R1,R2 LSL #3 后,R0的值是( )A. 0x33B. 0x34C. 0x39D. 0x3823、和PC机系统相比下列哪个不是嵌入式系统独具的特点( )A、系统内核小B、专用性强C、可执行多任务D、系统精简24、Unicode编码与( )编码方式兼容。A、ASCII码B、GBKC、GB2312D、区位码25 、Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用()完成。A硬件 B. 软件 C. 用户 D. 程序员26 在C/OS-II系统中,OSTimeTick()函数只被以下( )函数或过程所调用。A. OSTickISR B. OSShed C. OSCtxSwD. OSIntCtxSw27 每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是( )。A. 嵌入式Linux提供了完善的网络技术支持;B. mCLinux是专门为没有MMU的ARM芯片开发的;C. mC/OS-操作系统是一种实时操作系统(RTOS);D. WinCE提供完全开放的源代码。28 下列关于存储管理单元(MMU)说法错误的是()。A. MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。C. MMU提供了一些资源以允许使用虚拟存储器。D. MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。29 下列CPSR寄存器标志位的作用说法错误的是()。A. N:负数 B. Z: 零 C. C: 进位 D. V: 借位30 S3C2410X处理器为用户进行应用设计提供了支持多主总线的IIC接口。处理器提供符合IIC协议的设备连接的串行连接线为( )。A. SCL和RTXB. RTX和RCXC. SCL和SDA D. SDA和RCX31 RQ中断的优先级别是( )。A. 1B. 2C. 3D. 432 LDR R2,R3,#128 的寻址方式是( )。A. 寄存器寻址B. 寄存器移位C. 变址寻址 D. 间接寻址33 S3C2410有( )个USB接口。A. 1B. 2C.3 D. 434 ARM处理器的工作模式有( )种。A. 5 B.6 C. 7 D.8选择题参考1一、选择题1. ARM 属于( )A RISC 架构B CISC架构2. ARM 指令集是( )位宽,Thumb 指令集是( )位宽的。A 8位B 16 位 C 32位 D 64位3. ARM 指令集是( )字节对齐,Thumb 指令集是( )字节对齐的E 1 F 2 G 3 H 44. 复位后,ARM处理器处于( )模式,( ) 状态A UserB SVC C System D ARM E Thumb 5. ARM处理器总共( )个寄存器,System模式下使用( )个寄存器,SVC模式下使用( )个寄存器。A 17个B 18个 C 32个 D 36个 E 37个 6. ARM处理器中优先级别最高的异常为( ),( )异常可以用来响应中断A FIQB SWI C IRQ D SVC E RESET7. ARM数据处理指令中有效的立即数是(ACEGH ) A 0X00AB0000B 0X0000FFFF C 0XF000000F D 0X08000012E 0X00001F80 F 0XFFFFFFFF G 0 H 0XFF0000008. ATPCS规定中,推荐子函数参数最大为( ) 个A 1B 2 C 3 D 49. ATPCS规定中,栈是( )A 满加B 满减 C 空加 D 空减10. 在用ARM汇编编程是,其寄存器有多个别名,通常PC是指( ),LR 是指( ),SP是指( )A R12B R13 C R14 D R1511. CPSR寄存器中反映处理器状态的位是( )A J位B I位 C F位 D T位12. 下面属于ARM 子程序调用指令的是( )A BB BX C BL D MOV13. ARM7属于( )结构,ARM9属于( )结构。A 冯.诺依曼 B 哈佛14. ARM7是( )级流水线,ARM9是( )级流水线。A 1B 3 C 5 D 7 15. ARM中可以访问状态寄存器的指令是( ),能够访问内存的指令是( )A MOVB LDR C MCR D MRS16. 异步串口中数据位可以是( ABCD )A 5B 6 C 7 D 817. I2C协议中有几根线( B )A 1B 2 C 3 D 418. I2C协议中设备地址模式有( AC )A 7位地址模式B 8位地址模式 C 10位地址模式 D 4地址模式19. S3C2410采用的是( D )核心A ARM7TDMIB ARM9TDMI C ARM926EJ-S D ARM920T20. 在串行异步通讯中,发送端串口的TxD要和接收端串口的( B )相连接A TxDB RxD C nCTS D nRTS21. 在嵌入式系统设计中可以通过( B )来测量电池电压,可以用(C)来驱动喇叭发声A DACB ADC C PWM D Timer E RTC22. MMU的作用有( AB )A 内存保护B 地址转换 C 加快存取速度 D 安全保密 E 内存分配23. 以下属于DMA特点的有( BC )A 占用CPUB 占用总线 C 不占用CPU D 不占用总线24. 下面的设备中属于闪存的设备有( AD )A K9F1208U0M B MAX3232 C HY57V561620 D Am29LV160D25. I2C传输是( B )方式传输A 单工B 半双工 C 全双工二、简答题1. 简述ARM发生异常时,ARM核心会自动做哪些事情?从异常返回时,我们要做哪些事情?当异常产生时, ARM core:拷贝 CPSR 到 SPSR_设置适当的 CPSR 位: 改变处理器状态进入 ARM 状态改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断 (如果需要)保存返回地址到 LR_设置 PC 为相应的异常向量返回时, 异常处理需要:从 SPSR_恢复CPSR从LR_恢复PC Note:这些操作只能在 ARM 态执行.2. 用ARM汇编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配。假定低32位数存放在r0和r1里面,高32位数存放在r2和r3里面。加法:ADDS r0, r0, r1 /加S是因为要让这个操作影响标志位ADC r2, r2, r3 /ADC是带进位的加法,如果上一条指令产生进位则一起加进来减法:SUBS r0, r0, r1 /加S是因为要让这个操作影响标志位SBC r2, r2, r3 / SBC是带进位的减法指令3. 请列举ARM处理器的模式和异常,并说明各个发生异常时ARM处理器所处的模式异常: Reset Data AbortFIQIRQPrefetch AbortSWIUndefined instruction处理器模式 User : 非特权模式,大部分任务执行在这种模式 FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式 IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式 Supervisor :当复位或软中断指令执行时将会进入这种模式 Abort : 当存取异常时将会进入这种模式 Undef : 当执行未定义指令时会进入这种模式 System : 使用和User模式相同寄存器集的特权模式4. FIQ的什么特点使得它处理的速度比IRQ快?1)FIQ优先级比IRQ高,不会被中断2)FIQ有自己的专属寄存器:r8r12,不用对通用寄存器入栈保护,可以加快速度3)FIQ位于异常向量表的末尾0x1c,故无需跳转,可以在这里直接放置异常处理函数5. 什么指令可以放在中断向量表?跳转指令,给PC赋值的指令B,LDR,MOV6. ARM处理器 中断向量表位于存储器的什么位置?默认:0x0也可以配置成:0Xffff00007. 下列 ARM 指令将做什么?a) LDRH r0,r1,#6 b) LDR r0, =0x999a:将r1寄存器的值加上6,然后把以这个值为地址的内存单元里的值取半字(低16位)赋给r0b:将立即数0x999赋给r0,注意这是一个伪指令8. SWP 指令的优势是什么?用来实现什么功能?功能:在寄存器和存储器之间,由一次存储器读和一次存储器写组成的原子操作。完成一个字节或字的交换。可以用来实现信号量9. S3C2410 支持几种引导方式(或者说是内存映射方式)?简述Nand引导方式S3C2410硬件做的事情。1)nor flash启动方式。2)nand flash启动方式。从Nand flash 启动时,S3C2410首先会执行固化在片上ROM中的一段小程序,这段程序负责将nand flash前2K的代码搬移到片上RAM,然后将PC指针指向0x0地址(注意这个时候片上RAM被映射到0x0的起始地址)10. 简述 static和volatile 关键字的含义和作用。c语言中static关键字有两个作用,一是文件作用域,二是函数作用域。文件作用域关键字static的作用是,以static申明的全局变量、函数不得被其他文件所引用static另外一个用途是函数内部静态变量,只会被初始化一次,而且变量存储在全局数据段中而不是函数栈中,所以其生命期会一直持续到程序退出一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份选择题参考21BKPT是()A加法指令B断点中断指令C软中断指令 D 测试指令2ARM 处理器的寄存器中,分组寄存器是指( )AR13BR8R14CR0R7 D R143ARM9流水线级数( )A3B5C8D 94在嵌入式系统设计中可以通过()来测量电池电压, A TimerB PWM C ADC D DAC 5ARM920T是一种高性能单片系统处理器,它是多少位的( )A8 B16 C32 D 646用于对数字变量赋值的伪操作是()ASETSBSETLCSETAD 都不是7程序状态寄存器(CPSR)中的第6位,也即F位为( ) A 模式位B状态位C中断使能位 D 快速中断使能位8、ARM的存储器系统中系统访问寄存器组的速度是()A 最快B中C最慢D 不可预测9在串行异步通讯中,发送端串口的TxD要和接收端串口的( )相连接 A nRTS B nCTS C RxD D TxD11MOV R2,#0x1007 LDR R0,R2,#4执行上述两条指令后,R2寄存器的值为()A0x1007B0x10a1C0x10a0D 不能确定12ARM 处理器的寄存器中,未分组寄存器有()A1 B4 C8 D 1613Thumb 指令集是()字节对齐的A1 B2 C3 D 415带返回的跳转,没有状态切换的跳转指令是()ABBBXCBLD BLX16对寄存器R3的内容乘以4的正确指令是()AMOV R3,R3,LSR#2 BLSL R3,#4C MOV R3,R3,LSL#2 D LSR R3,#417用于定义一个结构化的内存表的数据域伪操作是()AFIELDBMAPCSPACED DCD18MSR R1,CPSR指令的功能是( )A将CPSR状态寄存器读出,保存到R1中B将SPSR状态寄存器读出,保存到R1中C将R1的值赋给CPSR状态寄存器读D 将R1的值赋给SPSR状态寄存器读20S3C2410的PWM定时器中仅供内部使用没有输出引脚的是( )A定时器2 B定时器3 C定时器4 D 定时器521用ARM汇编代码实现以下C程序段(不要求程序格式,只需写出主要语句)。if (x100)x=1;elsey=1;一、 填空题(每空2分,共40分) 得分评阅人 1、 嵌入式系统的设计可以分成三个阶段:分析、 设计 和 实现 2、 目前使用的嵌入式操作系统主要有 Windows CE/Windows Mobile Linux、uCos、和 Symbian 3、 XScale微处理器使用的是ARM公司 ARMV5TE 版内核和指令集。4、 微处理器有两种总线架构,使用数据和指令使用同一接口的是 冯诺依曼 ,分开的指令和数据接口、取指和数据访问可以并行进行的是 哈佛结构 5、 ARM微处理器有七种工作模式,它们分为两类 非特权模式 、 特权模式 。其中用户模式属于 非特权模式 6、 ARM核有两个指令集,分别是 ARM 、 Thumb 7、 ARM微处理器复位后,PC(R15)的地址通常是 0X0 ,初始的工作模式是 管理模式8、在ARM体系构架中对复杂的内存管理是通过系统控制协处理器 cp15 和MMU(存储管理部件)来进行的。当系统发生 Data Abort(数据)异常和 Prefetch Abort(指令领取) 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。9、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,ARM公司提供的工具链是 ADS工具链 二、指令和程序测试题(共24分) 1、 写一条 ARM 指令,完成操作r1 = r2 * 4(4分)MOV R1,R2,LSL #32、 初始值R2=5,R3=4,R4=3,执行指令SUBS R2, R3,R4,LSR #2后,寄存器R2,R3的值分别是多少?(4分)R2=3,R3=43、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。(8分)num EQU 2 start MOV r0, #1 MOV r1, #6 MOV r2, #3 BL arithfunc stop B stop arithfunc CMP r0, #num MOVHS pc, lr ADR r3, JumpTable LDR pc, r3,r0,LSL#2 JumpTable DCD (.WORD) DoA ;注意:使用ADS开发工具用伪指令DCD DCD (.WORD) DoS ; 使用GNU开发工具用伪指令.WORD DoA ADD r0, r1, r2 MOV pc, lr DoS SUB r0, r1, r2 MOV pc,lr END 答:R0为0执行DoA,R0为0执行DoS,流程图略。R0=5。4、有程序段如下,实现下面流程图,试补充编写ARM汇编代码。(8分)程序段:MOV r0, #15MOV r1, #9start;补充代码stopB stopEND程序:Start: CMP r0,r1 SUBLT r1,r1,r0 SUBGT r0,r0,r1 BNE start二、 问答题(每题6分,共36分) 得分评阅人 1、 嵌入式开发环境主要包括哪些组件?答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括l 宿主机l 目标机(评估电路板)l 基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICEl 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境l 嵌入式操作系统2、ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来存储什么?答:R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,R14通常用来做链接寄存器,保存函数调用的返回地址3、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。4、简述嵌入式系统的概念、组成及特点。答:嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。 其特点有 l 嵌入式系统通常是面向特定应用的l 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物 l 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余l 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行l 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中 l 嵌入式系统本身不具备自举开发能力 5、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?答:RS-232,以太网口、并口在Windows主机上使用超级终端软件在Linux主机上使用Minicom软件6、进行基于ARM核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)则这四个参数通过什么方式从调用程序传入被调函数?答:基于ARM核的嵌入式系统软件开发时,调用函数和子程序通过R0R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入,
展开阅读全文