收藏 分享(赏)

嵌入式试题集(含答案).doc

上传人:精品资料 文档编号:10773147 上传时间:2020-01-08 格式:DOC 页数:17 大小:213.91KB
下载 相关 举报
嵌入式试题集(含答案).doc_第1页
第1页 / 共17页
嵌入式试题集(含答案).doc_第2页
第2页 / 共17页
嵌入式试题集(含答案).doc_第3页
第3页 / 共17页
嵌入式试题集(含答案).doc_第4页
第4页 / 共17页
嵌入式试题集(含答案).doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、第 页 共 17 页 11、ARM 微处理器有 7 种工作模式,它们分为两类 非特权模式 、 特权模式 。其中用户模式属于 非特权模式 4、ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的工作模式是 Supervisor 。 5、ARM 微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和 MMU(存储管理部件)来进行虚拟内存的存储和管理。当系统发生 数据 异常和 指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过 MMU 交换物理内存和虚拟内存的页面,以保证程序正常执行。6、编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是 大

2、端对齐 。7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU 工具链 ,ARM 公司提供的工具链是 ADS 工具链 计算机有 CISC 和 RISC 两种类型,以 ARM 微处理器为核心的计算机属于 RISC 类型,其指令长度是 定长的 8、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX 任选六9、Boot Loader 在嵌入式系统中主要起什么作用?完成哪些主要的工作? 答:Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一

3、段程序。通过Boot Loader,初始化硬件设备,建立内存和 I/O 空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。10、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在 Windows 主机上使用什么软件建立连接?在 Linux 主机上使用什么软件建立连接?答:RS-232,以太网口、并口在 Windows 主机上使用超级终端软件,在 Linux 主机上使用 Minicom 软件11、嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括 宿主机 目标机(评估电路板) 基于 JTAG 的 ICD 仿真器、或调试监控软件、或在线仿

4、真器 ICE 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境 嵌入式操作系统12、在进行基于 ARM 核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么方式从调用程序传入被调函数?根据 ATPCS 编程规范,调用函数和子程序通过 R0R3 四个寄存器传递参数,超过四个参数使用堆栈传递。因此 arg1 通过 R0 传入, arg2, 通过 R1 传入,arg3 通过 R2 传入,arg4 通过 R3 传入13、目前使用的嵌入式操作系统主要有哪些?请举出六种较常

5、用的。Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX 任选六14、写一条 ARM 指令,完成操作 r1 = r2 * 3(4 分)ADD R1,R2,R2,LSL #115、初始值 R1=23H,R2=0FH 执行指令 BIC R0, R1,R2,LSL #1 后,寄存器 R0,R1的值分别是多少?(4 分)R0=21H,R1=23H 16、说明指令 STMIA r12!, r0-r11的操作功能。 (4 分)将 R0-R11 十二个寄存器中的 32 位数据,存储到 R12 地址指针为起始地址的内存中,地址的操作方式是先操作、后增

6、加,并更新地址。 2、ARM 支持两个指令集, ARM 核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器 CPSR 的 T 位反映了处理器运行不同指令的当前状态3、ARM 核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储 PC,R13 通常用来存储 SP 。 ARM 处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指令分开使用不同接口的是 哈佛结构 第 页 共 17 页 2一、填空题(请将答案填入题后括号中):共 10 小题,每小题 2 分,满分 20 分。1、一般而言,嵌入式系统的构架可以分为 4 个部分

7、:分别是(处理器) 、存储器、输入/输出和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器, (嵌入式 DSP处理器) , (嵌入式微处理器)以及片上系统。3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(进程管理) 、进程间通信、(内存管理) 、I/O 资源管理。4、从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其中实时系统亦可分为(硬实时系统)和软实时系统。5、内核负责管理各个任务,或者为每个任务分配 CPU 时间,并且负责任务之间的(通信) ,内核的基本服务是(任务切换)

8、 。6、嵌入式开发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC 机或者台式机) 。7、哈佛体系结构数据空间和地址空间(分开) ,ARM7TDMI 采用(冯诺依曼体系)的内核架构。8. ARM7TDMI 采用(3)级流水线结构,ARM920TDMI 采用(5 )级流水线。9 .按操作系统的分类可知,Dos 操作系统属于顺序执行操作系统,Unix 操作系统属于(分时)操作系统,VxWorks 属于(实时嵌入式)操作系统。10、ARM7TDMI 中,T 表示支持 16 位 Thumb 指令集,D 表示(在片可调试) ,M 表示内嵌乘法器Multiplier,I 表示(嵌入式 ICE)

