嵌入式复习整理

合集下载

嵌入式复习资料精

嵌入式复习资料精

第一章嵌入式系统基础知识1.嵌入式系统基础知识计算机系统的两个发展分支通用计算机与嵌入式计算机嵌入式系统的一般定义、IEEE定义一般定义:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。

是将应用程序、操作系统和计算机硬件集成在一起的系统。

(技术角度)嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。

(系统角度)广义定义:任何一个非计算机的计算系统。

IEEE (国际电气和电子工程师协会)定义:嵌入式系统是“用于控制、监视或者辅助操作的机器、设备或装置”。

嵌入式系统4个组成部分嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户应用程序嵌入式系统的三个基本要素嵌入性、专用性、计算机系统嵌入式系统的软硬件特点硬件方面:稳定性、低功耗、体积受限、看门狗电路、成本低、系统资源少软件方面:实时性、可裁剪性、精简性、人机界面要求不高嵌入式系统的硬件架构以嵌入式处理器为中心,配置存储器、I/0设备、通信模块以及电源等必要的辅助接口组成。

嵌入式系统的硬件核心嵌入式微处理器嵌入式处理器的种类嵌入式微处理器、嵌入式微控制器、嵌入式DSP、嵌入式SOCS0CSOC是指在单芯片上集成数字信号处理器、微控制器、存储器、数据转换器、接口电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。

2.嵌入式系统硬件嵌入式微处理器的体系结构冯诺依曼结构:单一的程序和数据总线。

哈佛结构:独立的程序和数据总线。

RISC(精简指令集计算机)的概念及思想精华1979年,美国加州伯克利分校提出了RISC的概念,基本思想是尽量简化计算机指令功能,只保留那些功能简单,能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序实现。

RISC思想的精华就是通过简化计算机指令功能、简化计算机指令格式,使指令的平均执行周期减少,同时大量使用通用寄存器来提高计算机的工作主频,提高程序的速度。

嵌入式知识点复习

嵌入式知识点复习

1、嵌入式系统是以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、Boot loader主要功能是:系统初始化、加载和运行内核程序。

3、微处理器有两种总线架构,使用数据和指令使用同一接口的是冯诺伊曼,分开的指令和数据接口、取指和数据访问可以并行进行的是哈弗结构。

4、ARM微处理器有_七_种工作模式,它们分为___非特权模式__、__特权模式两类。

其中用户模式属于____非特权模式___。

5、ARM处理器中CPSR和SPSR的中文名称分别为:程序状态寄存器和程序状态保存寄存器。

3、下面指令执行后,改变R1寄存器内容的指令是 D 。

A.TST R1,#2B.ORR R1,R1,R1C.CMP R1,#2D.EOR R1,R1,R14、在ARM处理器中, A 寄存器包括全局的中断禁止位,控制中断禁止位就可以打开或者关闭中断。

A.CPSR B.SPSR C.PC D.IR6、在下列ARM处理器的各种模式中, D 模式有自己独立的R8-R14寄存器。

A.系统模式(System) B.终止模式(Abort)C.中断模式(IRQ) D.快中断模式(FIQ)5.Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?(7分)答:Boot Loader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。

通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。

作用就是系统初始化,分配内存,将应用代码从FLASH中导入内存,最后将运行指针指向这段代码,把控制权交给应用程序。

知识点复习1、嵌入式系统的定义,嵌入式系统的体系结构,嵌入式系统的组成,嵌入式系统的特点。

定义:以应用为中心,以计算机技术为基础,软硬件可以剪裁,适应应用系统对功能、可靠性、成本、体积、重量、功耗严格要求的专用计算机系统。

嵌入式期末复习总结整理

嵌入式期末复习总结整理

题型:1、选择题:20分2、填空题:20分3、判断题:8分4、简答题:16分5、程序分析题:20分6、编程题16分第一章1、嵌入式系统的定义:根据IEEE的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”。

