(完整版)vxworks嵌入式操作系统

合集下载

嵌入式操作系统VxWorks简介

嵌入式操作系统VxWorks简介

一.嵌入式操作系统VxWorks简介VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。

良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。

它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。

在美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。

WindRiver公司网址实时操作系统和分时操作系统的区别从操作系统能否满足实时性要求来区分,可把操作系统分成分时操作系统和实时操作系统。

分时操作系统按照相等的时间片调度进程轮流运行,分时操作系统由调度程序自动计算进程的优先级,而不是由用户控制进程的优先级。

这样的系统无法实时响应外部异步事件。

实时操作系统能够在限定的时间内执行完所规定的功能,并能在限定的时间内对外部的异步事件作出响应。

分时系统主要应用于科学计算和一般实时性要求不高的场合。

实时性系统主要应用于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的场合。

VxWorks的特点•可靠性操作系统的用户希望在一个工作稳定,可以信赖的环境中工作,所以操作系统的可靠性是用户首先要考虑的问题。

而稳定、可靠一直是VxWorks的一个突出优点。

自从对中国的销售解禁以来,VxWorks以其良好的可靠性在中国赢得了越来越多的用户。

•实时性实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。

实时性的强弱是以完成规定功能和作出响应时间的长短来衡量的。

VxWorks 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。

最新整理嵌入式实时操作系统VxWorks.ppt

最新整理嵌入式实时操作系统VxWorks.ppt
• VxWorks只占用很小的存储空间,并可高 度剪裁,保证了系统能以较高的效率运行
VxWorks体系结构框图
板级支持包:Board Support Package
板级支持包对各种板子的硬件功能提供了统一的
软件接口,包括
硬件初始化
TCP/IP协议栈和
IVI//OOxW系 系UP文V这能oIV统统ONr/xOk件些够xSWI,sWX系Idrr将t提X系设灵a网管RS键显磁并otao标包o1pwr统C标A整s供1rk统备活e络道盘示盘口FkFS准括FsFM准ss个提支中了sIs:都的s驱驱驱驱驱驱包:驱::的盘、的盘供持,一使在动动动动动动每括与动原一缓驱T实V异作适的普个r用设: : , : , ,个以M,生u种冲动x用步为用 文 通e快W中 硬 局 内一 备S用 用 用 用 用 用B下用文F与I:高 包中 看 消 内 字 线 链 和-/库IoS一于 件 数F速断 件 域 存DO个 驱/于 于 于 于 于 于驱于件rRPO用性 括S断 门 息 存 符 缓 表 AkO个实 系 据灵包的 时 和 分T、标 动网 任xxIPs动采 任 进 中 看 内NS系S于能 :D处 狗 登 分 扫 冲 管提188CC文时 统 文活括产 钟 总 配S兼C1准 程络 务66程E用 务 程 断 门 存统风常的S理 计 录 配 描 和 理I供操V键d/件系 包 件的一生 和 线 等容I接序AC通 间序R基 间 间 处 狗 管格G设驻实、 时 、 、 、 环了作盘T标o,统 括 、、个和 计 内 等的口上A信 通:于 同 通 理 理Am备的内时器 缓一系,准文允应 : 外与R处 时 存设文,移F, 信优 步 信 机目存操、 冲个统Os仅本许用 部A备理 器 的件从植支先 机 机 制M标的作管实兼N存显根的 设,管 地系而持启级 制 制S机文系理用容在示据快 备I仅理 址统使多动的件统C、例的于,偏速 都存映得兼种或、核程文x仅移文 统在射文容8网其可心扩件6存读件一于件的卡B他抢:展系S在写系作x系启占PW8集统于磁统为6统动的iB,n网x盘文dS机多8包P络6的件制任B括驱一处S务P动部理调分度

嵌入式实时操作系统VXWORKS6.6集成环境使用指导建议课件

嵌入式实时操作系统VXWORKS6.6集成环境使用指导建议课件