9、 ,支持在线断点和调试。二、选择题(请将答案填入题后括号中):共 10 小题,每小题 2 分,满分 20 分。1、要使 CPU 能够正常工作,下列哪个条件不是处理器必须满足的。 ( D )(A) 处理器的编译器能够产生可重入代码 (B) 在程序中可以找开或者关闭中断(C) 处理器支持中断,并且能产生定时中断 (D) 有大量的存储空间 2、下面哪种操作系统最方便移植到嵌入式设备中。 ( D )(A) DOS (B)unix (C) Windows xp (D)linux 3、下面哪个选项不是 SUB 设备的特点。 ( B )(A) 串行通信方式 (B)不可热拨插(C) 分 HOST、DEVICE

10、 和 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、0x07void Uart_Init(int mclk,int baud)int i

11、;If(mclk=0)mclk=MCLK;rUFCON1=0x0;rUMCON1=0x0;rULCON1=0x3;rUCON1=0x245;rUBRDIC1=(int)(mclk/16./baud+0.5)-1);for(i=0;i0 答: 根据UBRDIVn = (int)(PCLK / (bps x 16) ) 1寄存器 UBRDIV0= (int)(40000000/2400*16)-1=1040=10000010000(B)寄存器 UBRDIV1=( int)(40000000/115200*16)-1=20=10100(B)第 页 共 17 页 10第一章1、举出 3 个书本中未提到

12、的嵌入式系统的例子。答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式 DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On

13、 Chip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目 4 个阶段。识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。执行项目阶段细化目标,制定工作计划,协调人力

14、和其他资源;定期监控进展, 分析项目偏差,采取必要措施以实现目标。结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。4、何谓系统规划?为何要做系统规划系统规划就是拟定一个开发进程,使项目在合

15、理的进程范围中逐渐建构完成。其目地是让客户可以进一步地掌握系统开发的进程,并确定检查点,以让双方确定项目是否如预期中的进度完成。5、为什么在项目结束前需要进行项目讨论?项目的讨论一个项目进行的反馈机制。通过这一个程序,项目团队的经验才可以被记录下来,也就是说,这是一个撰写项目历史的过程。第三章1、ARM7TDMI 中的 T、D、M 、I 的含义是什么?64 位乘法指令(带 M 后缀的)、支持片上调试(带 D 后缀的)、高密度 16 位的Thumb 指令机扩展(带 T 后缀的)和 EmbededICE 观察点硬件(带 I 后缀的)2、ARM7TDMI 采用几级流水线?使用何种存储器编址方式?三级

16、流水线(取指 译码 执行);使用了冯诺依曼(Von Neumann )结构,指令和数据共用一条 32 位总线。3、ARM 处理器模式和 ARM 处理器状态有何区别?第 页 共 17 页 11处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。4、分别列举 ARM 的处理器模式和状态。状态:ARM 状态 32 位,这种状态下执行的是字方式的 ARM 指令 Thumb 状态 16 位,这种状态下执行半字方式的 Thumb 指令模式:用户模式、快中断模式、中断模式、管理模式、 中止模式、未定义模式和系统模式。5、PC 和 LR 分别使用哪个寄存器?P

17、C 使用 R15 寄存器,LR 使用 R14 寄存器6、R13 寄存器的通用功能是什么?堆栈第四章1、基础知识(1)ARM7TDMI(-S)有几种寻址方式?LOR R1,R0,#0x08属于哪种寻址方式?1. 寄存器寻址;2. 立即寻址;3. 寄存器移位寻址;4. 寄存器间接寻址;5. 基址寻址;6. 多寄存器寻址;7. 堆栈寻址;8. 块拷贝寻址;9. 相对寻址;LOR R1,R0,#0x08属于基址寻址。(2)ARM 指令的条件码有多少个?默认条件码是什么?16 条, 默认条件码是 AL。(3)ARM 指令中第二个操作数有哪几种形式?举例 5 个 8 位图立即数。(1) 立即数;(2) 寄

18、存器;(3) 寄存器及移位常数;0x3FC(0xFF2)、0、0xF0000000(0xF024)、200(0xC8)、0xF0000001(0x1F28)。(4)LDR/STR 指令的偏移形式有哪 4 种?LDRB 和 LDRSB 有何区别?(1) 零偏移;(2) 前索引偏移;(3) 程序相对偏移;(4) 后索引偏移。LDRB 就是读出指定地址的数据并存入指定寄存器,LDRSB 读出指定地址的数据,并高 24 位用符号位扩展,再存入指定寄存器。(5)请指出 MOV 指令与 LDR 加载指令的区别及用途。MOV 将 8 位图(pattern)立即数或寄存器(operand2)传送到目标寄存器(

19、Rd) ,可用于移位 运算等操作。读取指定地址上的存储器单元内容,执行条件 AL.(6)CMP 指令的操作是什么?写一个程序,判断 R1 的值是否大于 0x30,是则将 R1 减去0x30。CMP 指令将寄存器 Rn 的值减去 operand2 的值,根据操作的结果更新 CPSR 中的相应条 件标志位,以便后面的指令根据相应的条件标志来判断是否执行。CMP R1,0x30SUBHI R1,R1,0x30(7)调用子程序是用 B 还是用 BL 指令?请写出返回子程序的指令?BL 指令用于子程序调用。MOV PC, R14(8)请指出 LDR 伪指令的用法。指令格式与 LDR 加载指令的区别是什么

20、?LDR 伪指令用于加载 32 位的立即数或一个地址值到指定寄存器。第二个数为地址表达式。(9)ARM 状态与 Thumb 状态的切换指令是什么?请举例说明。BX 指令,(10)Thumb 状态与 ARM 状态的寄存器有区别吗?Thumb 指令对哪些寄存器的访问受到一定限制?Thumb 状态下不能更新 CPSR 中的 ALU 状态标志。, Thumb 指令对 R8R15 寄存器访问受限。(11)Thumb 指令集的堆栈入栈、出栈指令是哪两条?PUSH POP(12)Thumb 指令集的 BL 指令转换范围为何能达到4MB?其指令编码是怎样的?第 页 共 17 页 12Thumb 采用两条 16

21、 位指令组合成 22 位半字偏移(符号扩展为 32 位) ,使指令转移范围为4MB。(13)有符号和无符号加法 下面给出 A 和 B 的值,您可先手动计算 A+B,并预测 N、Z、V 和 C 标志位的值。然后修改程序清单 4.1 中 R0、R1 的值,将这两个值装载到这两个寄存器中(使用 LDR 伪指令, 如 LDR R0,=0x FFFF0000),使其执行两个寄存器的加法操作。调试程序,每执行一次加法 操作就将标志位的状态记录下来,并将所得结果与您预先计算得出的结果相比较。如果两个 操作数看作是有符号数,如何解释所得标志位的状态?同样,如果这两个操作数看作是无符数,所得标志位又当如何理解?

22、 0xFFFF000F 0x7FFFFFFF 67654321 (A) + 0x0000FFF1 + 0x02345678 + 23110000 (B) 结果: ( ) ( ) ( ) (14)数据访问 把下面的 C 代码转换成汇编代码。数组 a 和 b 分别存放在以 0x4000 和 0x5000 为起始 地址的存储区内,类型为 long(即 32 位) 。把编写的汇编语言进行编译连接,并进行调试。 for (i=0; i8; i+) ai = b7-i; 第四章程序清单 4.1 寄存器相加;文件名:TESTI.S;功能:实现两个寄存器相加;说明:使用 ARMulate 软件仿真调试AREA

23、 Examplel,CODE,READONLY ;声明代码段 ExamplelENTRY ;标识程序入口CODE32 ;声明 32 位 ARM 指令START MOV R0,#0 ;设置参数MOV R1,#10LOOP BL ADD_SUB ;调用子程序 ADD_SUBB LOOP ;跳转到 LOOPADD_SUBADDS R0,R0,R1 ;R0=R0+R1MOV PC,LR ;子程序返回END ;文件结束程序清单 4.2 读取 SMI 立即数T_bit EQU 0X20SWI_HandlerSTMFD SP!, R0_R3,R12,LR ;现场保护MRS R0,SPSR ;读取 SPSRS

24、TMED SP!,R0 ;保存 SPSRTST R0,#T_bit ;测试 T 标志位LDRNEH R0,LR,#_2 ;若是 Thumb 指令,读取指令码(16 位)BICNE R0,R0,,#0xFF00 ;取得 Thumb 指令的 8 位立即数LDREQ R0,LR,#_4 ;若是 ARM 指令,读取指令码(32 位)BICEQ R0,R0,#0Xff000000 ;取得 ARM 指令的 24 位立即数LDMFD SP!, R0_R3,R12 ,PC ; SWI 异常中断返回第 页 共 17 页 13程序清单 4.3 使用 IRQ 中断ENABLE_IRQMRS R0, CPSRBIC

25、R0,R0,#0x80MSR CPSR_C,R0MOV PC,LR程序清单 4.4 禁能 IRQ 中断DISABLE_IRQMRS R0 CPSRORR R0, R0,#0x80MSR CPSR_C,R0MOV PC,LR程序清单 4.5 堆栈指令初始化INTSTACKWOV R0,LR ;保存返回地址;设置管理模式堆栈MSR CPSR_C,#0xD3LDR SP,stacksvc;设置中断模式堆栈MSR CPSR_C,#0xD2LDR SP,Stacklrq程序清单 4.6 小范围地址的加载ADR R0,DISP_TAB ;加载转换表地址LDRB R1,R0 ,R2 ;使用 R2 作为参数,

26、进行查表DISP_TAB DCB 0xC0,0xF9,0xA4,0xB0,0x99,0x92, 0x82,0xF8 ,0x80 ,0x90程序清单 4.7 中等范围地址的加载ADR LR,RETURNIADRL R1,Thumb_sub1BX R1RETURNICODE 16Thumb_subMOV R1,#10程序清单 4.8 加载 32 位立即数LDR R0,=IOPIN ;加载 GPIO 的寄存器 IOPIN 的地址LDR R1,R0 ;读取 IOPIN 寄存器的值LDR R0,=IOSETLDR R1,=0x00500500STR R1,R0 ;IOSET=0x00500500第 页

27、共 17 页 14程序清单 4.9 软件延时DELAYINOPNOPNOPSUBS R1,R1,#1BNE DELAYI程序清单 4.10 ARM 到 Thumb 的状态切换;文件名:TEST8.S;功能:使用 BX 指令切换处理器状态;说明:使用 ARMulate 软件仿真调试AREA Example8,CODE,READONLYENTRYCODE32ARM_CODE ADR R0,THUMB_CODE+1BX R0 ;跳转并切换处理器状态CODE16THUMB_CODEMOV R0, #10 ;R0=10MOV R1, #20 ;R1=20ADD R0,R1 ;R0=R0+R1BEND(一

28、)、填空题1、嵌入式系统的三要素是嵌入、专用、计算机。2、从嵌入式系统设计的角度来看,嵌入式软件结构可以分为循环轮询系统、前后台系统、单处理器多任务系统以及多处理器多任务系统等几大类。3、衡量系统实时性的主要指标有:响应时间、生存时间、吞吐量。4、软件一般包括:程序、数据和文档。5、嵌入式软件的体系结构通常包括:驱动层、操作系统层、中间件层和应用层。6、嵌入式系统中的任务管理主要包括:创建任务、删除任务、改变任务状态和查询任务状态等功能。7、任务由代码、数据、堆栈和任务控制块TCB构成。8、TCB包含操作系统用来控制任务所需要的信息,如任务状态、CPU寄存器、调度信息、内存管理信息和I/O状态