国内定义:以应用为中心,以计算机技术为基础,软硬件可裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、嵌入式系统的组成:嵌入式系统装置由嵌入式计算机系统和执行装置组成。

嵌入式计算机系统由硬件层、中间层、系统软件层和应用软件层组成。

(分层结构)3、立即数(第二操作数)合法性,选择题:将一个32位数右移偶数位可以得到小于255的数为合法,否则为不合法。

例如:0x6a0=0000 0000 0000 0000 0000 0110 1010 0000右移4位==> 0000 0000 0000 0000 0000 0000 0110 1010 = 0x6a 小于255,所以合法0x1a600=0000 0000 0000 0001 1010 0110 0000 0000无论右移多少偶数位,所得的数仍然大于255,所以不合法0x16c00=0000 0000 0000 0001 0110 1100 0000 0000右移10位==> 0000 0000 0000 0000 0000 0000 0101 1011 =0x5b小于255,所以合法4、全称:AMBA: Advanced Microcontroller Bus Architecture 高级微控制器总线ARM:Advanced RISC MachineCISC:Complex Instruction Set Computer复杂指令集系统RISC: Reduced Instruction Set Computer精简指令集系统RTOS: Real-time Operation System 实时多任务操作系统FAT: File Allocation Table 文件分配表系统UCOS: Micro Controller Operation System 微控制器操作系统片上系统:System On Chip,SOC知识产权核:Intellectual Property Core,IP CoreIP软核:Soft IP CoreIP硬核:Hard IP CoreIP固核:Firm IP Core5、嵌入式微处理器的体系结构可以采用冯*诺依曼体系结构或哈佛体系结构;指令系统可以选用精简指令集系统RISC(Reduced Instruction Set Computer)和复杂指令集系统CISC(Complex Instruction Set Computer)。

嵌入式考试复习要点

嵌入式考试复习要点

1.1.1嵌入式系统的定义1.1.2嵌入式系统的组成1.2嵌入式处理器分类1.3.2 实时操作系统1.3.3 常见的嵌入式操作系统各个操作系统的特点1.4 解决优先级翻转问题的两种方法说出方法即可2.1 交叉编译环境的含义结合实验环境理解2.4 板级支持包概念3.1.1 ARM体系结构特点Thumb指令集与ARM指令的区别3.1.2 ARM体系结构包含哪几部分ARM的流水线结构3级流水线P62 ARM存储器结构P63 DMA3.1.3ARM处理器内核ARM7TDMI处理器内核ARM9TDMI处理器内核3.2.1 数据类型3.2.2 处理器模式3.2.3 处理器工作状态ARM与THUMB两种状态的区别3.2.4 寄存器组织通用寄存器、状态寄存器、程序计数器3.2.5 异常3.2.6 存储器格式大端与小端的区别3.3 掌握ARM基本寻址方式能读懂简单的ARM汇编指令程序段3.5 ARM9与ARM7的比较流水线方面两者区别及特点4.2.1 熟悉ARM汇编支持的伪指令4.2.3 ARM汇编语言程序的基本结构注意ARM汇编程序关键字的含义4.3 基于ARM的硬件启动程序包含那几部分工作?4.4 基于ARM的C语言与汇编语言混合编程掌握寄存器的使用规则、参数的传递规则4.4.3 C语言调用汇编程序方法注意参数的传递(有可能出程序解析题)5.1 S3C2410简介其特点,(填空题)5.1.1 S3C2410A特点掌握其特点,知识点较多体系结构、中断控制器5.2.1 S3C2410A的I/O口工作原理多少的口,分了几组掌握如何对I/O的寄存器编程例如:G口GPGCON、GPGGDAT的相应位如何设置。

(可能会有些编程题)5.2.2 I/O口编程实例掌握P231的例子。

5.3.1 ARM中断原理5.3.2 S3C2410A的中断控制器多少中断源、中断请求信号、优先级逻辑、中断的类别。

