vxWorks中的常识!!!

转载 2012年03月21日 17:53:47

vxWorks中的常识!!!

LOCAL<=>static
STATUS<=>int
IMPORT<=>extern
FAST<=>register
这几个比较常见

 

FUNCPTR就是指向程序的指针

那句话的意思就是弄一个指针变量,值就是函数printit的地址

其实你直接

timex((FUNCPTR)printit,0,0,0,0,0,0,0,0);

也应该是对的。就是传递了下函数的地址而已

一个库:

timexLib

NAME

timexLib - execution timer facilities 执行定时器设施

ROUTINES

timexInit( ) - include the execution timerlibrary

包括执行定时器库
timexClear( ) - clear the list of functioncalls to be timed

明确要计时功能的调用列表
timexFunc( ) - specify functions to betimed

指定要计时的函数
timexHelp( ) - display synopsis ofexecution timer facilities

显示执行定时器设施的概要
timex( ) - time a single execution ofa function or functions

对一个或多个函数执行的计时
timexN( ) - time repeated executions ofa function or group of functions

重复对一个或多个函数执行的计时
timexPost( ) - specify functions to becalled after timing

特指定时间到达后,指定要调用的函数
timexPre( ) - specify functions to becalled prior to timing

特指定时间到达之前,指定要调用的函数
timexShow( ) - display the list offunction calls to be timed

显示将要计时的函数列表

taskDelay(0)的用法

taskDelay(n)使调用该函数的任务延时n个tick(内核时钟周期)。该任务在指定的时间内主动放弃CPU,任务延时也常用于等待某一外部事件,作为一种定时/延时机制,而taskDelay(0)专用于任务调度(将CPU交给同一优先级的其他任务)。但是,taskDelay(0)时,同一优先级的任务中只有当前任务唯一一个呢?会发生什么问题?此时还有上下文切换吗?自己前换到自己?

其实,当调用taskDelay(0)时,首先,它不会导致更低优先级的任务获得CPU控制权;只有具有相同优先级的就绪任务时才会发生上下文切换。taskDelay(0)本质上是将当前任务放到该优先级队列的尾部,如果该任务是本队列中的唯一任务时,则该任务将保持CPU控制权。

taskDelay(0) --> Q_REMOVE& Q_PUT --> windExit():

taskCode:

if (taskIdCurrent == (WIND_TCB*) Q_FIRST (&readyQHead)) //说明队列中只有一个任务

     if(!workQIsEmpty)
     {
          workQDoWork();
          goto taskCode;
     }    

status =_sigCtxSave(&(taskIdCurrent->regs));

所以,taskDelay(0)时,同一优先级的任务中只有当前任务唯一一个,那么该任务将保持CPU控制权,并不发生上下文切换!!!

 

相关文章推荐

vxWorks测量一个函数的执行时间(timexLib)

使用timex( ),测试程序: #include "vxWorks.h" #include "timexLib.h" #include "stdio.h" #define ITERATION...

vxworks---行业常识

1.   VxWorks 是美国 Wind River System 公司推出   2.  风河公司目前成为了intel  的子公司   3.  vxworks 5.x     开发环境torna...

PCB常识教程

  • 2015年07月01日 18:59
  • 136KB
  • 下载

电脑问题解决常识汇总

  • 2015年11月05日 10:56
  • 9KB
  • 下载

嵌入式实时操作系统-VxWorks(基础)

实时系统定义:是指那些产生系统输出的时间对于系统是至关重要的系统。 实时系统可根据时限对其性能(或效益)影响程度的不同,分为软实时系统SRT和硬实时系统HRT。 软时限是指时限的错过不会损害系统的完整...

AS3常识(上)

  • 2014年09月14日 13:56
  • 29KB
  • 下载

电脑小常识

  • 2013年09月16日 21:25
  • 3KB
  • 下载

setsockopt()函数在VxWorks中的使用说明

setsockopt( ) NAME setsockopt( ) - set socket options SYNOPSIS STATUS setsockopt ( ...

bank 基础常识培训

  • 2014年02月24日 23:18
  • 1.85MB
  • 下载

二手笔记本小常识

  • 2014年05月04日 19:50
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vxWorks中的常识!!!
举报原因:
原因补充:

(最多只允许输入30个字)