29、信息等。9、任务的主要特性包括:动态性、并行性和异步独立性。10、任务的特性可能通过优先级、周期、计算时间、就绪时间和截止时间等参数来进行描述。11、任务的三种基本状态为:等待、就绪和执行。12、BSP的主要特点是:硬件相关性与操作系统相关性。13、评价实时操作系统的主要指标有:系统响应时间、任务切换时间、中断延迟等。14、实时系统与分时以及批处理系统的主要区别是高及时性和高可靠性。15、创建任务原语的主要功能有:为任务申请一个TCB并初始化、将新建任务设置为就绪状态并放入就绪队列中。16、采用优先级调度算法时,一个高优先级任务由阻塞状态变为就绪状态时,可以有非抢占式和抢占式两种处理方式。17

30、、一个从磁盘上读文件的任务,在得到了所需要的文件信息后,它的状态应该从阻塞转换第 页 共 17 页 15成就绪。18、存储管理中,对存储空间浪费是以内部碎片和外部碎片两种形式表现出来的。19、地址重定位可以分为静态重定位和动态重定位两种。20、静态重定位是在程序装入时进行,动态重定位是在程序执行时进行。21、设备管理的主要目标是:提高外部设备的利用率、为用户提供统一的使用界面。22、信号量的物理意义是当信号量值大于零时表示可分配资源的个数;当信号量值小于零时表示等待该资源的任务的个数。23、用P、V操作管理临界区时,一个任务在进入临界区前应对信号量执行P操作,退出临界区时应对信号量执行V操作。