5.4 DMA的工作原理理解DMA工作原理,能说明。

嵌入式系统复习要点

嵌入式系统复习要点

第一章 嵌入式系统概述1、嵌入式系统的定义嵌入式计算系统,简称为嵌入式系统。

究竟什么是嵌入式系统呢?● 《嵌入式计算系统设计原理》定义:“不严格地说:它是任意包含一个可编程计算机的设备,但是这个设备不是作为通用计算机而设计的。

因此,一台个人电脑并不能称之为嵌入式计算系统,尽管个人电脑经常被用于搭建嵌入式计算系统。

”● IEEE (国际电气和电子工程师协会)定义:“Device used to control, monitor, or assist the operation of equipment, machinery orplants ”。

● 微机学会定义:“嵌入式系统是以嵌入式应用为目的的计算机系统。

”并分为系统级、板级、片级。

● 目前被大多数人接受的一般性定义是:“嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

”2、嵌入式系统的组成结构嵌入式系统的核心计算系统可以抽象出一个典型的组成模型:硬件层、中间层、软件层和功能层。

(1).硬件层:硬件层由嵌入式微处理器、存储系统、通信模块、人机接口、其它I/O 接口(A/D 、D/A 、通用I/O 等)以及电源等组成。

嵌入式系统的硬件层以嵌入式微处理器为核心。

(2).中间层:硬件层与软件层之间为中间层,它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。

中间层一般包括:硬件抽象层(HardwareAbstract Layer ,HAL )、 板级支持包(Board Support Package ,BSP )图1、嵌入式系统的组成结构(3).软件层:软件层由实时操作系统(Real Time Operating System ,RTOS )、文件系统、图形用户接口(Graphical User Interfaces , GUI )、网络系统及通用组件模块组成。

嵌入式复习课整理

嵌入式复习课整理

第1章复习提纲1、嵌入式系统的定义2、嵌入式系统的分类,简述你所学过的嵌入式系统3、几种常见的嵌入式操作系统WindowsCE、uC/OSII、uCLinux、VxWorks、Palm OS等4、嵌入式系统的应用领域信息家电、移动计算设备、汽车电子、工业控制、机器人、军事领域等。

、第2章嵌入式系统体系结构2、目前应用比较广泛ARM处理器系列是:ARM7、ARM9、ARM9E、ARM10,各系列特点……3、ARM920TDMI命名含义4、ARM指令集和Thumb指令集特点5、ARM920T微处理器的指令流水采用了典型的RISC五级流水线结构,将指令执行过程分为取指、译码、执行、访存和写回5个步骤。

6、ARM处理器支持下列数据类型:字节8位;半字16位(占用两个字节)、字32位(占用4个字节)。

7、ARM处理器的7种工作模式8、ARM9的存储组织结构:32位长的地址,它把存储器看成是0地址开始的字节的线性组合,即一个地址对应于一个存储字节,其范围是232个字节(8位二进制数)。

9、ARM9处理器的内部总共有37个32位的寄存器,其中31个用作通用寄存器,6个用作状态寄存器,每个状态寄存器只使用了其中的12位。

这37个寄存器根据处理器的状态及其工作模式的不同而被安排成不同的组。

10、几个重要的寄存器:R13—堆栈指针、 R14—链接寄存器 R15—程序计数器、 CPSR -状态寄存器 SPSR —备份的状态寄存器 11、CPSR12、什么是异常13、什么是异常向量表异常出现后处理器强制从异常类型所对应的固定存储器地址开始执行程序,这些存储器地址称为异常向量表。

14、进入异常时,ARM9内核完成以下动作:(1)将下一条指令的地址保存在相应的LR 寄存器中。

(2)将CPSR 复制到相应的SPSR 中。

(3)迫使CPSR 模式位M[4:0]的值设置成对应的异常模式值 (4)迫使PC 从相关的异常向量取下一条指令。

嵌入式复习

嵌入式复习

