Vxworks
This presentation is the property of its rightful owner.
Sponsored Links
1 / 34

VxWorks 及其应用开发 PowerPoint PPT Presentation


  • 172 Views
  • Uploaded on
  • Presentation posted in: General

VxWorks 及其应用开发. 陈香兰 [email protected] http://staff.ustc.edu.cn/~xlanchen 2006 年 7 月. 课堂作业:. VxWorks 的进程间通信机制包括哪些? 实现互斥的方法有哪些? VxWorks 提供了哪几种信号量? 什么是优先级倒转问题,如何解决? 信号处理程序在何时被调用? 编写中断处理程序的时候有哪些限制?. 课程内容. VxWorks 和 Tornado 简介 任务和任务间通信 信号、中断处理与定时机制 调试环境与实例分析 网络编程 VxWorks 操作系统配置.

Download Presentation

VxWorks 及其应用开发

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Vxworks

VxWorks及其应用开发

陈香兰

[email protected]

http://staff.ustc.edu.cn/~xlanchen

2006年7月


Vxworks

课堂作业:

  • VxWorks的进程间通信机制包括哪些?

  • 实现互斥的方法有哪些?

  • VxWorks提供了哪几种信号量?

  • 什么是优先级倒转问题,如何解决?

  • 信号处理程序在何时被调用?

  • 编写中断处理程序的时候有哪些限制?


Vxworks

课程内容

  • VxWorks和Tornado简介

  • 任务和任务间通信

  • 信号、中断处理与定时机制

  • 调试环境与实例分析

  • 网络编程

  • VxWorks操作系统配置


Vxworks

信号、中断处理与定时机制(下)

[email protected]


3 3 1 watchdog

3、看门狗3.1 watchdog

  • VxWorks中的看门狗(Watchdog timer)机制允许任何C函数与一个特定的时间延迟相联系

  • Watchdog timer作为系统时钟中断服务程序的一部分来维护

    • 与Watchdog timer向关联的函数是作为中断服务代码执行的,并处于系统时钟中断级别


Texctask

tExcTask工作队列

  • 如果由于某些原因使得某些函数不能被立即执行,操作系统就将该函数放在tExcTask工作队列上

  • tExcTask工作队列中的函数以tExcTask的优先级运行(通常是0,即最高)

  • 基于以上原因,与Watchdog timer相关联的函数代码也具有与ISR一样的约束


Wdlib

wdLib提供的函数调用

分配并初始化一个看门狗定时器

终止并释放一个看门狗定时器

启动看门狗定时器

取消一个正在计时的看门狗定时器


Vxworks

函数原型


Watchdog timer

与watchdog timer相关联的任务和程序

  • 若需要将一个任务T的执行往后延时,可以使用watchdog timer,并在wdStart()中指定被延时的程序P。计时结束时,程序P将会运行。程序P在任务T的上下文之外运行

  • 程序P通常用于完成一些必要处理的工作,P执行完后,将控制交还给任务T

  • 但程序P也可调用longjmp(),将控制转移到任务中的其他合适点执行,如下图:


Vxworks

程序举例


Vxworks

3.2 利用看门狗处理任务时限

  • 在实时系统中,实时任务的一个重要特征是:任务的运行具有时限约束。一旦超出时限,系统可能导致灾难性的后果

  • 为处理这种情况,通常启动一个deadline handlers


Vxworks

  • 看门狗可用来启动deadline handlers

  • 下面的例子中:

    • 协调者发送数据给组织者。

    • 组织者接收来自协调者的数据,若5秒内没有数据发送(dead line),协调者被复位

    • 程序运行20秒后自动停止


4 posix 4 1 posix

4、POSIX时钟和计时器4.1 POSIX计时器

  • VxWorks提供POSIX 1003.1b标准时钟和计时器接口

  • 时钟clock是一个软件装置(钟表)

时钟的精度

几点

校正时间


Vxworks

  • 计时器(timer)统计一段时间,并在时间到期的时候,发出SIGALRM信号,如果设置了相应信号处理函数,此时就会运行

  • 因此计时器总是与信号处理相关


4 2 posix

4.2 利用POSIX计时器处理任务时限

  • POSIX计时器也可以用来处理任务时限

  • 下例中将创建一个与POSIX计时器相联系的信号处理程序,在POSIX计时器超时时,该信号处理程序将启动执行


  • Login