版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE5第页共25页ARM微处理器有7种工作模式,它们分为两类非特权模式、特权模式。其中用户模式属于非特权模式ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM、Thumb,状态寄存器CPSR的T位反映了处理器运行不同指令的当前状态ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15寄存器用于存储PC,R13通常用来存储SP,ARM处理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼结构,数据和指令分开使用不同接口的是哈佛结构ARM微处理器复位后,PC的地址通常是0x0,初始的工作模式是Supervisor。ARM微处理器支持虚拟内存,它是通过系统控制协处理器CP15和MMU(存储管理部件)来进行虚拟内存的存储和管理。当系统发生数据异常和指令领取异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。编译链接代码时,有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是打断对齐构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU工具链,ARM公司提供的工具链是ADS工具链计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于RISC类型,其指令长度是定长的目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。WindowsCE/WindowsMobile、VxWork、Linux、uCos、Symbian、QNX任选六2、ARM系统中的堆栈有四种,如下图。请按图标出四种堆栈的类型。ATPCS编程规范约定使用的堆栈是哪一种?答:FD、FA、ED、EA。ATPCS编程规范约定使用的堆栈是FD3、BootLoader在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:BootLoader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过BootLoader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?答:RS-232,以太网口、并口在Windows主机上使用超级终端软件在Linux主机上使用Minicom软件5嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括宿主机目标机(评估电路板)基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境嵌入式操作系统6在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:intdo_something(intarg1,void*arg2,chararg3,int*arg4)这四个参数通过什么方式从调用程序传入被调函数?根据ATPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入,arg2,通过R1传入,arg3通过R2传入,arg4通过R3传入7目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。WindowsCE/WindowsMobile、VxWork、Linux、uCos、Symbian、QNX任选六写一条ARM指令,完成操作r1=r2*3(4分)ADDR1,R2,R2,LSL#1初始值R1=23H,R2=0FH执行指令BICR0,R1,R2,LSL#1后,寄存器R0,R1的值分别是多少?(4分)R0=21H,R1=23H3、说明指令STMIA r12!,{r0-r11}的操作功能。(4分)将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。4、写一段ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。(8分) AREAtotal,CODEREADONLY ENTRYstart MOV r4,#0 ADR r0,myarray;在此补充代码loopLDRr1,[r0],#4 ADD r4,r4,r1CMP r1,#0BNE loop7、哈佛体系结构数据空间和地址空间(分开),ARM7TDMI采用(冯诺依曼体系)的内核架构。8.ARM7TDMI采用(3)级流水线结构,ARM920TDMI采用(5)级流水线。9.按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)操作系统,VxWorks属于(实时嵌入式)操作系统。10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可调试),M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。 (D)(A)处理器的编译器能够产生可重入代码 (B)在程序中可以找开或者关闭中断(C)处理器支持中断,并且能产生定时中断 (D)有大量的存储空间2、下面哪种操作系统最方便移植到嵌入式设备中。 (D)(A)DOS (B)unix(C)Windowsxp (D)linux3、下面哪个选项不是SUB设备的特点。(B)(A)串行通信方式(B)不可热拨插(C)分HOST、DEVICE和HUB (D)通信速率比RS232快4、下面哪种嵌入式操作系统很少用于手机终端设备上。 (C)(A)Symbian (B)WinCE(C)uc/os (D)linux5、以下哪项关于SRAM和DRAM的区别是不对 。 (A)(A)SRAM比DRAM慢(B)SRAM比DRAM耗电多(C)DRAM存储密度比SRAM高得多 (D)DRM需要周期性刷新6、uc/os操作系统不包含以下哪几种状态。 (C)(A)运行 (B)挂起(C)退出 (D)休眠7、0x07&0x11的运算结果是。进行的是与操作 (A)(A)0x01 (B)0x11(C)0x17 (D)0x078、以下哪种方式不是uc/os操作系统中任务之间通信方式。 (C)(A)信号量 (B)消息队列(C)邮件 (D)邮箱9、以下哪种方式不是文件系统的格式。 (B)(A)FAT (B)DOS(C)NTFS (D)Ext10、在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。 (A)(A)OS_CORE.C (B)include.h(C)OS_CPU.H (D)OSTaskInit三、判断题:共5小题,每小题2分,满分10分。1、所有的电子设备都属于嵌入式设备。 (F)2、冯诺依曼体系将被哈佛总线所取代。 (F)3、嵌入式linux操作系统属于免费的操作系统。 (T)4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。 (T)5、USB2.0的最大通信速率为12M/S。 (F)简答题:共2小题,每小题10分,满分20分。根据嵌入式系统的特点,写出嵌入式系统的定义。以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统试分析实时操作系统的工作状态特点及相互之间的转换。运行:获得CPU的控制权;就绪:进入任务等待队列,通过调度中转为运行状态;挂起:任务发生阻塞,称出任务等待队列,等待系统实时事件的发生而被唤醒,从而转为就绪或者运行;休眠:任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在的任务。多任务四、分析计算题:共2小题,每小题10分,满分20分。1、试写抢占式和非抢占式的区别。执行的过程中对中断处理方式不一样,抢先式:某一中断执行完成后,如果有更高优先级的任务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,一个任务只有主动放弃CPU的控制权,其它任务才能够获得CPU的控制权。2、从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,并写出各部分所完成的功能。(1)硬件层;(2)中间层(嵌入式系统初始化,硬件相关的驱动程序);(3)软件层(操作系统、文件系统、GUI,网络及通用组件);(4)功能层。五、专业名词解释(写出以下英文简写对应的中文名称):共5小题,每小题2分,满分10分。(1)RTOS (2)CISC(3)Kernel (4)Scheduler(5)non-preemptive (1)RTOS(实时操作系统); (2)CISC(复杂指令集);(3)Kernel(内核) (4)Scheduler(调度)(5)non-preemptive(非抢先式) 1.请简述嵌入式系统的设计过程。嵌入式系统得设计过程:(1)系统定义与需求分析(2)系统设计方案的初步确立(3)初步设计方案性价比评估与方案评审论证(4)完善初步方案、初步方案实施(5)软硬件集成测试(6)系统功能性能测试及可靠性测试2.简述ARM处理器的工作状态。ARM处理器的工作状态:(1)ARM状态:32位,ARM状态下执行字对准的32位ARM指令;(2)Thumb状态:16位,Thumb状态下执行半字对准的16位Thumb指令。在Thumb状态下,程序计数器PC使用位1选择另一个半字。3.简述ARM处理器的7种运行模式及各自的用途。ARM处理器的7种运行模式:(1)用户模式:正常用户模式,程序正常执行模式。(2)FIQ模式:处理快速中断,支持高速数据传送或通道处理。(3)IRQ模式:处理普通中断。(4)SVC模式:操作系统保护模式,处理软件中断。(5)中止模式:处理存储器故障,实现虚拟存储器和存储器保护。(6)未定义模式:处理未定义的指令陷阱,支持硬件协处理器的软件仿真。(7)系统模式:运行特权操作系统任务。4.简述BLX、SWI、STM、LDM、MOV、MVN的含义。BLX:带链接和状态切换的跳转指令SWI:软件中断指令STM:批量内存字写入指令LDM:加载多个寄存器指令MOV:数据传送指令MVN:数据取反传送指令5.请解释下列程序中的各条指令:
.equx,45/*定义变量x,并赋值为45*/.equy,64/*定义变量y,并赋值为64*/.equstack_top,0x1000/*定义栈顶0x1000*/.global_start/*声明全局变量*/.text/*将操作符开始的代码编译到代码段*/_start:/*程序代码开始标志*/movsp,#stack_top/*定义堆栈位置*/movr0,#x/*x的值放入r0*/strr0,[sp]/*r0的值保存到堆栈*/movr0,#y/*y的值放入r0*/ldrr1,[sp]/*取堆栈中的数到r1*/addr0,r0,r1/*将r0中的数和r1中的数相加的结构放入r0*/strr0,[sp]/*r0的值保存到堆栈*/stop:bstop/*程序结束,进入死循环*/.end6.分析说明S3C44B0X的总线优先级顺序。(1)DRAMrefreshcontroller(DRAM刷新控制器);(2)LCD_DMA(3)ZDMA0,1(4)BDMA0,1(5)Externalbusmaster(外部总线控制器);(6)Writebuffer(写缓冲区)(7)Cache和CPU。7.S3C44B0X中具有哪几个定时器?分别有哪些功能特性?6个16位定时器:都可以工作在中断或DMA模式。定时器0、1、2、3、4有PWM功能,定时器5只是一个内部定时器而无输出引脚。PWM定时器特性为:6个基于DMA或中断操作的16位定时器3个8位预分频器,2个5位除法器和1个4位除法器。输出波形可编程的功率控制器(PWM)自动重装或短脉冲模式(One-shotPulseMode)死区发生器1个看门狗定时器:看门狗定时器具有以下特性:带中断请求的普通间隔定时器模式当定时器计数值达到0时,内部复位信号被激活128MCLK周期8.S3C44B0X中功耗管理的5种模式是什么?S3C44B0X中功耗管理的5种模式:正常模式:正常运行模式;低速模式:不加PLL的低时钟频率模式;空闲模式:只停止CPU的时钟;停止模式:停止所有的时钟;LCD的SL空闲模式:SL空闲模式的进入将导致LCD控制器开始工作。此时,CPU和除LCD控制器外的所有外设都停止工作。9.简述BootLoader的作用。Bootloader作用:系统引导程序,负责Linux内核的启动,用于初始化系统资源,包括SDRAM。这部分代码用于建立Linux内核运行环境和从Flash中装载初始化Ramdisk等。它首先完成系统硬件的初始化,包括时钟的设置、存储区的映射、堆栈指针的设置等;然后跳转到操作系统内核的入口,将系统控制权交给操作系统。10.写出S3C44B0X的UART1的初始化设置程序代码。UART初始化程序:staticintwhichUart=0;voidUart_Init(intmclk,intbaud){inti;If(mclk==0)mclk=MCLK;rUFCON1=0x0;rUMCON1=0x0;rULCON1=0x3;rUCON1=0x245;rUBRDIC1=((int)(mclk/16./baud+0.5)-1);for(i=0;i<100;i++);}11ARM常见的寻址方式有哪些?立即寻址寄存器寻址寄存器间接寻址基址加偏址寻址堆栈寻址块拷贝寻址相对寻址12嵌入式系统软件的层次结构并简要介绍?嵌入式系统软件的层次结构:驱动层程序:驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何的外部设备都需要有相应驱动层程序的支持,他为上层软件提供了设备的操作接口。驱动层程序一般包括硬件抽象层HAL、板极支持包BSP和设备驱动程序。实时操作系统RTOS:对于使用操作系统得嵌入式系统而言,操作系统一般以内核映像的形式下载到目标系统中。内核中通常必需的基本部件是进城管理、进程间通信、内存管理部分,其他部件如文件系统、驱动程序、网络协议等都可以根据用户要求进行配置,并以相关的方式实现。这样一来,整个嵌入式系统与通用操作系统类似,功能比不带有操作系统得嵌入式强大了很多。操作系统的应用程序接口API:API是一系列复杂的函数、消息和结构的集合体。在计算机系统中有很多可通过硬件或外部设备去执行的功能,这些功能的执行可通过计算机操作系统或硬件预留的标准指令调用。因而系统提供标准的API函数,可加快用户应用程序的开发,统一应用程序的开发标准,也为操作系统版本的升级带来了方便。应用程序:用户应用程序主要通过调用系统的API函数对系统进行操作,完成用户应用功能开发。13试述两种常见的ARM开发环境及其特点?两种常见的ARM开发环境及其特点:ADS/SDTIDE开发环境:它由ARM公司开发,使用了CodeWarrior公司的编译器;集成了GNU开发工具的IDE开发环境:它由GNU的汇编器as、交叉编译器gcc、和链接器ld等组成。14:S3C44B0XI2C总线接口操作有那四种操作方式?S3C44B0XI2C总线接口操作的四种操作模式:主传送模式主接收模式从传送模式从接收模式15:嵌入式系统的发展趋势即将迎来以ARM为核心的32位浪潮嵌入式系统应用的高低端:以4位、8位单片机或为控制器(MCU)为核心的嵌入式系统,早已广泛的应用于工业控制、军事、航空航天、家电等各个领域,极大地推动了IT技术的发展。目前这些属于最低端应用的嵌入式系统。这些低端应用市场范围非常广泛,局部带动了低端应用。即将来临的32位浪潮:随着嵌入式系统的不断发展,当应用越来越复杂、使用范围越来越广时,8位处理器已经无法满足的需要,此时32位SoC为高性能嵌入式系统开发提供了功能丰富的硬件平台,也为实时嵌入式操作系统的广泛应用提供了硬件基础。因此,以32位处理器作为高性能嵌入式系统开发的核心已是嵌入式技术发展的必然趋势。32位向ARM转移,形成ARM市场主导地位:在嵌入式微处理器中,虽然有多种嵌入式处理器可供选择,但是ARM处理器核以其低功耗、高性能等突出优点已在32位嵌入式应用中稳居第一。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案事实上的标准。优良的性能和广泛的市场定位极大地增加和丰富了ARM的资源,加速了ARM处理器面向各种应用的系统芯片的开发和发展。嵌入式系统与Internet的融合:为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程模式,还需要相应的浏览器,如HTML、WML等。 未来嵌入式系统的发展趋势近几年,在消费电子、工业应用、军事国防、网络设备等领域的嵌入式应用,为中提供了难得的发展机遇。另外,嵌入式技术又不断地刺激新的技术的产生——信息家电、医疗电子病历、微小型智能武器等方面应用也日益广泛,应用深度也进一步加强。互联网的普及、微电子加工工艺的提高、3C技术的普遍融合、使用者需求的增多、信息服务应用的生活化、技术的渗透性和融合性、设备的关联性以及个性化服务的普遍需求。因而,移动化处理信息,即随时随地的获取信息、处理信息等,成为信息社会把握先机而制胜的必然武器。日益发展的嵌入式已能够满足人们随时随地利用任何设备和手段来接收、处理和发布信息的需求。低成本、低功耗的消费电子和宽带、无线通信以及处理运算的高效计算结合技术将进一步刺激和加速嵌入式技术的发展,造就更广阔的市场空间。选择题1、以下说法不正确的是(B)。A、任务可以有类型说明 B、任务可以返回一个数值C、任务可以有形参变量 D、任务是一个无限循环2下列描述不属于RISC计算机的特点的是(C)。A.流水线每周期前进一步。 B.更多通用寄存器。C.指令长度不固定,执行需要多个周期。D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。3存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为(D)。A、0x21 B、0x68 C、0x65 D、0x024μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D)A.先CLI、执行关键代码、再STIB.先STI、执行关键代码、再CLIC.先POPF、CLI、执行关键代码、再PUSHFD.先PUSHF、CLI、执行关键代码、再POPF。5RS232-C串口通信中,表示逻辑1的电平是(D)。A、0v B、3.3v C、+5v~+15v D、-5v~-15v6ARM汇编语句“ADDR0,R2,R3,LSL#1”的作用是(A)。A.R0=R2+(R3<<1) B.R0=(R2<<1)+R3C.R3=R0+(R2<<1) D.(R3<<1)=R0+R27IRQ中断的入口地址是(C)。FIQ的入口地址为0x0000001CA、0x00000000 B、0x00000008 C、0x00000018 D、0x000000148S3C2420XI/O口常用的控制器是(D)。(1)端口控制寄存器(GPACON-GPHCON)。(2)端口数据寄存器(GPADAT-GPHDAT)。(3)外部中断控制寄存器(EXTINTN)。(4)以上都是。9实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)。A.同步B.互斥C.调度D.执行10和PC系统机相比嵌入式系统不具备以下哪个特点(C)。A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简11、ADD R0,R1,#3属于(A)寻址方式。A.立即寻址 B.多寄存器寻址 C.寄存器直接寻址 D.相对寻址12、GET伪指令的含义是(A)A.包含一个外部文件 B.定义程序的入口 C.定义一个宏 D.声明一个变量13、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存储,则2000H存储单元的内容为(C)。A、0x00 B、0x87 C、0x65 D、0x6114、μCOS-II操作系统不属于(C)。A、RTOSB、占先式实时操作系统C、非占先式实时操作系统D、嵌入式实时操作系统15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为(D)。A.0x2000 B.0x86 C.0x2008 D.0x3916、寄存器R13除了可以做通用寄存器外,还可以做(C)。A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器17、FIQ中断的入口地址是(A)。A、0x0000001C B、0x00000008 C、0x00000018 D、0x0000001418、ARM指令集和Thumb指令集分别是(D)位的。A.8位,16位 B.16位,32位 C.16位,16位 D.32位,16位19、ARM寄存器组有(D)个寄存器。A、7 B、32 C、6 D、3720、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!后R0的值为(D)。A.0x2000 B.0x28 C.0x2008 D.0x8721、寄存器R15除了可以做通用寄存器外,还可以做(A)A.程序计数器 B.链接寄存器 C.堆栈指针寄存器 D.基址寄存器22、嵌入式系统有硬件和软件部分构成,以下(C)不属于嵌入式系统软件。A.系统软件B.驱动C.FPGA编程软件D.嵌入式中间件26、假设R1=0x31,R2=0x2则执行指令ADD R0,R1,R2LSL#3后,R0的值是(C)A.0x33 B.0x34 C.0x39 D.0x3823、和PC机系统相比下列哪个不是嵌入式系统独具的特点(C)A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简24、Unicode编码与(A)编码方式兼容。A、ASCII码 B、GBK C、GB2312 D、区位码25、Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用(A)完成。A.硬件B.软件C.用户D.程序员26在μC/OS-II系统中,OSTimeTick()函数只被以下(A)函数或过程所调用。A.OSTickISRB.OSShedC.OSCtxSw D.OSIntCtxSw27每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是(D)。A.嵌入式Linux提供了完善的网络技术支持;B.CLinux是专门为没有MMU的ARM芯片开发的;C.C/OS-Ⅱ操作系统是一种实时操作系统(RTOS);D.WinCE提供完全开放的源代码。28下列关于存储管理单元(MMU)说法错误的是(B)。A.MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。B.在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。C.MMU提供了一些资源以允许使用虚拟存储器。D.MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。29下列CPSR寄存器标志位的作用说法错误的是(D)。A.N:负数B.Z:零C.C:进位D.V:借位30S3C2410X处理器为用户进行应用设计提供了支持多主总线的IIC接口。处理器提供符合IIC协议的设备连接的串行连接线为(C)。A.SCL和RTX B.RTX和RCX C.SCL和SDA D.SDA和RCXRQ中断的优先级别是(D)。A.1 B.2 C.3 D.4LDRR2,[R3,#128]的寻址方式是(C)。A.寄存器寻址 B.寄存器移位 C.变址寻址 D.间接寻址S3C2410有(B)个USB接口。A.1 B.2 C.3 D.434ARM处理器的工作模式有(C)种。A.5B.6 C.7D.8判断题程序运行过程中的资源可以是显示器、键盘,但不可以是一个数组或变量(X)在μCOS-II操作系统中,已知Task1的优先级为12,Task2的优先级为26。假如在Task2运行过程中发生键盘中断,在执行中断服务程序时Task1进入就绪状态,则中断返回时Task1得到CPU的使用权。(√ )若定义任务task1的优先级为12,则不能再定义其他任务的优先级也为12(√ )任务创建后即开始调度(X)液晶工作在文本模式下时,既可以显示英文字符也可以显示汉字(X)处于就绪状态的任务只能切换到运行状态(X)等待消息函数WaitMessage(0)中的“0”表示此函数的超时等待时间为0秒(X)若OSTaskSuspend(prio)函数把正在延时的任务挂起,则调用一次对应的唤醒函数即可使该任务切换到就绪状态。(X)调试程序时,需要停止程序运行后才可查看变量内容(√ )μCOS-II操作系统中移植成功后即可使用文件系统(X)将模拟信号转换成数字信号的电路是DA转换器。(×)IIC是同步串行数据总线,。(√)S3C2410的处理器对内存的访问只能通过Load/Store指令来实现。(√)NandFlash比NorFlash成本高,可靠性差。(×)C语言程序可以嵌套加入汇编程序模块。(√)运算放大器的输出电压范围一般大于电源电压的范围。(×)由于CPU内部寄存器的访问速度较高,根据ATPC标准,应尽可能使函数的参数控制在4个以下。(√)ARM处理器结构体系中具有T变种处理器核可以工作在ARM状态和Thumb状态。(√)简答题ARM体系结构的寄存器组织:37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。ARM微处理器的异常状态:7种异常4、ARM处理器有几种工作模式?并做说明每种工作模式的含义。答:ARM处理器有7种工作模式:用户模式(usr)-正常程序执行的模式 0.5分快速中断模式(fiq)-FIQ异常响应时进入此模式 0.5分中断模式(irq)-IRQ异常响应时进入此模式 0.5分管理员模式(svc)-系统复位和软件中断响应时进入此模式 0.5分中止模式(abt)-用于虚拟存储及存储保护 0.5分系统模式(sys)-与用户类似,但有直接切换到其它模式等特权 0.5分未定义模式(und)-未定义指令异常响应时进入此模式 0.5分除了用户模式外,其他模式均可视为特权模式 0.5分阅读程序题9、阅读下列与看门狗有关的寄存器描述,解释每一行代码的功能。看门狗定时器控制寄存器(WTCON)寄存器地址读/写描述初始值WTCON0x53000000读/写看门狗定控制寄存器0x8021WTCON的标识位WTCONBit描述初始值PrescalerValue[15:8]预装比例值,有效范围值为0~2550x80Reserved[7:6]保留00WatchdogTimer[5]使能和禁止看门狗定时器0=禁止看门狗定时器1=使能看门狗定时器0ClockSelect[4:3]这两位决定时钟分频因素00:1/1601:1/3210:1/6411:1/12800InterruptGeneration[2]中断的禁止和使能0=禁止中断产生1=使能中断产生0Reserved[1]保留0ResetEnable/Disable[0]禁止很使能看门狗复位信号的输出1=看门狗复位信号使能0=看门狗复位信号禁止1看门狗定时器数据寄存器(WTDAT)寄存器地址读/写描述初始值WTDAT0x53000004读/写看门狗数据寄存器0x8000看门狗计数寄存器(WTCNT)寄存器地址读/写描述初始值WTCNT0x53000008读/写看门狗计数器当前值0x8000#definerWTCON(*(volatileunsigned*)0x53000000)//第1行#definerWTDAT(*(volatileunsigned*)0x53000004)//第2行#definerWTCNT(*(volatileunsigned*)0x53000008)//第3行voidwatchdog_test(void){ rWTCON=((PCLK/1000000-1)<<8)|(3<<3)|(1<<2);//第4行 rWTDAT=7812; //第5行 rWTCNT=7812;//第6行 rWTCON|=(1<<5); //第7行}第1-3行:定义看门狗控制寄存器、数据寄存器和计数寄存器为rWTCON、rWTDAT和rWTCNT。第4行:设置看门狗的预装比例值为1000000,分频因素为1/128,并使能中断。(6分)第5-6行:对数据寄存器和计数寄存器赋值为7812。(2分)第7行:启动看门狗。(2分)7、阅读以下S3C2410部分用户手册.求:当PCLK或UCLK为40MHz时,串口0的波特率为2400bps,串口1的波特率为115200bps,相应的控制寄存器如何设置.UARTBAUDRATEDIVISORREGISTERTherearethreeUARTbaudratedivisorregisters(寄存器)includingUBRDIV0,UBRDIV1andUBRDIV2intheUARTblock(模块).Thevaluestoredinthebaudratedivisorregister(UBRDIVn),isusedtodeterminetheserialTx/Rxclockrate(baudrate)asfollows:UBRDIVn=(int)(PCLK/(bpsx16))–1orUBRDIVn=(int)(UCLK/(bpsx16))–1Where,thedivisorshouldbefrom1to(216-1)andUCLKshouldbesmallerthanPCLK.RegisterAddressR/WDescriptionResetValueUBRDIV00x50000028R/WBaudratedivisorregister0–UBRDIV10x50004028R/WBaudratedivisorregister1–UBRDIV20x50008028R/WBaudratedivisorregister2–UBRDIVnBitDescriptionInitialStateUBRDIV[15:0]BaudratedivisionvalueUBRDIVn>0–答:根据UBRDIVn=(int)(PCLK/(bpsx16))–1寄存器UBRDIV0=(int)(40000000/2400*16)-1=1040=10000010000(B)寄存器UBRDIV1=(int)(40000000/115200*16)-1=20=10100(B)任务控制块(TCB)的数据结构OS-TCB表示任务的状态。当任务的CPU控制权被枪战后,任务控制块用来保存该任务的状态。当任务重新获得CPU的控制权后,任务控制块能够保证任务从被中断的位置继续正确执行。任务控制块提供了任务的基本信息,如任务的执行状态、优先级和堆栈位置等。第一章1、举出3个书本中未提到的嵌入式系统的例子。答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微控制器(MicrocontrollerUnit,MCU)嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)嵌入式片上系统(SystemOnChip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段。识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。4、何谓系统规划?为何要做系统规划系统规划就是拟定一个开发进程,使项目在合理的进程范围中逐渐建构完成。其目地是让客户可以进一步地掌握系统开发的进程,并确定检查点,以让双方确定项目是否如预期中的进度完成。5、为什么在项目结束前需要进行项目讨论?项目的讨论一个项目进行的反馈机制。通过这一个程序,项目团队的经验才可以被记录下来,也就是说,这是一个撰写项目历史的过程。第三章1、ARM7TDMI中的T、D、M、I的含义是什么?64位乘法指令(带M后缀的)、支持片上调试(带D后缀的)、高密度16位的Thumb指令机扩展(带T后缀的)和EmbededICE观察点硬件(带I后缀的)2、ARM7TDMI采用几级流水线?使用何种存储器编址方式?三级流水线(取指译码执行);使用了冯·诺依曼(VonNeumann)结构,指令和数据共用一条32位总线。3、ARM处理器模式和ARM处理器状态有何区别?处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。4、分别列举ARM的处理器模式和状态。状态:ARM状态32位,这种状态下执行的是字方式的ARM指令Thumb状态16位,这种状态下执行半字方式的Thumb指令模式:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。5、PC和LR分别使用哪个寄存器?PC使用R15寄存器,LR使用R14寄存器6、R13寄存器的通用功能是什么?堆栈第四章1、基础知识(1)ARM7TDMI(-S)有几种寻址方式?LORR1,[R0,#0x08]属于哪种寻址方式?1.寄存器寻址;2.立即寻址;3.寄存器移位寻址;4.寄存器间接寻址;5.基址寻址;6.多寄存器寻址;7.堆栈寻址;8.块拷贝寻址;9.相对寻址;LORR1,[R0,#0x08]属于基址寻址。(2)ARM指令的条件码有多少个?默认条件码是什么?16条,默认条件码是AL。(3)ARM指令中第二个操作数有哪几种形式?举例5个8位图立即数。(1)立即数;(2)寄存器;(3)寄存器及移位常数;0x3FC(0xFF<<2)、0、0xF0000000(0xF0<<24)、200(0xC8)、0xF0000001(0x1F<<28)。(4)LDR/STR指令的偏移形式有哪4种?LDRB和LDRSB有何区别?(1)零偏移;(2)前索引偏移;(3)程序相对偏移;(4)后索引偏移。LDRB就是读出指定地址的数据并存入指定寄存器,LDRSB读出指定地址的数据,并高24位用符号位扩展,再存入指定寄存器。(5)请指出MOV指令与LDR加载指令的区别及用途。MOV将8位图(pattern)立即数或寄存器(operand2)传送到目标寄存器(Rd),可用于移位运算等操作。读取指定地址上的存储器单元内容,执行条件AL.(6)CMP指令的操作是什么?写一个程序,判断R1的值是否大于0x30,是则将R1减去0x30。CMP指令将寄存器Rn的值减去operand2的值,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。CMPR1,0x30SUBHIR1,R1,0x30(7)调用子程序是用B还是用BL指令?请写出返回子程序的指令?BL指令用于子程序调用。MOVPC,R14(8)请指出LDR伪指令的用法。指令格式与LDR加载指令的区别是什么?LDR伪指令用于加载32位的立即数或一个地址值到指定寄存器。第二个数为地址表达式。(9)ARM状态与Thumb状态的切换指令是什么?请举例说明。BX指令,(10)Thumb状态与ARM状态的寄存器有区别吗?Thumb指令对哪些寄存器的访问受到一定限制?Thumb状态下不能更新CPSR中的ALU状态标志。,Thumb指令对R8~R15寄存器访问受限。(11)Thumb指令集的堆栈入栈、出栈指令是哪两条?PUSHPOP(12)Thumb指令集的BL指令转换范围为何能达到±4MB?其指令编码是怎样的?Thumb采用两条16位指令组合成22位半字偏移(符号扩展为32位),使指令转移范围为±4MB。2有符号和无符号加法下面给出A和B的值,您可先手动计算A+B,并预测N、Z、V和C标志位的值。然后修改程序清单4.1中R0、R1的值,将这两个值装载到这两个寄存器中(使用LDR伪指令,如LDRR0,=0xFFFF0000),使其执行两个寄存器的加法操作。调试程序,每执行一次加法操作就将标志位的状态记录下来,并将所得结果与您预先计算得出的结果相比较。如果两个操作数看作是有符号数,如何解释所得标志位的状态?同样,如果这两个操作数看作是无符数,所得标志位又当如何理解?0xFFFF000F0x7FFFFFFF67654321(A)+0x0000FFF1+0x02345678+23110000(B)结果:()()()3数据访问把下面的C代码转换成汇编代码。数组a和b分别存放在以0x4000和0x5000为起始地址的存储区内,类型为long(即32位)。把编写的汇编语言进行编译连接,并进行调试。for(i=0;i<8;i++){a[i]=b[7-i];}第四章程序清单4.1寄存器相加;文件名:TESTI.S;功能:实现两个寄存器相加;说明:使用ARMulate软件仿真调试AREAExamplel,CODE,READONLY;声明代码段ExamplelENTRY;标识程序入口CODE32;声明32位ARM指令STARTMOVR0,#0;设置参数MOVR1,#10LOOPBLADD_SUB;调用子程序ADD_SUBBLOOP;跳转到LOOPADD_SUBADDSR0,R0,R1;R0=R0+R1MOVPC,LR;子程序返回END;文件结束程序清单4.2读取SMI立即数T_bitEQU0X20SWI_HandlerSTMFDSP!,{R0_R3,R12,LR};现场保护MRSR0,SPSR;读取SPSRSTMEDSP!,{R0};保存SPSRTSTR0,#T_bit;测试T标志位LDRNEHR0,[LR,#_2];若是Thumb指令,读取指令码(16位)BICNER0,R0,,#0xFF00;取得Thumb指令的8位立即数LDREQR0,[LR,#_4];若是ARM指令,读取指令码(32位)BICEQR0,R0,#0Xff000000;取得ARM指令的24位立即数……LDMFDSP!,{R0_R3,R12,PC};SWI异常中断返回程序清单4.3使用IRQ中断ENABLE_IRQMRSR0,CPSRBICR0,R0,#0x80MSRCPSR_C,R0MOVPC,LR程序清单4.4禁能IRQ中断DISABLE_IRQMRSR0CPSRORRR0,R0,#0x80MSRCPSR_C,R0MOVPC,LR程序清单4.5堆栈指令初始化INTSTACKWOVR0,LR;保存返回地址;设置管理模式堆栈MSRCPSR_C,#0xD3LDRSP,stacksvc;设置中断模式堆栈MSRCPSR_C,#0xD2LDRSP,Stacklrq……程序清单4.6小范围地址的加载……ADRR0,DISP_TAB;加载转换表地址LDRBR1,[R0,R2];使用R2作为参数,进行查表……DISP_TABDCB0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90程序清单4.7中等范围地址的加载……ADRLR,RETURNIADRLR1,Thumb_sub+1BXR1RETURNI……CODE16Thumb_subMOVR1,#10……程序清单4.8加载32位立即数……LDRR0,=IOPIN;加载GPIO的寄存器IOPIN的地址LDRR1,[R0];读取IOPIN寄存器的值……LDRR0,=IOSETLDRR1,=0x00500500STRR1,[R0];IOSET=0x00500500……程序清单4.9软件延时……DELAYINOPNOPNOPSUBSR1,R1,#1BNEDELAYI……程序清单4.10ARM到Thumb的状态切换;文件名:TEST8.S;功能:使用BX指令切换处理器状态;说明:使用ARMulate软件仿真调试AREAExample8,CODE,READONLYENTRYCODE32ARM_CODEADRR0,THUMB_CODE+1BXR0;跳转并切换处理器状态CODE16THUMB_CODEMOVR0,#10;R0=10MOVR1,#20;R1=20ADDR0,R1;R0=R0+R1BEND(一)、填空题1、嵌入式系统的三要素是嵌入、专用、计算机。2、从嵌入式系统设计的角度来看,嵌入式软件结构可以分为循环轮询系统、前后台系统、单处理器多任务系统以及多处理器多任务系统等几大类。3、衡量系统实时性的主要指标有:响应时间、生存时间、吞吐量。4、软件一般包括:程序、数据和文档。5、嵌入式软件的体系结构通常包括:驱动层、操作系统层、中间件层和应用层。6、嵌入式系统中的任务管理主要包括:创建任务、删除任务、改变任务状态和查询任务状态等功能。7、任务由代码、数据、堆栈和任务控制块TCB构成。8、TCB包含操作系统用来控制任务所需要的信息,如任务状态、CPU寄存器、调度信息、内存管理信息和I/O状态信息等。9、任务的主要特性包括:动态性、并行性和异步独立性。10、任务的特性可能通过优先级、周期、计算时间、就绪时间和截止时间等参数来进行描述。11、任务的三种基本状态为:等待、就绪和执行。12、BSP的主要特点是:硬件相关性与操作系统相关性。13、评价实时操作系统的主要指标有:系统响应时间、任务切换时间、中断延迟等。14、实时系统与分时以及批处理系统的主要区别是高及时性和高可靠性。15、创建任务原语的主要功能有:为任务申请一个TCB并初始化、将新建任务设置为就绪状态并放入就绪队列中。16、采用优先级调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学教育中情绪管理与行为规范的融合
- 小学教师如何通过朗读教学培养学生的审美能力
- 家用电器的合理使用与维护知识
- 2024至2030年不锈铁扁钢项目投资价值分析报告
- 二零二五年度剧本改编权许可保密合同样本3篇
- 2024年车位广告位租赁与发布合同
- 家用纺织品设计与医疗健康的结合
- 家庭教育与孩子情感教育的发展趋势
- 二零二五年度影视配音监制合同范本3篇
- 2024年金卤筒灯项目可行性研究报告
- 2024年R1快开门式压力容器操作证考试题库及答案
- 《数学物理方法》期末测试卷及答案
- 铁路工务劳动安全
- 直播电商年终总结
- 沪科版九年级物理下册教案全册
- PAS 2050:2011-商品和服务在生命周期内的温室气体排放评价规范(英文)
- 历史期中复习课件八年级上册复习课件(统编版)
- 空调供货方案
- 2024年初一英语阅读理解专项练习及答案
- 幕墙作业安全技术交底
- 保护性约束完整版本
评论
0/150
提交评论