1、嵌入式系统定义:嵌入式系统是以应用为中心和以计算机技术为基础的,并且软硬件是可裁减的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。

嵌入式系统特征:1)嵌入性适合宿主、尺寸小、低功耗2)实时性3)专用性2、列举嵌入式的应用:机器人、数码相机、机顶盒、电子狗、机械手臂、智能冰箱、电动牙刷、汽车、手机、高铁、飞机等等3、嵌入式处理器定义:嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。

嵌入式处理器特点:低功耗、可移动、集成度1)继承了整个PC机时期的技术成就;2)种类多;3)面向应用的专用芯片;4)新技术的不断应用;5)使用寿命长;6)低功耗、低电压4、嵌入式系统结构:嵌入式硬件系统1)嵌入式处理器2)各种类型存储器3)模拟电路及电源4)接口控制器及接插件软件系统1)实时操作系统(RTOS)2)协议栈(Protocol Stack)3)应用程序(Application)嵌入式软件系统1)设备驱动(Device Driver)2)板级支持包(BSP)3)实时操作系统(RTOS)4)协议栈(Protocol Stack)5)应用程序(Application)5、指令系统定义:指令1)一般含义:指明要执行的操作以及操作的对象.指令系统1)CPU依靠指令来计算和控制系统2)CPU在设计时就规定了一系列与其硬件电路相配合的指令系统3)指令系统指CPU能识别和执行的所有指令集合6、SISC与RISC的区别:1)指令系统:RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。

对不常用的功能,常通过组合指令来完成。

因此,在RISC机器上实现特殊功能时,效率可能较低。

但可以利用流水技术和超标量技术加以改进和弥补。

而CISC计算机的指令系统比较丰富,有专用指令来完成特定的功能。

因此,处理特殊任务效率较高。

2)存储器操作:RISC对存储器操作有限制,使控制简单化;而CISC机器的存储器操作指令多,操作直接。

嵌入式复习总结大全(仅供参考)

嵌入式复习总结大全(仅供参考)

第1 部分嵌入式系统导论1、嵌入式系统的定义●通常将嵌入式计算机系统简称为嵌入式系统。

●嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、嵌入式计算机与通用计算机的异同3、嵌入式系统的组成嵌入式系统一般由嵌入式硬件和软件组成硬件以微处理器为核心集成存储器和系统专用的输入/输出设备软件包括:初始化代码及驱动、嵌入式操作系统和应用程序等,这些软件有机地结合在一起,形成系统特定的一体化软件。

4、为什么需要嵌入式操作系统1)让应用程序脱离硬件,这样应用程序的移植性会更好;2)操作系统为复杂的系统提供管理机制。

5、嵌入式系统的特点及每个特点的说明[不是简答]1)嵌入式系统通常是形式多样、面向特定应用的2)嵌入式系统得到多种类型的处理器和处理器体系结构的支持3)嵌入式系统通常极其关注成本4)嵌入式系统有实时性和可靠性的要求5)嵌入式系统使用的操作系统一般是适应多种处理器、可剪裁、轻量型、实时可靠、可固化的嵌入式操作系统6)嵌入式系统开发需要专门工具和特殊方法1)嵌入式系统通常是形式多样、面向特定应用的:一般用于特定的任务,其硬件和软件都必须高效率地设计,量体裁衣、去除冗余,而通用计算机则是一个通用的计算平台。

它通常都具有低功耗、体积小、集成度高等特点,能够把通用微处理器中许多由板卡完成的任务集成在芯片内部。

嵌入式软件是应用程序和操作系统两种软件的一体化程序。

2)嵌入式系统得到多种类型的处理器和处理器体系结构的支持:通用计算机采用少数的处理器类型和体系结构,而且主要掌握在少数大公司手里。

嵌入式系统可采用多种类型的处理器和处理器体系结构。

在嵌入式微处理器产业链上,IP 设计、面向应用的特定嵌入式微处理器的设计、芯片的制造已相成巨大的产业。

