1 / 34

VxWorks 及其应用开发

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

toni
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VxWorks及其应用开发 陈香兰 xlanchen@ustc.edu.cn http://staff.ustc.edu.cn/~xlanchen 2006年7月

  2. 课堂作业: • VxWorks的进程间通信机制包括哪些? • 实现互斥的方法有哪些? • VxWorks提供了哪几种信号量? • 什么是优先级倒转问题,如何解决? • 信号处理程序在何时被调用? • 编写中断处理程序的时候有哪些限制?

  3. 课程内容 • VxWorks和Tornado简介 • 任务和任务间通信 • 信号、中断处理与定时机制 • 调试环境与实例分析 • 网络编程 • VxWorks操作系统配置

  4. 信号、中断处理与定时机制(下) xlanchen@2006.7.26

  5. 3、看门狗3.1 watchdog • VxWorks中的看门狗(Watchdog timer)机制允许任何C函数与一个特定的时间延迟相联系 • Watchdog timer作为系统时钟中断服务程序的一部分来维护 • 与Watchdog timer向关联的函数是作为中断服务代码执行的,并处于系统时钟中断级别

  6. tExcTask工作队列 • 如果由于某些原因使得某些函数不能被立即执行,操作系统就将该函数放在tExcTask工作队列上 • tExcTask工作队列中的函数以tExcTask的优先级运行(通常是0,即最高) • 基于以上原因,与Watchdog timer相关联的函数代码也具有与ISR一样的约束

  7. wdLib提供的函数调用 分配并初始化一个看门狗定时器 终止并释放一个看门狗定时器 启动看门狗定时器 取消一个正在计时的看门狗定时器

  8. 函数原型

  9. 与watchdog timer相关联的任务和程序 • 若需要将一个任务T的执行往后延时,可以使用watchdog timer,并在wdStart()中指定被延时的程序P。计时结束时,程序P将会运行。程序P在任务T的上下文之外运行 • 程序P通常用于完成一些必要处理的工作,P执行完后,将控制交还给任务T • 但程序P也可调用longjmp(),将控制转移到任务中的其他合适点执行,如下图:

  10. 程序举例

  11. 3.2 利用看门狗处理任务时限 • 在实时系统中,实时任务的一个重要特征是:任务的运行具有时限约束。一旦超出时限,系统可能导致灾难性的后果 • 为处理这种情况,通常启动一个deadline handlers

  12. 看门狗可用来启动deadline handlers • 下面的例子中: • 协调者发送数据给组织者。 • 组织者接收来自协调者的数据,若5秒内没有数据发送(dead line),协调者被复位 • 程序运行20秒后自动停止

  13. 4、POSIX时钟和计时器4.1 POSIX计时器 • VxWorks提供POSIX 1003.1b标准时钟和计时器接口 • 时钟clock是一个软件装置(钟表) 时钟的精度 几点 校正时间

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

  15. 4.2 利用POSIX计时器处理任务时限 • POSIX计时器也可以用来处理任务时限 • 下例中将创建一个与POSIX计时器相联系的信号处理程序,在POSIX计时器超时时,该信号处理程序将启动执行

More Related