vxworks入门介绍
45页1、,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是系统用来管理
2、外设的部分,由两部分组成:初始化、驱动程序。所谓初始化是指从系统上电复位开始直到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) 中断处理程序和中断向量必须连接再允许 后才能被激活,中断
3、,对于中断服务程序,越简短越好,为提高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量级。,任务的创建
4、,VxWorks创建任务,如下例所示创建名为task1的任务: taskSpawn(“tTask1”,55,0,10000,(FUNCPTR) task1,0,0,0,0,0,0,0,0,0,0); 参量1:任务名 参量2: 任务优先级,任务的创建,参量3:创建时可选参量 参量4:任务堆栈尺寸 参量5:创建的任务 参量615:任务的参量,定时器,VxWorks使用3种定时器 time0:用于系统时钟,可用sysClkRateSet()改变速率,默认值时60次/秒,一般我们改为100次/秒,系统时钟变为10ms等级。 VxWorks下的watchdog基于timer0,因为是在interrupt尺度,使用必须谨慎,否则会降低系统效率,定时器,time1:用于辅助时钟,可用sysAuxClkRateSet()改变速度,其精度可以很高,例如1ms,除驱动外,一般不使用。 time2:用于时标(timestamp)。从系统开始运行时就一直递增,可以用来获得系统运行时间,在windview工具中被使用。用户程序也可以通过sysTimestamp()得到运行时间。一般不使用。,Watchdog定时
《vxworks入门介绍》由会员suns****4568分享,可在线阅读,更多相关《vxworks入门介绍》请在金锄头文库上搜索。
土地管理与地籍测量---第八章界址点测量
人机工程学案例分析(2)
工程安全培训_201303
第9章房地产投资决策分析
第2章房地产经纪制度
ACM程序设计-东北林业大学acm05
《亲爱的汉修先生》读书交流会
中原_深圳新世界尖岗山项目市场汇报_40P_2012年_别墅_项目分析_量价走势
五年级数学质量分析演示文稿
人工智能小镇-智慧小镇建设20180525
景观基本知识及发展历程
建设工程信息管理(2)
机电驱动技术第二章步进驱动技术
工程力学-第9章圆轴扭转时的应力变形分析与强度刚度设计
第一章第二节幼儿园文化环境建设的原则
第一章检测技术的基础知识
第一章__现代表面工程技术
第六章钢结构工程
第9节项目试运行管理
班主任工作经验交流课件(4)
2024-05-04 36页
2024-05-04 22页
2024-05-04 27页
2024-05-04 27页
2024-05-04 27页
2024-05-04 30页
2024-05-04 27页
2024-05-04 35页
2024-05-04 35页
2024-05-04 26页