大家分工协作,形成多赢模式。

有上千种的嵌入式微处理器和几十种嵌入式微处理器体系结构可以选择。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式复习题型1)多选题 5*2’2)判断题 10*1’3)名词解释 5*2’4)简答题 10*5’5)综合体 1*20’主要内容:✓《嵌入式操作系统与应用》1)任务件通信(互斥,同步,信号量等)2)ARM寄存器和处理器3)嵌入式实时系统4)嵌入式实时系统内核5)中断的定义及其管理6)操作系统结构✓《一步一步写嵌入式系统》1)第三章:操作系统的启动2)第七章:驱动程序框架(这个是大题,大家多看代码以及代码的解释部分)综合题:框架✓Program 1✓Program22)ramdisk_storage_device结构体的作用是什么?解释其所有成员的含义。

简答题5.嵌入式操作系统的内核一般包括哪些部件?✓调度器✓上下文切换✓调度算法✓对象✓任务之间的通信✓服务✓存储管理✓文件管理6.内核对象是系统的特殊构造模块,最常见的RTOS内核对象有哪几个?✓任务✓信号量✓消息队列多选题3.存储一个32位数0x2168465到2000H~2003H四个字节单元,若以大尾端模式存储,则2000H单元存储的内容为(0x02)判断题8.伙伴算法要求将内存分割成若干块,其中最小的块叫做一个“页”,其余的块都必须是页的2n倍。

(×)名词解释5.互斥:即以某种手段来保证当一个进程在使用一个共享变量、共享地址或文件时,其他进程不能对这些资源同时操作。

以下是群里一位同学做的很详细的资料整理,真的很不错,呵呵,请大家根据重点章节选取性的进行复习。

第一章嵌入式操作系统的概念CPU的分配和运行都是以进程为基本单位的,因而对cpu的管理可以归结为对进程的管理。

内存管理单元:MMU,程序接口由一组系统调用组成。

一般的微内核仅提供任务间通信机制,部分存储管理,有限的低级进程管理和调度,低级I/O。

嵌入式操作系统的特点:三个指标衡量系统的实时性:响应时间,生存时间,吞吐量。

第二章:嵌入式操作系统的硬件构成一般结构: HAL、Kernel、API(3)独立于硬件的软件system on chip(SOC)设计者在选择处理器时考虑的主要因素如下:1、调查市场上已有的CPU供应商2、处理器的处理速度3、技术指标4、处理器的低功耗4、处理器的软件支持工具、内置调试工具,供应商是否供评估板数字集成电路芯片的每个引脚都设有一个移位寄存器,称为边界扫描单元BSC,由集成电路的所有边界扫描单元构成边界扫描寄存器BSR第三章、ARM体系结构第四章嵌入式实时操作系统内核嵌入式操作系统的内核一般包括以下几个部件:1、调度器:2、上下文切换上下文是任务每次被调度运行时所要求的CPU寄存器的状态3、调度算法大多数系统都支持基于优先级的抢占调度5、任务之间的通信7、存储管理8、文件管理4、1、2嵌入式实时内核的功能:一、任务管理二、同步和通信管理(1)信号量要有关代码运行下去,先要获得信号量。

有三种类型的信号量:互斥信号量:解决互斥问题,二值信号量:结局同步问题,计数信号量:解决资源计数问题。

对信号量的操作:1、创建和删除信号量 2、申请与释放信号量消息队列操作:1、创建、删除消息队列 2、发送普通、紧急消息 3、广播、接受消息3、获得消息队列上未决的消息数目 4、清空消息队列 5取得消息队列标识符(3)管道(4)事件事件的特点:相互独立,不提供数据传输功能,任务可以等待多个事件,事件等待有与、或两种,事件无队列。

对事件的操作:1、发送事件,2接受事件。

异步信号例程(ASR)与ISR区别:ASR对应一个任务,ISR对应一组任务。

