- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VxWorks入门介绍 2010/10/1 目录 VxWorks简介 BSP及系统执行流程 中断 任务调度 任务切换 任务创建 定时器 目录 任务间通讯 信号量 二进制信号量 消息队列 socket 集成开发环境Tornado的使用 VxWorks简介 VxWorks组成 VxWorks操作系统由任务的管理与调度、任务的同步与通信、动态内存的管理、时钟的管理、I/O管理、文件系统等几部分组成 VxWorks简介 对于VxWorks ,用户可裁减掉程序员认为没有使用到的功能,直到只剩下最简内核(可以只有10k左右) 一般使用的VxWorks为标准的单CPU版本。VxFusion为标准的多CPU版本,应用程序在多个CPU上运行,但仍然象在一个CPU 上运行那样进行数据的交换、通信与同步。 VxWorks简介 VxWorks使用统一的API,对于VxWorks支持的不同的CPU、VxWorks的不同版本,API都是一样的。VxWorks的API是由操作系统内核提供的服务原语搭建起来的。服务原语,是不可打断的,这样可以保证系统调用的时间尽量小、尽量是常量和可确定 BSP BSP是系统用来管理外设的部分,由两部分组成:初始化、驱动程序。所谓初始化是指从系统上电复位开始直到wind kernel和usrRoot根任务启动的这段时间,系统的执行过程。驱动程序就是一些包含I/O操作的子函数。 初始化包括:CPU Init、Board Init、System Init。CPU Init初始化CPU的内部寄存器。Board Init初始化智能I/O的寄存器,将device打通。System Init为系统的运行准备数据结构,进行数据初始化。 BSP 系统上电代码执行流程 执行流程 中断 中断是实时系统非常重要的组成部分,与linux及windows相比, VxWorks对于中断的相应速度和中断处理程序的处理速度要高很多,实时性最好 对于中断处理程序,可能引起阻塞的都不能使用,printf可能引起阻塞,如果在中断处理程序里面需要输出调试信息,可以使用logMsg来输出。中断里面也不要试图获得信号量,接收消息队列里面的消息等操作。 中断 中断包含三层含义 中断引脚号(或从中断控制器中得到) 中断号 中断向量(对x86是中断号*4) 中断处理程序和中断向量必须连接再允许 后才能被激活 中断 对于中断服务程序,越简短越好,为提高VxWorks的中断服务程序与任务的合作性能,最好的机制是信号量。下面例子中我们会看到标准的中断处理过程。 中断 典型的中断处理过程示例: 1。中断连接: intConnect ( IV_IRQ6, (FUNCPTR) Isr1, 0); 参量1:连接的中断向量 参量2:中断服务程序 参量3:中断服务程序的参量 中断 中断允许: 2。intEnable( (int)IV_IRQ6 ); 参量:中断向量 3。中断处理程序 中断 Isr1() { 关中断; 清中断; semGive(SemId1);/*释放信号量*/ } 中断 4。中断处理任务 task1() { for(;;) semTake (SemId1, WAIT_FOREVER) … 开中断; } 任务间调度 VxWorks无条件的使用基于优先级的任务间调度 对于同等优先级的任务,如果基于时间片轮循没有打开,任务采取先到先运行,运行完毕再交出cpu,如果打开,则轮流使用cpu。 任务里如果有死循环,比它优先级低的任务都不能运行 任务切换 任务切换速度:us量级,Cache关闭时上升到10us量级。 任务的创建 VxWorks创建任务,如下例所示创建名为task1的任务: taskSpawn(“tTask1”,55,0,10000,(FUNCPTR) task1,0,0,0,0,0,0,0,0,0,0); 参量1:任务名 参量2: 任务优先级 任务的创建 参量3:创建时可选参量 参量4:任务堆栈尺寸 参量5:创建的任务 参量6-1
文档评论(0)