B、在Project Explorer窗口,选择Properties再选 Project References或者选择Project > Properties。然后选择 Project References,之后进行设置。
Workbench确认子工程和超级工程之间的关系是基于工程
类型和目标操作系统的。有些关系是不允许的。比如,
22
境使用指导建议
4.工程结构和编译系统
• 编译先从顶部 开始,再逐层 深入到内部的 枝叶最后回到 顶部,完成编 译
嵌入式实时操作系统VXWORKS6.6集成环
23
境使用指导建议
5.工程结构和共享子工程
一个实际的工程可以关联任意数量的逻辑工程 。产品的升级或者编译共享工程亦或组件的变化, 都会影响到关联共享工程的工程结构。
• 5.透视图(Perspectives)
• 6.视图(Views)
• 7.编辑器(Editors)
• 8.工程( Projects)
• 9.访问和查找workbench上下文关联的帮助 信息
嵌入式实时操作系统VXWORKS6.6集成环
10
境使用指导建议
四、理解Cross-Development(交叉开发)的概念
• 涉及的领域包括: • 过程控制(化工、食品加工); • 机器人(制造、自动操作控制); • 航空电子(飞行管理、GPS、喷气发动机控制); • 军事(武器管理、密码); • 数据处理(采集、信号处理); • 通信(税收机、数字电话); • 家电(微波炉、洗衣机、空调) • 计算机外围设备(打印机、Modem)等。
嵌入式实时操作系统VXWORKS6.6集成 环境使用指导建议
目录
• 第一部分 • 第二部分 • 第三部分 • 第四部分 • 第五部分

嵌入式实时操作系统VxWorks

嵌入式实时操作系统VxWorks

4
• 任务有自己的上下文
• 包括CPU环境、系统资源等
• 任务由系统内核调度运行
• 上下文切换时,任务的上下文保存在任务 控制块(TCB)中
• 一个任务的上下文包括:
• 任务的执行点(程序计数器) • CPU寄存器和浮点计数器
University of Science and Technology of China
• 使用单地址空间 • 所有代码执行在单一、公共的地址空间内 • 因此地址空间不属于任务上下文
• 当选用VxVMI时,每个任务各自的地址空 间需要进行虚拟地址到物理地址的转换
University of Science and Technology of China
7
1.2 任务状态转换
• 任务状态反映任务当前在系统中所处的情 形
10
任务的状态转换图 任务创建时,处于挂起状态
ttaasskkSRuesspuemned(())
挂起
要使刚创建的任务就绪, 要ta激skt活Sasu该ksRp任eens务du(m) e()
taskSuspend() taskResume()/taskActivate()
阻塞
睡眠
就绪
semseTmaGkei(v)e/(m)/smgQsgRQeScenivde(()) 调 抢度 占
执行
taskDelay() 使延用时sp已aw到ning原语,可以直接 创建并激活一个任务
任务可以在任何状态下被删除
University of Science and Technology of China
11
任务状态队列
University of Science and Technology of China

嵌入式操作系统和VxWorks

嵌入式操作系统和VxWorks

目标机自举(booting) 目标机自举(booting)
应用映像的来源和执行 用映像的来源和执
•应用映像包括RTOS、内核和嵌入式程序员开发的应用代码 应用映像包括 员开发的 用代码 、内核和嵌入式程序员开发 •应用映像来源于两个地方 应 – 目标机上的只读存储设备 机上的只读 – 宿主机开发系统 宿主机开发 开发系 •根据不同开发阶段和具体的使用方式,可执行映像的执行有三种情况 根据不同开发阶段和具体的使用方式, 根据不同开发阶段和具体的使用方式 行映像的执行有三种 – 程序从 程序从ROM执行,数据使用 数据使用RAM 执 – 将程序从 将程序从ROM复制到 复制到RAM后执行 后 – 从宿主机系统下载程序到 从宿主机系统 程序到RAM后执行 后 BootImage,VxworksImage,BSP概念上的区别 , 概念上的区别 , 概念上的区
•嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一 嵌入式系统是设计完成复杂功能的硬件和软件, 起的计算机系统。 起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一 个完整的部分,称为嵌入的系统。 个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式 系统。 系统。 • 通用目的的处理器:它的设计非常丰富,可以提供全部的特性和广 通用目的的处理器:它的设计非常丰富, 设计非常丰富 泛的功能。 理器能源消耗大, 生的热量高,尺寸也大, 泛的功能。但这些处理器能源消耗大,产生的热量高,尺寸也大,其 复杂性也 来了制造成本的昂贵 性也带 复杂性也带来了制造成本的昂贵 • 嵌入式处理器:它是为完成特殊的应用而设计的特殊目的的处理器 嵌入式处理器:它是为完成特殊的应用而设计的特殊目的的处 设计的特殊目的的 – 注重尺寸、能耗和价格的处理器 注重尺寸、能耗和价格的处 – 注重性能的处理器 注重性能的处 – 注重性能、尺寸、能耗和价格的处理器 注重性能、尺寸、能耗和价格的处 • 片上系统SOC(System On Chip) 片上系统 ( )