异步信号机制也可以称为软中断机制。

对异步信号的基本操作:1、安装异步信号处理例程,2、发送异步信号。

三、中断管理内核对中断提供管理功能。

四、时间管理五、对共享资源的互斥管理对共享资源的互斥管理方法包括关中断、使用测试并置位指令、禁止任务切换(不允许其他任务抢占当前任务的执行)、使用信号量(信号量提供比禁止中断和抢占更为精确的互斥力度)等。

六、内存管理在应用中可以创建多个分区和堆,以实现对多个内存区域的管理。

七、I/O管理八、出错处理:错误可以分为一般性错误和严重性错误。

九、用户扩展管理通过用户扩展程序入口和系统配置表可以实现内核在功能上和规模上的可伸缩性。

任务创建、启动、重新启动、删除、上下文切换、第一次投入运行、退出、系统错误时4、2嵌入式实时内核的任务管理一个任务是独立的执行线程,从系统的角度看,任务是竞争系统资源的最小运行单位。

4.2.1 多任务机制从表面看,多个任务正在同时执行,实际上,系统内核根据某一调度策略让它们交替运行。

上下文是指任务在每一次被内核调度时所需要的CPU环境、系统资源。

4.2.2任务状态和状态的转变任务状态反映任务当前在系统所处的情形,基于抢占式调度内核有三种状态:就绪态、阻塞态、运行态处于任一状态的任务都有可能被删除。

4、2、3 任务的调度策略(1)基于优先级的抢占式任务调度(2)轮转调度时间片保证在一个优先级组中,在所有任务都得到一个时间片之前,不会有任务得到第二个时间片4、2、4任务异常处理4、3 嵌入式实时内核的共享代码和重入一个被多个任务调用的拷贝称为共享代码,共享代码使得系统更为有效、更容易维护第五章、任务间通信任务间存在相互协同关系,这种协同最直观的除了任务间的同步和互斥就是任务间的通信,任务间通信方法包括:5、1实时内核任务间通信机制5、1、1任务之间的关系如下:交换信息的方式一般有两种:单向同步或通信,双向同步或通信5、1、2共享内存任务间最直接最明显的通信方法就是访问共享数据结构,即不同的任务都可以访问同一地址空间(2)环形缓冲环形缓冲是一种环形缓冲数据库,环形缓冲大小固定,以先进先出的方式工作。

如图5-3所示共享内存带来的问题是:当多个读任务或多个写任务进行互斥访问时,就需要信号量来解决。

5、1、3 互斥(1)中断上锁和反应时间互斥机制最强有力的方法是禁止中断不能切换到中断服务程序:ISR。

在上锁期间,上锁会造成系统对外部事件反应迟钝,实时性得不到保证,不适合作为一种通用的互斥方法,任何情况下,应该使中断上锁时间尽量短。

(2)抢占上锁和反应时间比中断上锁稍弱的互斥机制是禁止任务抢占在该互斥情形下,ISR能够执行。

缺点:实时性得不到充分保证,因为在上锁的任务离开临界区解锁之前,就处于就绪的更高的优先级的任务不能执行。

如果任务可以获取信号量,就可以执行期望的操作或访问资源针对不同类型的问题,系统信号量可以分为三种:信号量可以让一定数量的任务同时访问共享资源5、1、5 内部数据结构5、2 二进制信号量二进制信号量的特点:不支持嵌套,不支持优先级继承协议,没有任务删除保护调用semGive()函数可以释放二进制信号量,释放信号量的目的是让信号量变得可用。

5、1、2 互斥与禁止中断和抢占上锁不同,二进制信号量仅限制了相关资源的互斥范围,当任务访问资源时,首先必须获得信号量。

只要任务持有信号量,其他所有需要访问资源的任务将被阻塞,当任务结束访问资源释放信号量时,才允许其他任务访问。

需要互斥时,可以使用函数senTake()和senGive()。