31、24、在嵌入式系统中,如果被多个任务同时操作,某些资源可能会变得不确定,这些资源包括:共享事件结构、共享文件、共享硬件设备。25、在对一个设备进行操作之前要完成下面三步:安装设备驱动、初始化设备、打开一个设备并得到文件描述符。26、块设备以块为单位传输数据,字符设备以字节为单位传输数据。_(四)、简答题1、什么是嵌入式系统?嵌入式系统的特点是什么?嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统的主要特点如下:高实时性OS、系统内核小专用性强系统精简实时性和可靠性要求高嵌入式软件开发走向标准化嵌入式系统需要专门的开

32、发工具和环境2、嵌入式软件的特点有哪些? 规模相对较小,开发难度大 快速启动,直接运行 实时性和可靠性要求高 程序一体化 两个平台3、嵌入式系统的主要应用领域有哪些?消费电子、通信设备、家庭设备、汽车电子、工业控制、军事国防、医疗电子等。4、按实时性来分,嵌入式系统可分为几类?它们的特点是什么?可分为硬实时系统和软实时系统。其中硬实时系统对响应时间有严格要求,如果系统响应时间得不到满足,就会引起系统崩溃或致命的错误;软实时系统对响应时间有要求,但系统响应时间得不到满足时,不会导致系统崩溃或致命的错误。0 deadline time1Hard SystemSoft System5、影响系统响应时

