Vxworks基础

上传人:飞*** 文档编号:57433925 上传时间:2018-10-21 格式:PPT 页数:89 大小:982.50KB
返回 下载 相关 举报
Vxworks基础_第1页
第1页 / 共89页
Vxworks基础_第2页
第2页 / 共89页
Vxworks基础_第3页
第3页 / 共89页
Vxworks基础_第4页
第4页 / 共89页
Vxworks基础_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《Vxworks基础》由会员分享,可在线阅读,更多相关《Vxworks基础(89页珍藏版)》请在金锄头文库上搜索。

1、Vxworks简介,最成功的实时操作系统1981,Windriver,嵌入式咨询公司TCP/IP,NFS工具集WIND内核1995,tornado集成开发环境 收购SDS、DIAB、pSOS,Vxworks操作系统是一个嵌入式实时操作系统(RTOS)。Vxworks与其它实时OS一样,基于以下两个重要机制:* 多任务环境及任务间通信* 硬件中断处理Vxworks多任务内核完成的功能是:实时调度,任务间通信及互斥。 其它功能则作为系统库围绕在内核周围,它们可根据需要进行剪裁。Vxworks与非实时系统的不同之处在于:Vxworks的优先抢占机制基于调度,Vxworks对外部事件的反应和处理快,V

2、xworks容量小并且可配置(微内核结构),VxWorks (1),Vxworks提供了一套丰富的任务间通信机制,包括: 内存共享(Shared memory):简单的数据共享方法 信号量(Semaphore):用于基本的互斥及同步 消息队列(Message queues)和管道(pipe):用于同一CPU上任务间消息的传递 套接口(Socket)和远程程序调用(RPC):用于网络上任务间的通信 信号(Signal):用于异常处理此外,Vxworks提供了三种共享内存的对象(shared-memory objects) 来实现运行在不同CPU上的任务间的高速同步和通信。 共享信号量(share

3、d semaphores):有二进制,记数型两种 共享消息队列(shared message queues) 共享内存分区(shared-memory partitions):有系统类型和用户类型,VxWorks (2),Tornado (1),Tornado提供了Vxworks系统开发的集成开发环境,其中Tornado 源代码编辑器包括下列特性:标准文本控制能力C和C+ 语法元素用不同颜色调制集成:编辑窗口跟踪代码的执行编译集成:项目管理将编译警告和编译错误直接和编辑窗口中的相应代码对应起来。,Tornado (2),Tornado集成开发环境由以下几个部分组成:,目标CPU:Vxworks

4、 在其上运行 的一个单板计算机 Tornado PC主机:有一根串行线与目标机相连(初始化时主机作为终端用)Vxworks核二进制文件驻留在其盘上,核的下载及运行Tornado 工具通过以太网口进行,Ethernet,AGENT,SERVER,Vxworks/Tornado开发方式,目标CPU: Vxworks 在其上运行 的一个单板计算机; Tornado PC主机:有一根串行线与目标机相连(初始化时主机作为终 端用),Vxworks核二进制文件驻留在其盘上,核的下载及运行Tornado 工具通过以太网口进行。,Ethernet,AGENT,SERVER,Tornado开发环境,Tonado

5、开发环境(续),Tornado开发环境(续),Vxworks操作系统将一切与硬件有关的功能模块都放在BSP库中。该BSP库是硬件与软件的接口,处理硬件的初始化、中断处理与产生、硬件时钟与定时管理、局部和总线内存空间的映射、内存大小定义,等等。能够自行启动目标机、初始化目标机、能够与host通信以下载Vxworks核、把控制权交给Vxworks核来调用用户应用程序等功能。,板支持包(BSP),Tornado&VxWorks框架,Vxworks,应用广泛的嵌入式实时操作系统,VxWorks的整体构架,Vxworks特点,WIND微内核 硬件支持广(BSP) 较好的兼容性,POSIX1003.1.b

6、 良好的可裁减性 很好的开发环境:tornado 动态连接和下载 多处理器、网络协议,图形界面支持,VxWorks的特点,微内核设计MicroKernel Size10K ;功能模块化;高可靠设计;快速多任务切换、响应时间短中断延时小,满足实时要求;,VxWorks的特点,对硬件不做假设。 硬件设计电路可完全自定义;支持各种或自定义的外设; 支持的CPU构架包括:Intel x86 i960 StrongARM Motorola 68K CPU32 Coldfire Mcore PowerPC ARM 7, 8, StrongARMMIPS R3K, R4K, R5KHitachi SH1,

7、SH2, SH3NEC V83x, V85xSPARC, UltraSPARCSeimens SAHitachi SHMitsubishi M32RD,板支持包(BSP),为各种目标板的硬件功能提供了统一的软件接口 它们包括: 硬件初始化 中断处理和产生 硬件时钟和定时器管理 内存映射和分配 BSP还包括boot Rom和其它启动机制 sysLib和sysALib库是VxWorks可移植的核心,Vxworks操作系统将一切与硬件有关的功能模块都放在BSP库中。该BSP库是硬件与软件的接口,处理硬件的初始化、中断处理与产生、硬件时钟与定时管理、局部和总线内存空间的映射、内存大小定义,等等。能够自