5、2、2 同步当信号量用于任务同步时,信号量可以用作事物等待的一个状态或事件,初始时信号量不可用。

5、2、3 二进制信号量用于任务间通信5、3互斥信号量互斥信号量直接影响实际竞争资源的任务,或者说,他控制的精度更高,影响的范围更小,大多数操作系统都提供了互斥信号量。

互斥信号量是一种用于解决内在互斥问题的特殊的二进制的信号量,包括优先级倒置、删除安全以及资源的递归问题,由下列函数创建:5、3、1 优先级倒置当一个高优先级任务需要等待一段不确定时间,让低优先级任务完成时,就会发生优先级倒置。

5、3、2 删除安全一个受信号量保护的临界区经常需要保护执行任务避免被意外删除,为避免任务在临界区执行时不被意外删除,可以提供“任务保护”和“解除任务保护”这一对原语作为一种解决方法。

Tasksafe()和taskunsafe()提供一种任务删除方法,在使用互斥信号量SEM_DELETE_SAFE时,semTake()隐含调用Tasksafe()而semGive()隐含调用TaskUnSafe()。

5、3、3递归资源访问一般来说,当已经占有一个互斥信号量的任务企图获得同一个互斥信号量时,死锁就会发生。

有些操作系统允许对互斥信号量的嵌套访问,嵌套访问是指某个任务再次申请已占用的互斥信号量时,该信号量的嵌套层数加1.5、3、4互斥信号量用于任务间同步5、4计数器信号量5、4、1 计数器信号量计数器信号量使用一个计数器,允许多次获取和释放,用于控制系统中共享资源的多个任务的使用,是实现任务同步和互斥的一种手段。

计数器信号量与二进制信号量相似,它跟踪信号量,被释放的次数,每释放一个信号量,计数器加一,没提取一个信号量,计数器减一。

当计数器计数为零时,试图提取信号量的任务将被阻塞。

与二进制信号量一样,如果信号量被释放时存在被阻塞任务,那么被阻塞的任务将被阻塞,然而,与二进制信号量不同的是,如果信号量被释放时不存在阻塞的任务,那么计数器加一,这意味着一个被释放两次的信号量,可以无阻塞地被提取两次。

计数器信号量用于保护多分复制的资源。

5、4、2 计数信号量用于任务间同步如果事件产生的速度超过任务处理该事件的速度,就可能会发生数据丢失,使用计数器信号量可以解决这一问题。

5、5 消息队列5、5、1概述信号量提供的信号量是非常有限的,通常只能作为解决通信中涉及的互斥和同步问题的底层机制。

相比之下,消息队列作为一种更高级的通信方式,能够在同一处理器的各个任务间传递任意长度的消息。

消息队列是一个类似于缓冲区的对象,通过它,任务和ISR发送接收消息,实现数据的通信和同步。

消息队列就像一个管道,它暂时保持来自一个发送者的消息,知道有意的接收者准备读这些消息。

“客户—服务器”模型中,使用多个消息队列维护通信,服务器创建请求队列,并侦听队列上客户端请求,客户将请求放入请求队列。

对于实时系统的消息队列,更多地关注其优先级方面的特点。

信号量的优先级问题只考虑一个阻塞任务队列的优先级排序,包括1、消息自身的优先级 2、阻塞任务队列优先级,标记为MSG_PRI_UPGENT的消息总会作为节首插入到链队列,标记为MSG_PRI_NORMAL的消息插入到链队列尾部。

发送消息的优先级和消息自身优先级采取不同的组合是的情况,一条消息实际上就是一块地址连续的缓冲区,内容可以是字符串,二进制数据等。

由使用消息队列的任务负责解释,系统值关心缓冲区长度。

VxWorks发送消息处理:一个消息队列实际上将消息缓冲区组织在两个单链表结构的链队列上一个消息队列最多支持一个任务注册信号量事件。

相关文档
最新文档