![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VxWorks
Escropion
嘿,我的老伙计!
展开
-
vxWorks中sysClkRateGet()返回系统时钟详解
操作系统总是基于某个时钟节拍来跑的。。。这个节拍的得到往往是通过硬件时钟中断得到,一般 来说这个中断的优先级就比NMI低一点点,比其他的都高。。这个中断是共给操作系统用的,操作系统用他来进行调度啊什么的各种处理。而在vxWorks中 的一个重要参数就是SYS_CLK_RATE这个参数,也就是系统时钟率。。。。它的含义是:系统时钟滴嗒在一秒钟之内发生多少次。比如说,你定义为 60,那么系统时钟在1s中转载 2017-07-12 21:50:05 · 3792 阅读 · 0 评论 -
程序、任务、进程和线程的联系与区别
程序(program)只是一组指令的有序集合。任务(task)是最抽象的,是一个一般性的术语,指由软件完成的一个活动。一个任务既可以是一个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一个线程(或作为一个中断任务)来实现。 进程(process)常常被定义为程序的执行。可以把一个进程看成是一个独转载 2017-07-12 21:51:15 · 1105 阅读 · 0 评论 -
VxWorks消息队列
VxWorks消息队列在单CPU中,VxWorks的多任务通信的主要机制是消息队列。如图: 消息队列允许以FIFO方式或给予优先级方式排队消息,消息的数目可变,消息的长度可变。每一个任务都可以向消息队列发送消息也可以从消息队列中读取消息,并且多个任务允许同时从消息队列中收发消息。但是,两个任务间的双向通信通常需要两个消息队列,各自用于一个方向。相关控制函数msgQCreate()VxWorks创建原创 2017-07-15 13:07:03 · 6793 阅读 · 1 评论 -
基于优先级的抢占式调度
基于优先级的抢占式调度Wind内核调度默认使用基于优先级抢占式调度,内核共有 256 个优先级(任务的优先级在其创建时指定,为0~255),优先数 0 对应着最高优先级,优先数255 对应着最低优先级。每一时刻,内核保证将资源分给处于就绪状态的最高优先级的任务执行。之所以说这种调度算法是抢占的,是因为如果在某个时刻,一个优先级比当前正在运行的任务的优先级高的任务变为就绪,那么内核立即保存当前任务的上原创 2017-07-29 11:57:14 · 2956 阅读 · 0 评论 -
VxWorks时间片轮转调度
VxWorks时间片轮转调度任务调度是基于某种规则约束,给一个任务集合中每个任务分配开始和结束的时间。约束方式一般分为时间片约束和资源约束。在VxWorks中,系统按照时间片依次轮流执行每个任务,从而造成多个任务在单个处理器上同时执行的假象。 wind内核调度默认使用的是基于优先级抢占式调度,同时也允许使用轮转调度。轮转调度的目的是使用相同优先级的所有就绪任务共享CPU。如果不使用轮转调度,当多个原创 2017-07-29 11:58:18 · 2856 阅读 · 0 评论 -
VxWorks 串口读写操作
#在 VxWorks 中,系统内核已经帮我们实现了串口驱动,所以可以用统一的接口函数和命令来配置串口相关参数,这一点相比 Linux 简单得多。串口配置过程打开串口fd = open("/tyCo/0", O_RDWR, 0);"/tyCo/0" 串口1的设备名,O_RDWR:open for reading and writing设置串口raw模式,清空输入输出的缓冲区在VxWorks中配置串口原创 2017-07-31 22:06:17 · 8060 阅读 · 0 评论 -
基于VxWorks的VxBus字符设备驱动
基于VxWorks的VxBus字符设备驱动VxBus是指在 VxWorks 中用于支持设备驱动的特有的架构,这种架构包含对minimal BSP的支持。它包括以下功能:允许设备驱动匹配对应设备;提供驱动程序访问硬件的机制;软件其他部分访问设备功能;在VxWorks系统中,实现设备驱动的模块化。VxBus是Vxworks的模块化机制,类似于linux中的module。通过VxBus可以对模块原创 2017-07-31 22:47:49 · 3191 阅读 · 0 评论