8、行启动目标机、初始化目标机、能够与host通信以下载Vxworks核、把控制权交给Vxworks核来调用用户应用程序等功能。,板支持包(BSP),VxWorks的特点-高度伸缩性的环境,Stand-alone kernel up to full featured OS,0,100,200,300,400,500,Maximum Equipped,File System,Networking,O.S.,m,Memory Requirements (Kbytes),microkernel 5kb,Stand Alone O.S. 20kb,Networked O.S. 80-100kb,Netwo

9、rked O.S. & File System 250kb,Maximum Equipped 500 kb,kernel,O.S.,VxMP多处理器支持,允许将任务分布在多个CPU上执行 在不同CPU上运行的任务可以通过现有的通信机制,如信号灯、消息队列等进行同步和数据交换,文件系统,VxWorks包括多种使用块设备的本地文件系统 VxWorks的I/O结构使VxWorks可以同时有多种文件系统: MS-DOS兼容文件系统:dosFs RT-11兼容文件系统:rt11Fs 无分层文件组织结构,文件连续 原始磁盘文件系统:rawFs 整个磁盘作为一个文件 网络文件系统:NFS flash文件系统

10、:Trueff,综合网络支持,Graphics 构架,Truffle,Personal JWorks,Java,HTML,C+,Tornado,开放式、可扩展的集成开发环境,关键词,Host :ie. Solaris, SunOS, Windows 95/NT Target :ie. PowerPC, 68k, x86, MIPS,ARM Target Server :Host-based control process Debug Agent :Target-based control process Backend :Ethernet, Raw Serial, Custom,开发机和目标机

11、的连接,Tornado 系统结构,交叉开发模式,Typical scenario: 1. Boot target. 4. Download object module. 2. Attach target server. 5. Test & Debug. 3. Edit & compile. 6. Return to 3 or 1 as necessary,HOST,TARGET,VxWorks,debug agent,target server,target symbol table,dynamic loader,L AUNCHER,The Tornado II Open Environmen

12、t,User application,PerformancePak,WindView,Look!,CodeTEST/Memory,StethoScope,CodeTEST/Coverage,Code Browser,C/C+ Compiler,C Interpreter Shell,Debugger,Project Builder,Sniff+,RTOS Object Browser,My Browser,back end,Tornado宿主端-目标端间通信,Tornado 演示讲解,VxWorks操作系统详解,Vxworks操作系统组成,高性能实时内核:WIND I/O系统 文件系统 BSP

13、 网络组件 共享内存与虚拟内存 目标机驻留工具,Vxworks操作系统组成续,工具库 性能评估工具 目标机代理 VxWorks仿真器和逻辑分析仪(WindView),内核、任务、以及任务间通信,内核(Kernel),VxWorks的内核叫Wind 包括 多任务抢占和优先权调度 任务间同步和通信 中断处理 WatchDog定时器 内存管理,多任务内核、任务机制、任务间通信和中断处理机制是VxWorks运行环境的核心。其中,多任务和任务间通信是现代实时操作系统的基石。,任务,具有一定属性的运行程序 内核调度单位,优先级,状态 TCB(任务控制块),内核任务状态转换,一切就绪,只差CPU,等待某种资

14、源,处于睡眠状态,延迟一段时间,被中断,用于调试,任务状态队列,执行,内核负责维护系统中 所有任务的当前状态。,一个任务的状态转变是应用调用内核调用的结果。,内核 Wind 任务调度,优先级抢占调度(缺省) 优先级高的Task抢占CPU 0255,256个优先级,0级最高,255级最低 轮询调度 优先级相同时,多个Task轮流占用CPU 抢占锁定 独占CPU,其它高优先级的Task不能抢占CPUtaskLock,内核 Wind Task调度,基于优先级的抢占调度,基于优先级的抢占调度 与轮转调度算法结合,内核 任务控制函数,taskSpawn( ):创建并激活一个task(定位) taskIn

15、it():初始化一个新task taskActivate():激活一个task Task ID:32bits,指向task控制块的指针(ID 0指调用task) Task Name:代表task的ASCII字符串Task选项 获取Task信息 Task删除和删除保险 Task控制:改变task的状态,低级操作,参数:,所有从目标机启动的任务以字母 t开头,内核 任务扩展函数,为扩展与task相关的功能,Wind提供勾连(hook)功能,在task创建、切换、删除时,自动唤起相关的勾连例程。 在TCB中有一个字段存放此扩展 taskCreateHookAdd( ) 每个task创建时增加一个例程

16、 taskCreateHookDelete( ) taskSwitchHookAdd( ) taskSwitchHookDelete( ) taskDeleteHookAdd( ) taskDeleteHookDelete( ),内核 任务错误状态:errno,Errno是一个预定义的全局变量 多任务情况下,每个任务有自己的errno,作为task上下文的一部分,中断服务程序(ISR)也有自己的errno 惯例:程序返回OK(0)表示成功,ERROR(-1)表示失败;若返回指针,则NULL(0)表示失败。 返回ERROR或NULL时,通常设置errno表示具体错误代码 Errno总表示最近的错误状态,不会被清除 如果errno在错误状态符号表(statSymTbl)中有对应字符串,则可以使用printErrno()显示错误内容(不能用在ISR中) 尽量使用logMsg()来显示错误信息,因为它在task和ISR下都能工作,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号