搜档网
当前位置:搜档网 › Farsight080920vxworks

Farsight080920vxworks

嵌入式培训专家
应用最广泛的嵌入式实时操作系统 ——VxWorks介绍
https://www.sodocs.net/doc/586944717.html,

华清远见
日程
v VxWorks操作系统介绍 v 为实时性需求而设计的操作系统
? ? ? ? 多任务和任务间通信 中断处理 内存管理 IO系统
v 走进VxWorks BSP 开发 v VxWorks最新技术
? 像Windows中一样使用进程和动态连接库(VxWorks RTP) ? 对多核的支持(VxWorks SMP)
v 课程培训目标

嵌入式培训专家
VxWorks操作系统介绍

华清远见
VxWorks的应用
v 网络设备 v 工业自动化 v 汽车 v 航空航天 v 国防工业 v 消费电子

华清远见
VxWorks的特点
v 实时性 v 稳定性 v 可裁减性 v 友好的开发调试环境 v 广泛的运行环境支持

华清远见 v 硬实时
? 有一个刚性的、不可改变的时间限制 ? 它不允许任何超出时限的错误
实时性
v 软实时
? 时限是一个柔性灵活的,可以容忍偶然的超时错误 ? 只能提供统计意义上的实时
v 非实时
? 对时间没有什么特定的要求
非实时 计 算 机 仿 真 用 户 界 面 网 络 视 频
软实时 电 信 飞 行 控 制
Cruise
硬实时 电 子 引 擎
控 制

华清远见
对开发人员的要求

华清远见
WorkBench 开发环境
HOST DEVELOPMENT SYSTEM TARGET SYSTEM
Shell
W TX
Editor
Debugger
Application
WT X
Target Server
WDB
Project
Browser
WTX
TX
VxWorks
W
Windview
WDB Agent
WDB Agent
VxSim Simulator

嵌入式培训专家
为实时性需求而设计的操作系统

华清远见
进程和线程

华清远见
多任务内核
v 进行任务管理
? 任务是竞争系统资源的最小运行单元。任务可以使用 或等待CPU、I/O设备及内存空间等系统资源,并独立 于其它任务,与它们一起并发运行(宏观上如此)。 VxWorks内核使任务能快速共享系统的绝大部分资 源,同时有独立的上下文来控制个别线程的执行;
v VxWorks实时内核Wind提供了基本的多任
务环境,系统内核根据某一调度策略让它 们交替运行。 v 系统调度器使用任务控制块的数据结构 (简记为TCB)来管理任务调度功能。

华清远见
基于优先级的抢占式调度

华清远见
任务间通信手段
v 任务间通信手段
? 共享数据结构、共享内存; ? 信号量; ? 消息队列; ? 管道; ? 信号 ? 事件与Task网络通信

华清远见
VxWorks 中断处理
v 硬件中断处理是实时系统设计的最重要、最关键
的问题。 v 为了获得尽可能快的中断响应时间,VxWorks的 中断处理程序运行在特定的上下文中(在所有任 务上下文之外)。因此,中断处理不会涉及任何 任务上下文的交换。 v ISR拥有专用堆栈,在系统初始化时分配,大小 由INT_STACK_SIZE决定。 v 通过内核工作队列(Kernel Work Queue),最大程 度较小中断处理延时。

华清远见
中断和任务的优先级
v 中断抢占最高优先级的任务

华清远见
intLock and taskLock
v 谨慎使用 v taskLock增加任务的抢占延时 v intLock增加中断延时 v intLock在锁中断的同时会锁任务切换 v 尽量避免使用intLock
lockLevel = intLock(); for(i=0;i<10000000;i++) gDataCount++; taskDelay(10); intUnlock(lockLevel);

华清远见
VxWorks的内存空间布局

华清远见
内存分配管理
v memPartLib 和 memLib v malloc()和free(); v 其他的内存分配相关函数:
? void * calloc (nElems, size) Allocate zeroed memoryfor an array.; ? void * realloc (ptr, newSize) Resize an allocated block. The block may be moved; ? int memFindMax( ) Returns the size of the largest free block in system memory;

华清远见
虚拟内存管理
v 采用页表的方式管理内存(vmBaseLib) v 主要功能包括:
? 启动时设置内核模式内存空间的上下文 ? 映射物理地址到虚拟地址 ? 设置内存的Cache属性 ? 设置内存的保护属性 ? 内存映射的Enable/Disable ? TLB的Lock/Unlock ? 页大小的优化
v RTP的支持
? 进程内存空间上下文的管理

华清远见
VxWorks IO系统
v 专门为实时系统设计,简单、灵活、高效 v 提供了对标准C库中basic和buffered I/O的支
持 v VxWorks IO系统在把控制传递给设备驱动之 前,只做最简单的基本处理,基本上只是把 用户IO请求路由到正确的设备驱动程序入口。 v 驱动实现相当灵活,甚至可以完全绕开IO系 统 v 驱动程序可以被动态的安装和卸载 v 驱动程序执行在执行该IO操作的任务的上下 文中,可以被抢占。

相关主题