1.与任务相关的命令

sp function,[arg1],...,[arg9]

-启动任务,最多接受9个参数,默认的优先级100、堆栈20000字节

period n,function,[arg1],...,[arg8]

-创建一个周期调用function的任务,周期为n秒,最多接受8个参数

repeat m,function,[arg1],...,[arg8]

-创建一个反复调用function的任务,调用次数为m,m=0时永久调用,最多也是8个参数

ts tidX -挂起任务

tr tidX -恢复挂起的任务

td tidX -删除任务

i tidX -显示任务基本信息,参数为0时显示全部任务

ti tidX -显示任务详细信息,包括寄存器、堆栈等

tt tidX -显示任务的函数调用关系

checkStack tidX -显示任务堆栈使用的历史统计,参数为0时显示全部任务

Socket网络编程的广播用的地址是255.255.255.255,广播数据不会被路由器转发,限定于局域网内,否则就是网络风暴了。

广播的代码比较简单,直接参考单播/组播的例子写一个。

Server端的流程如下:

  • 调用socket()打开一个Socket
  • 调用bind()指定Port信息
  • 调用setsockopt()加入广播
  • 调用recvfrom()阻塞接收
  • 最后,调用close()关闭Socket

VxWorks的系统任务

VxWorks操作系统自带一些系统任务,主要用于系统的调试和控制。

根任务

根任务是内核执行的第一个任务,该任务主要完成系统的初始化功能并创建其他系统任务。

其初始化内容包括:I/O系统、设备驱动程序等必要的系统资源的初始化,并创建其他如日志任务、网络任务等系统任务。完成初始化功能后,根任务终止退出。

任务的设计模式属于Run_to_end_Tasks。

任务设计模式

任务的设计模式主要有两种,一种Run_to_end_Tasks,这种模式下任务完成后就终止退出,一般用于在系统上电后完成一些指定初始化功能。另外一种是无限循环的任务(Continuous_Tasks),这种任务是最为常见的,用于执行某些特定功能的代码。在设计无限循环任务最重要的一点是,其循环代码中至少有退出的条件,这样才能使低优先级的任务有机会得到CPU。

日志任务

下载地址

Files:

VxWorks下的kprintf调用

Date 2020-05-18
File Size 568.25 KB
Download 366

下载地址

VxWorks下的管道Pipe介绍

Date 2020-05-06
File Size 600.65 KB
Download 358

VxWorks下的管道Pipe介绍