嵌入式试题集(含答案)_第1页
嵌入式试题集(含答案)_第2页
嵌入式试题集(含答案)_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、ARM微处理器有7种工作模式,它们分为两类非特权模式、特权模式。其中用户模式属于非特权模式2、ARMARMARM、Thumb态寄存器CPSRT位反映了处理器运行不同指令的当前状态3ARMR15寄PC,R13SP。ARM同一接口的是冯诺依曼,数据和指令分开使用不同接口的是哈佛结构4、ARM微处理器复位后,PC的地址通常是0x0,初始的工作模式是Supervisor。5、ARMCP15MMU(存储管理部件)来进行虚拟内存的存储和管理。当系统发生数据异常和指令领取异常时,MMU面,以保证程序正常执行。6、编译链接代码时,有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是大端对齐。7GNUARMADS工具链计算机有CISCRISCARM核心的计算机属于RISC类型,其指令长度是定长的8、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。WindowsCE/Windows、VxWork、Linux、uCos、Symbian、QNX9、BootLoader答:BootLoader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过BootLoader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。10、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?WindowsLinuxMinicom11、嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括宿主机目标机(评估电路板)JTAGICDICE运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境嵌入式操作系统12、在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:intdo_something(intarg1,void*arg2,chararg3,int这四个参数通过什么方式从调用程序传入被调函数?根据ATPCSR0——R3参数使用堆栈传递。因此arg1R0arg2,通过R1arg3通过R2arg4R313、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。WindowsCE/Windows、VxWork、Linux、uCos、Symbian、QNX14、写一条ARM指令,完成操作r1=r2*3(4分)ADDR1,R2,R2,LSL#115、初始值R1=23H,R2=0FH执行指令BIC,R1,R2,LSL#1R0,R1)R0=21H,R1=23H16、说明指令STMIA r12!,{r0-r11}的操作功能(4分)R0-R1132R12作方式是先操作、后增加,并更新地址。一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。1、一般而言,嵌入式系统的构架可以分为4个部分:分别是(处理器和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。2嵌入式处理器(嵌入式微处理器)以及片上系统。3(进程管理(存管理、I/O4、从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其中实时系统亦可分为(硬实时系统)和软实时系统。5CPU时间,并且负责任务之间的(通信核的基本服务是(任务切换。6、嵌入式开发一般采用(/目标机方式)方式,其中宿主机一般是指机或者台式机。7、哈佛体系结构数据空间和地址空间(分开ARM7TDMI采用(冯诺依曼体系)的内核架构。8.ARM7TDMI采用(3)级流水线结构,ARM920TDMI采用(5)级流水线。9.按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)操作系统,VxWorks属于(实时嵌入式)操作系统。10ARM7TDMI中,T表示支持16位ThumbD表示(在片可调试MMultiplie,I表示(嵌入式IC,支持在线断点和调试。102201、要使CPU( D )(A)处理器的编译器能够产生可重入代码 (B)在程序中可以找开或者关闭中断(C)处理器支持中断,并且能产生定时中断(D)有大量的存储空间2、下面哪种操作系统最方便移植到嵌入式设备中。( D )(A)DOS (B)unix (C)Windowsxp 3、下面哪个选项不是SUB( B )(A)串行通信方式 (B)不可热拨插(C)分HOST、DEVICE和HUB (D)通信速率比RS2324、下面哪种嵌入式操作系统很少用于手机终端设备上。( C )(A)Symbian (B)WinCE (C)uc/os 5、以下哪项关于SRAMDRAM( 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 10、在将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)210201以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统2、试分析实时操作系统的工作状态特点及相互之间的转换。运行:获得CPU的控制权;就绪:进入任务等待队列,通过调度中转为运行状态;或者运行;休眠:任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在的任务。多任务210201、试写抢占式和非抢占式的区别。务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,一个任务只有主动放弃CPU的控制权,其它任务才能够获得CPU2并写出各部分所完成的功能。(1GUI(4)功能层。六、专业名词解释(写出以下英文简写对应的中文名称):共5小题,每小题2分,满分10分。(1)RTOS (2CISC)Kernel 4Scheduler5non-preemptive()RTO(实时操作系统; (2CIS(复杂指令集;(3)Kernel(内) (4)Scheduler(调度)(5)non-preemptive(非抢先式)嵌入式系统得设计过程:系统定义与需求分析系统设计方案的初步确立初步设计方案性价比评估与方案评审论证完善初步方案、初步方案实施软硬件集成测试系统功能性能测试及可靠性测试简述ARMARMARM:32ARM32ARMThumb:16,Thumb16ThumbThumb序计数器PC1简述ARM7ARM7用户模式:正常用户模式,程序正常执行模式。FIQIRQSVC中止模式:处理存储器故障,实现虚拟存储器和存储器保护。未定义模式:处理未定义的指令陷阱,支持硬件协处理器的软件仿真。系统模式:运行特权操作系统任务。简述BLX、SWI、STMLDM、MOV、MVNBLX:带链接和状态切换的跳转指令SWI:软件中断指令 STM:批量内存字写入指LDM:加载多个寄存器指令MOV:数据传送指令 MVN: 数据取反传送指令请解释下列程序中的各条指令:.equx,45 定义变量x45*/.equy,64 定义变量y64*/.equstack_top,0x1000 0x1000*/.global_start */.text */_start: 程序代码开始标movsp,#stack_top 定义堆栈位*/movstrr0,r0,#x[sp]/*x的值放入r0*//*r0的值保存到堆栈*/movr0,#y/*y的值放入r0*/ldrr1,[sp]/*取堆栈中的数到r1*/addr0,r0,r1/*将r0中的数和r1中的数相加的结构放入r0*/strr0,[sp]/*r0的值保存到堆栈*/stop:bstop */.end5、S3C44B0X中具有哪几个定时器?分别有哪些功能特性?616都可以工作在中断或DMA模式。定时器0124PWM功能,定时器5部定时器而无输出引脚。PWM定时器特性为:6DMA1638514输出波形可编程的功率控制器自动重装或短脉冲模式(One-shotPulse1看门狗定时器具有以下特性:带中断请求的普通间隔定时器模式0128MCLK6、S3C44B0X中功耗管理的5种模式是什么?S3C44B0X5正常模式:正常运行模式;低速模式:不加PLL的低时钟频率模式;空闲模式:只停止CPU的时钟;停止模式:停止所有的时钟;LCD的SL空闲模式:SL空闲模式的进入将导致LCD控制器开始工作。此时,CPU和除LCD控制器外的所有外设都停止工作。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++);}7、ARM常见的寻址方式有哪些?立即寻址 寄存器寻址 寄存器间接寻址 基址加偏址寻址 堆栈寻址 块拷贝址 相对寻址8、嵌入式系统软件的层次结构并简要介绍?嵌入式系统软件的层次结构:驱动层程序:驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何的外部设备都需要有相应驱动层程序的支持,他为上层软件提供了设备的操作HALBSPRTOS:对于使用操作系统得嵌入式系统而言,操作系统一般以进程间通信、内存管理部分,其他部件如文件系统、驱动程序、网络协议等都可以根据用户要求进行配置,并以相关的方式实现。这样一来,整个嵌入式系统与通用操作系统类似,功能比不带有操作系统得嵌入式强大了很多。操作系统的应用程序接口体。在计算机系统中有很多可通过硬件或外部设备去执行的功能,这些功能的执行可通过计算机操作系统或硬件预留的标准指令调用。因而系统提供标准的API为操作系统版本的升级带来了方便。应用程序:用户应用程序主要通过调用系统的API函数对系统进行操作,完成用户应用功能开发。9、试述两种常见的ARM开发环境及其特点?两种常见的ARM开发环境及其特点:ADS/SDTIDE开发环境:它由ARM公司开发,使用了CodeWarrior公司的编译器;GNUIDEGNUas、交叉编译器gcc等组成。14:S3C44B0XI2C总线接口操作有那四种操作方式?S3C44B0XI2C总线接口操作的四种操作模式:主传送模式 主接收模式 从传送模从接收模式一、选择题1、以下说法不正确的是。A、任务可以有类型说明 B、任务可以返回一个数C、任务可以有形参变量 D、任务是一个无限循环下列描述不属于RISC计算机的特点的是C。A.流水线每周期前进一步。 B.更多通用寄存器C.指令长度不固定,执行需要多个周期。D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。320x21684652000H~2003H存储单元的内容为(D。A、0x21 B、0x68 C、0x65 D、0x02μCOS-IIX86A.先CLI、执行关键代码、再STI B.先STI、执行关键代码、再CLIC.先POPF、CLI、执行关键代码、再PUSHF D.先PUSHFCLI、执行关键代码、再POPF5RS232-C串口通信中,表示逻辑1的电平是。A、0v B、3.3v C、+5v~+15v D、-5v~-15vARM汇编语句“ADDR0,R2,R3,LSL#1”的作用是A。A.R0=R2+(R3<<1)B.R0=(R2<<1)+R3C.R3=R0+(R2<<1)D.(R3<<1)=R0+R2IRQ中断的入口地址是(C。FIQ的入口地址为0x0000001CA、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014S3C2420XI/O口常用的控制器是。()端口控制寄存器GPACON-GPHCO。 B)端口数据寄存器GPADAT-GPHDA。()外部中断控制寄存器EXTINT。 ()以上都是。条件后再向前执行,这种制约性合作关系被成为。A.同步 B.互斥 C.调度 D.执行和PC系统机相比嵌入式系统不具备以下哪个特点(。A、系统内核小 B、专用性强 C、可执行多任务 D、系统精11、ADDR0,R1,#3属于寻址方式。A.立即寻址 B.多寄存器寻址 C.寄存器直接寻址 D.相对寻12、GET伪指令的含义是(A)A.包含一个外部文件 B.定义程序的入口 C.定义一个宏 D.声明一个变13、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存储,则2000H存储单元的内容为(。A、0x00 B、0x87 C、0x65 D、14、μCO-II操作系统不属于(C。A、RTOS、占先式实时操作系统C、非占先式实时操作系统、嵌入式实时操作系统15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后的值为(D。A.0x2000 B.0x86 C.0x2008 D.0x3916、寄存器R13。A、程序计数器 B、链接寄存器 C、栈指针寄存器 、基址寄存17FIQ中断的入口地址是(。A、0x0000001C B、0x00000008 C、0x00000018 D、0x0000001418、ARM指令集和Thumb指令集分别是(D)位的。A.8位,16位 B.16位,32位 C.16位,16位 D.32位,1619、ARM寄存器组有)个寄存器。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、嵌入式系统有硬件和软件部分构成,以下不属于嵌入式系统软件。A.系统软件 B.驱动 C.FPGA编程软件 D.嵌入式中间件26、假设R1=0x31,R2=0x2则执行指令ADDR0,R1,R2LSL#3后,R0的值是(A.0x33 B.0x34 C.0x39 D.0x3823、和PC机系统相比下列哪个不是嵌入式系统独具的特点(C)A、系统内核小 B、专用性强 C、可执行多任务 D、系统精24、Unicode编码与编码方式兼容。A、ASCII码 B、GBK C、GB2312 D、区位码CacheCache完成。A.硬件 B.软件 C.用户 D.程序员μC/OS-IIOSTimeTick()函数只被以下函数或过程所调用。A.OSTickISR B.OSShed C.OSCtxSw D.OSIntCtxSw每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是D。嵌入式LinuxCLinuxMMUARMC/OSRTO;WinCE下列关于存储管理单元MM)说法错误的是。MMU行。在带MMU这就简化了各个任务的设计。MMUMMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)即在物理主存中的地址。下列CPSR寄存器标志位的作用说法错误的是。A.N:负数 B.Z:零 C.C:进位 D.V:借位S3C2410X处理器为用户进行应用设计提供了支持多主总线的IIC接口。处理器提供符合IIC协议的设备连接的串行连接线为。A.SCL和RTX B.RTX和RCXC.SCL和SDA D.SDA和RCXRQ中断的优先级别是( D 。A.1 B.2 C.3 D.LDRR2,[R3,#128]的寻址方式是( C 。A.寄存器寻址 B.寄存器移位 C.变址寻址 D.间接寻址S3C2410有( B )个USB接口。A.1 B.2 C.3 D.ARM处理器的工作模式有(C )种A.5 B.6 C.7 D.8二、判断题1、程序运行过程中的资源可以是显示器、键盘,但不可以是一个数组或变量(X)2μCOS-IITask126Task2运行过程中发生键盘中断,在执行中断服务程序时Task1进入就绪状态,则中断返回时Task1CPU(√)3task112,则不能再定义其他任务的优先级也为12(√)4、任务创建后即开始调度(X)5、液晶工作在文本模式下时,既可以显示英文字符也可以显示汉字(X)6、处于就绪状态的任务只能切换到运行状态(X)7、等待消息函数WaitMessage(0)中的“0”表示此函数的超时等待时间为0秒(X)8若OSTaskSuspend(prio(X)9、调试程序时,需要停止程序运行后才可查看变量内(√ )10、μCOS-II操作系统中移植成功后即可使用文件系统(X)11、将模拟信号转换成数字信号的电路是DA(×)12、IIC(√)13、S3C2410Load/Store14、NandFlashNorFlash(×)15、C语言程序可以嵌套加入汇编程序模块。(√)16、运算放大器的输出电压范围一般大于电源电压的范围(×)17、由于CPUATPC(√)18、ARM处理器结构体系中具有TARM状态和Thumb三、简答题ARM3231哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。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)寄存器寄存器WTCON地址读/写描述初始值0x53000000读/写看门狗定控制寄存器0x8021WTCONBitWTCONBit描述初始值PrescalerValue [15:8]ReservedWatchdogTimer[5]预装比例值,有效范围值为0~255保留0=禁止看门狗定时器1=使能看门狗定时器00:1/1601:1/3210:1/6411:1/1280=禁止中断产生1=使能中断产生保留0x80[7:6]000ClockSelect[4:3]00InterruptGeneration[2]0Reserved[1]0ResetResetEnable/Disable禁止很使能看门狗复位信号[0]的输出1=看门狗复位信号使能0=看门狗复位信号禁止1寄存器地寄存器地址读/写读/写描述初始值WTDAT0x53000004看门狗数据寄存器0x8000寄存器地寄存器地址读/写读/写描述初始值WTCNT0x53000008看门狗计数器当前值0x8000#definerWTCON(*(volatileunsigned*)0x53000000)//第1#definerWTDAT(*(volatileunsigned*)0x53000004)//第2#definerWTCNT(*(volatileunsigned*)0x53000008)//第3voidwatchdog_test(void){rWTCON=((PCLK/1000000-1)<<8)|(3<<3)|(1<<2); //第rWTDAT=7812; //第行rWTCNT=7812; //6行rWTCON|=(1<<5); //第行}1-3rWTCON、rWTDATrWTCNT4行:设置看门狗的预装比例值为10000001/128,并使能中断。)5-6行:对数据寄存器和计数寄存器赋值为7812。(2)第7行:启动看门狗。(2分)7S3C2410PCLK或UCLK为40400bpsUARTBAUDRATEDIVISORREGISTERTherearethreeUARTbaudratedivisorregisters(寄存器)includingUBRDIV0,UBRDIV1andUBRDIV2intheUARTblock(模块).Thevaluestoredinthebaudratedivisorregister(UBRDIVn),isusedtodeterminetheserialTx/Rxclockrate(baudrate)asfollows:UBRDIVn=(int)(PCLK/(bpsx16))–1 or UBRDIVn=(int)(UCLK/(bpsx16))–1RegisterAddressRegisterAddressR/WDescriptionResetValueUBRDIVnUBRDIVBit[15:0]DescriptionBaudratedivisionvalueUBRDIVn>0InitialState–UBRDIV00x50000028R/WBaud0ratedivisorregister–UBRDIV10x50004028R/WBaud1ratedivisorregister–UBRDIV20x50008028R/WBaud2ratedivisorregister–答:根据UBRDIVn=(int)(PCLK/(bpsx16))–1寄存器UBRDIV0=(int)(40000000/2400*16)-1=1040=10000010000(B)寄存器UBRDIV1=(int)(40000000/115200*16)-1=20=10100(B)第一章1、举出3个书本中未提到的嵌入式系统的例子。答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统可靠性、成本、体积、功耗严格要求的专用计算机系统。3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微控制器(MicrocontrollerUnit,MCU)嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)嵌入式片上系统(SystemOnChip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?32位CPU的多任务潜力。第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段。备的条件。提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。种款项。2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。需求风险;时间风险;资金风险;项目管理风险34、何谓系统规划?为何要做系统规划成。5、为什么在项目结束前需要进行项目讨论?也就是说,这是一个撰写项目历史的过程。第三章1、ARM7TDMI中的T、D、M、I的含义是什么?64位乘法指令(带M后缀的)、支持片上调试(带D后缀的)、高密度16位的Thumb令机扩展(带T后缀的)和EmbededICE观察点硬件(带I后缀的)2、ARM7TDMI采用几级流水线?使用何种存储器编址方式?三级流水线(取指译码执行);使用了冯·诺依曼Neumann)结构,指令和数据用一条32位总线。3、ARM处理器模式和ARM处理器状态有何区别?处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态当前所执行的指令集。4、分别列举ARM状态:ARM状态32位,这种状态下执行的是字方式的ARM指令Thumb状态16Thumb模式:5、PCLRPC使用R15R146、R13堆栈第四章1、基础知识ARM7TDMI(-SR1,[R0,#0x08]属于哪种寻址方式?1.相对寻址;LORR1,[R0,#0x08]属于基址寻址。ARM16。ARM58立即数;(2)寄存器;(3)寄存器及移位常数;0x3FC(0xFF<<2)、0、0xF0000000(0xF0<<24)、200(0xC8)、0xF0000001(0x1F<<28)。LDR/STR4LDRBLDRSB(1)零偏移;(2)前索引偏移;(3)程序相对偏移;后索引偏移。LDRB24存入指定寄存器。请指出MOVLDRMOV将8位图(pattern)立即数或寄存器(operand2)传送到目标寄存器(Rd),可用于移位运算等操作。读取指定地址上的存储器单元内容,执行条件AL.CMPR1R10x30。CMP指令将寄存器Rn的值减去operand2的值,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。CMPR1,0x30SUBHIR1,R1,0x30调用子程序是用B还是用BLBL指令用于子程序调用。MOVPC,R14请指出LDRLDRLDR伪指令用于加载32位的立即数或一个地址值到指定寄存器。第二个数为地址表达式。ARM状态与ThumbBXThumb状态与ARM制?Thumb状态下不能更新CPSR中的ALU状态标志。,指令对R8~R15ThumbPUSHPOPThumbBL±4MB?其指令编码是怎样的?Thumb采用两条16位指令组合成22位半字偏移(符号扩展为32±4MB。有符号和无符号加法下面给出A和B的值,您可先手动计算A+B,并预测N、Z、V和C标志位的值。然后修改程序清单4.1中R0、R1的值,将这两个值装载到这两个寄存器中(使用LDR伪指令,如LDR R0,=0x使其执行两个寄存器的加法操作。调试程序,每执行一次加法操作就将标志位的状态记录下来,并将所得结果与您预先计算得出的结果相比较。如果个操作数看作是有符号数,如何解释所得标志位的状态?同样,如果这两个操作数看作是符数,所得标志位又当如何理解?0xFFFF000F0x7FFFFFFF67654321(A)+ 0x0000FFF1+0x02345678+23110000(B)结果:( ) ( ) ( )数据访问把下面的C代码转换成汇编代码。数组a和b分别存放在以0x4000和0x5000为起始地址的存储区内,类型为long32for(i=0;i<8;i++){a[i]=b[7-i];}第四章程序清单4.1寄存器相加;文件名:TESTI.S;功能:实现两个寄存器相加;说明:使用ARMulate软件仿真调试AREAENTRYCODE32STARTExamplel,CODE,READONLYMOV ;声明代码段Examplel;标识程序入❑;声明32位ARM指令;设置参数MOVR1,#10LOOPBL ADD_SUB;调用子程序ADD_SUBBLOOP;跳转到LOOPADD_SUBADDSR0,R0,R1;R0=R0+R1MOVPC,LR;子程序返回END;文件结束程序清单4.2读取SMI立即T_bit EQU 0X20SWI_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位立即数……LDMFD R0_R3,R12,PC};SWI4.3IRQENABLE_IRQMRS R0,CPSRBIC MSR CPSR_C,R0MOV PC,LR4.4IRQDISABLE_IRQMRS R0CPSRORR MSR CPSR_C,R0MOV PC,LR4.5INTSTACKWOV R0,LR ;保存返回地址;设置管理模式堆栈MSR LDR SP,stacksvc;设置中断模式堆栈MSR LDR SP,Stacklrq……程序清单4.6小范围地址的加载……ADRR0,DISP_TAB;加载转换表地址LDRBR1,[R0,R2];使用R2作为参数,进行查表……DISP_TABDCB 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90程序清单4.7中等范围地址的加载……ADR LR,RETURNIADRLBX R1RETURNIThumb_sub

……CODEMOV ……程序清单4.8加载32位立即数……LDR R0,=IOPIN ;加载GPIOIOPINLDR R1,[R0] ;读取IOPIN……LDR R0,=IOSETLDR R1,=0x00500500STR R1,[R0] ;IOSET=0x00500500……程序清单4.9软件延时……DELAYINOPNOPNOPSUBS BNE DELAYI……4.10ARMThumb;文件名:TEST8.S;功能:使用BX指令切换处理器状态;说明:使用ARMulate软件仿真调AREA Example8,CODE,READONLYENTRYCODE32ARM_CODE ADR R0,THUMB_CODE+1BX R0 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、采用优先级调度算法时,一个高优先级任务由阻塞状态变为就绪状态时,可以有非抢占式和抢占式两种处理方式。17、一个从磁盘上读文件的任务,在得到了所需要的文件信息后,它的状态应该从阻塞转换成就绪。18、存储管理中,对存储空间浪费是以内部碎片和外部碎片两种形式表现出来的。19、地址重定位可以分为静态重定位和动态重定位两种。20、静态重定位是在程序装入时进行,动态重定位是在程序执行时进行。21、设备管理的主要目标是:提高外部设备的利用率、为用户提供统一的使用界面。22、信号量的物理意义是当信号量值大于零时表示可分配资源的个数;当信号量值小于零时表示等待该资源的任务的个数。23、用P、V操作管理临界区时,一个任务在进入临界区前应对信号量执行P操作,退出临界区时应对信号量执行V操作。24、在嵌入式系统中,如果被多个任务同时操作,某些资源可能会变得不确定,这些资源包括:共享事件结构、共享文件、共享硬件设备。25、在对一个设备进行操作之前要完成下面三步:安装设备驱动、初始化设备、打开一个设备并得到文件描述符。26、块设备为单位传输数据,字符设备字为单位传输数据 (四)、简答题1、什么是嵌入式系统?嵌入式系统的特点是什么?嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统的主要特点如下:高实时性OS、系统内核小专用性强系统精简实时性和可靠性要求高嵌入式软件开发走向标准化2、嵌入式软件的特点有哪些

温馨提示

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

评论

0/150

提交评论