33、间的主要因素有哪些?影响系统响应时间的主要因素有: 任务调度算法 任务执行时间 事件发生的频率 任务数量 中断响应时间第 页 共 17 页 16 任务响应时间 资源共享 任务间通信6、根据自己的理解描述嵌入式系统的发展趋势?行业性嵌入式软硬件平台标准化互联网的普及网络化半导体技术的改善小型化3C技术的快速融合功能多样化使用者的需求个性化信息服务应用生活化泛在化28、请简述计数信号量的工作原理。计数器信号量通常用于保护多实例访问的资源。计数信号量可以看成一个内存单元,这个内存单元的内容保存一个计数值。当一个任务用semTake获取一个计数信号量时,会有两种结果:如果这个信号量的计数是非0的,那这

34、个信号量的计数就会减1,调用semTake的任务也会继续执行;如果这个信号量的计数是0,调用semTake的任务会被阻塞,等待信号量的可用。如果用semTake获取一个计数信号量时指定了超时,并且达到了超时值,这个任务会从阻塞队列移出并移入到就绪队列,同时返回错误状态。有可能会有几个任务同时等待在一个计数信号量上。当一个任务调用semGive()释放一个计数信号量时,等待在这个计数信号量队列中的任务会解除阻塞状态。如果没有任务等待,该信号量计数会加1。29、简述消息队列的工作机制?工作模式?有何优缺点?消息队列是任务之间传递信息的一种机制,允许多个任务,中断之间发送以指针方式定义的变量或其他信

35、息,指向的数据结构的变量类型也可以有所不同;可以看作多个邮箱组成的数组,共用一个等待列表,可以用作计数型信号量。主要的工作模式有两种:C/S模型、双工通信模型。优点:可以携带少量信息,可以缓冲,防止峰值。缺点:效率不高。传递指针信息,没有对消息进行复制,不能对原消息进行修改,效率相对高(vxWorks会复制消息)。30、简述管道的工作机制?与消息队列相比,各有什么优点?管道是构筑于消息队列之上,由pipeDrv所控制的一个虚拟的I/O设备,具有标准的I/O接口。消息队列的优点:具有超时功能、消息有优先级、更快、可以被删除。管道的优点:使用标准的I/O接口,如read(), write(),op

36、en(), close() ;可以通过io taskStdSet()重定向;在Select()重可以使用文件描述符。31、简要描述VxWorks中信号的定义和用途。信号是一种软件通知,用以通知处理事件的任务。VxWorks支持软件信号功能,信号异步地改变任务的控制流,任何任务都可以向另外一个任务发送信号。信号多用于异常处理,很少用于任务间通信。32、实时系统软件开发不同于其他软件工程的主要特征有哪些?实时系统的设计是受资源约束的。时间是实时系统的首要资源,除此以外,其他系统资源如内存大小等,在实现系统目标时都有可能与时间进行折衷。实时系统是紧凑而复杂的,通常需要软件硬件协同设计。实时系统的运行常常不需要用户的参与。33、选择嵌入式系统处理器时主要考虑哪些因素?主要考虑的因素有应用类型、I/O接口、主频、功耗、所支持的存储器类型、总线、价格、封装、产品的生命力和厂家的实力、技术支持和第三方软件的支持。34、选择嵌入式操作系统时主要考虑哪些因素?是自建还是购买,或是使用开源软件;应用对嵌入式操作系统的功能、性能的要求;第 页 共 17 页 17与硬件平台和开发工具的关系;产品所属的应用领域是否有行业的标准或限制;技术支持;版税或服务费的问题。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报