VxWorks嵌入式操作系统

VxWorks嵌入式操作系统

VxWorks Kernel
通信、同步和互斥机制(信号量)
VxWorks信号量提供最快速的任务间通信机制,它主 要用于解决任务间的互斥和同步。针对不同类型的问 题,有以下三种信号量:
二进制信号量
使用最快捷、最广泛,主要
用于同步或互斥;
互斥信号量 主要用于优先级继承、安全删除和 回溯;
计数器 资源分配
Wind 消息队列管理: msgQCreate() msgQDelete() msgQSend() msgQReceive()
创建(产生并激活)消息队列 中止并自由信号量 向消息队列发送消息 从消息队列接收消息
VxWorks Kernel
通信、同步和互斥机制(管道)
管道是用VxWorks的I/O系统提供一种灵活的消息传 送机制,它是受驱动器pipeDrv(VxWorks所提供) 管理的虚拟I/O设备
策略,同时它也提供了轮转调度法
VxWorks Kernel
任务管理(优先级反转)
优先级
T1:获取资源R,阻塞
T2:抢占T3
T3:获取资源R
T3:执行
T1:获得资源R,执行
时间
T3:释放R
•客观上造成优先级低的进程T2抢占优先级高的进程T1 •Vxworks解决方案:
优先级继承,在T1阻塞时,T3继承T1的优先级
将C函数和中断向量联结 得到当前中断套叠深度
设置程序中断级别 使中断禁止 开中断 设置异常向量 得到异常向量
VxWorks Kernel
时钟管理 时钟管理提供以下功能:
维护系统日历时钟;
在任务等待消息包、信号量、事件或内存 段时的超时处理;
以一定的时间间隔或在特定的时间唤醒或 发送告警到一个任务。

vxworks

vxworks

Vxworks操作系统(概要)一嵌入式操作系统概述(5 Min)1.嵌入式操作系统的形成●无操作系统的嵌入程序阶段这一阶段的嵌入式系统是以可编程控制器的形式、以单芯片为核心的系统,同时具有与一些监测、伺服、指示设备相配合的功能。

这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有明显的被称为操作系统(RTOS)的支持,而是通过汇编语言编程对系统进行直接控制,运行结束后清除内存。

这一阶段系统的主要特点是系统结构和功能都相对单一,针对性强,但无操作系统支持,几乎没有用户接口。

●简单监控式的专用操作系统阶段这一阶段的嵌入式系统主要以嵌入式处理器为基础、以简单监控式操作系统为核心。

系统的特点是处理器种类繁多,通用性比较弱;系统开销小,效率高;系统一般配备系统仿真器,具有一定的兼容性和扩展性;操作系统的用户界面不够友好,其主要用来控制系统负载以及监控应用程序运行。

●通用的嵌入式操作系统阶段以通用型嵌入式实时操作系统(RTOS)为标志的嵌入式系统。

如VxWorks、pSOS、OS-9、Windows CE就是这一阶段的典型代表。

这一阶段系统的特点是能运行在各种不同类型强大的微处理器上;具有强大的通用型操作系统的功能,如具备了文件和目录管理、多任务、设备支持、网络支持、图形窗口以及用户界面等功能;具有大量的丰富的应用程序接口(API)和嵌入式应用软件丰富。

2.嵌入式操作系统特点概述●可移植性●可裁减性●可靠性●实时性●体积小、占用资源少3.现有的嵌入式操作系统简介●对几种主流操作系统进行简要介绍✧Windows Embedded族◆Windows Embedded操作系统产品家族由2种操作系统组成:WinCE、WinXP Embedded◆总体来看,Windows CE .NET是一个可定制的实时操作系统,能够用来快速构建下一代的智能、小巧的互联设备。

WindowsCE .NET可以运行在多种中央处理器(CPU)上,适用于各种设备类型:移动手持设备、瘦客户机、IP电话以及自动化工业控制设备。

VxWorks嵌入式实时操作系统结构简析

VxWorks嵌入式实时操作系统结构简析

VxWorks嵌入式实时操作系统结构简析本文简要介绍和分析了VxWorks嵌入式实时操作系统的实现结构. VxWorks是Windriver公司开发的为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信. 其核心功能主要有微内核,任务间通信机制,网络支持,文件系统和I/O管理,POSIX标准实时扩展,以及C++等其他标准支持。

一VxWorks实时操作系统背景用户在开发具有日益复杂的32位嵌入式处理器的产品时,需要一个用来连接产品应用程序和底层硬件的操作系统。

用户所寻求的操作系统应该具有的最重要的特点包括:·可靠性高的实时性能·可下载到最终产品的板上内存的丰富和灵活的功能模块集·与综合全面的主机开发环境的可协同工作。

VxWorks操作系统是美国WindRiver公司于1987年设计开发的一种嵌入式实时操作系统(RTOS),是Tornado II嵌入式开发环境的关键组成部分。

VxWorks是Windriver公司开发专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信。

应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。

该系统主要应用在单板机、数据网络(以太网交换机、路由器)和通信方面等多方面。

通过对VxWorks的研究,可以使我们对嵌入式操作系统的研究和开发更进一步,尤其对国内的类似研制厂家有借鉴意义。

VxWorks操作系统的主要功能目前VxWorks操作系统的版本为VxWorks 5.4,其核心功能主要有:·微内核wind·任务间通信机制·网络支持·文件系统和I/O管理·POSIX标准实时扩展·C++以及其他标准支持这些核心功能可以与WindRiver系统的其他附件和Tornado合作伙伴的产品结合在一起使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
The taskLock() prevent task context switching, but do not lock out interrupt handling.
Task Control Routine
Task
taskSpawn Task Name and ID Routines Task Information Routines Task Deleting Routines Task Control Routines Task Hook Routines
If the task explicitly blocks or suspends, the scheduler selects the next highest-priority eligible task execute.
When the preemption-locked task unblocks and begins running again, preemption is again disabled.
Shared Data Structure Mutual Exclusion Semaphores Message Queues Pipes Network Intertask Communication Signals
Shared Data Structures
Global variables Linear buffers Ring buffers Linked lists Pointers
Code Reentrancy Solutions
Dynamic Stack Variables Guarded Global and Static Variables Task Variables
Dynamic Stack Variables
Guarded Global and Static Variables
Task Scheduler Control Routines
Task
Task Lock When a task disables the scheduler by calling taskLock(), no priority-based preemption can take place while that task is running.
嵌入式软件VxWorks编程介绍
邹昕光 哈尔滨工业大学自动化测控所
联系电话:86413531 - 609 E-mail: xgzou@
Agenda
Task Intertask communication ISR
Task
Each task has its own context, which is the CPU environment and system resources that the task sees each time it is scheduled to run by the kernel.
Task
The default task scheduling algorithm in wind is priority-based preemptive scheduling. Round Robin is an optional algorithm. The wind kernel has 256 priority levels, numbered 0 through 255. Priority 0 is the highest and priority 255 is the lowest.
Providing a mutual-exclusion mechanism to prohibit tasks from simultaneously executing critical sections of code.
Task Variables
Intertask Communication
Task Hook Routines
Shared Code and Reentrancy
A single copy of code executed by multiple tasks is called shared code. A subroutine is reentrant if a single copy of the routine can be called from several task contexts simultaneously without conflict. Modify global or static variables.
A task’s context is saved in the task control block (TCB).
Task
A task’s context includes: - a thread of execution; that is, the task’s program counter - the CPU registers and (optionally) floating-point registers - I/O assignments for standard input, output, and error - a delay timer - a time-slice timer - kernel control structures - signal handlers - debugging and performance monitoring values
Shared Data Structures
Task Spawn
Task Name and ID Routines
Task Information Routines
Task Information Routines
Task Deleting Routines
Task Deleting Routines
Task Control Routines
相关文档
最新文档