34
niversity of Science and Technology of Chi VxWorks 及及及及及及 及及及 [email protected] http:// staff.ustc.edu.cn/~xlanchen 2006 及 7 及

VxWorks 及其应用开发

  • Upload
    toni

  • View
    138

  • Download
    6

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: VxWorks 及其应用开发

University of Science and Technology of China

VxWorks 及其应用开发

陈香兰[email protected]

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

2006 年 7 月

Page 2: VxWorks 及其应用开发

2University of Science and Technology of China

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

Page 3: VxWorks 及其应用开发

3University of Science and Technology of China

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

Page 4: VxWorks 及其应用开发

University of Science and Technology of China

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

[email protected]

Page 5: VxWorks 及其应用开发

5University of Science and Technology of China

3 、看门狗3.1 watchdog

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

• Watchdog timer 作为系统时钟中断服务程序的一部分来维护• 与 Watchdog timer 向关联的函数是作为中断

服务代码执行的,并处于系统时钟中断级别

Page 6: VxWorks 及其应用开发

6University of Science and Technology of China

tExcTask 工作队列• 如果由于某些原因使得某些函数不能被立

即执行,操作系统就将该函数放在 tExcTask 工作队列上

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

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

Page 7: VxWorks 及其应用开发

7University of Science and Technology of China

wdLib 提供的函数调用

分配并初始化一个看门狗定时器终止并释放一个看门狗定时器

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

Page 8: VxWorks 及其应用开发

8University of Science and Technology of China

函数原型

Page 9: VxWorks 及其应用开发

9University of Science and Technology of China

Page 10: VxWorks 及其应用开发

10University of Science and Technology of China

Page 11: VxWorks 及其应用开发

11University of Science and Technology of China

Page 12: VxWorks 及其应用开发

12University of Science and Technology of China

与 watchdog timer 相关联的任务和程序• 若需要将一个任务 T 的执行往后延时,可

以使用 watchdog timer ,并在 wdStart()中指定被延时的程序 P 。计时结束时,程序 P 将会运行。程序 P 在任务 T 的上下文之外运行

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

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

Page 13: VxWorks 及其应用开发

13University of Science and Technology of China

Page 14: VxWorks 及其应用开发

14University of Science and Technology of China

程序举例

Page 15: VxWorks 及其应用开发

15University of Science and Technology of China

3.2 利用看门狗处理任务时限• 在实时系统中,实时任务的一个重要特征

是:任务的运行具有时限约束。一旦超出时限,系统可能导致灾难性的后果

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

Page 16: VxWorks 及其应用开发

16University of Science and Technology of China

• 看门狗可用来启动 deadline handlers

• 下面的例子中:• 协调者发送数据给组织者。• 组织者接收来自协调者的数据,若 5 秒内没

有数据发送( dead line ),协调者被复位• 程序运行 20 秒后自动停止

Page 17: VxWorks 及其应用开发

17University of Science and Technology of China

Page 18: VxWorks 及其应用开发

18University of Science and Technology of China

Page 19: VxWorks 及其应用开发

19University of Science and Technology of China

Page 20: VxWorks 及其应用开发

20University of Science and Technology of China

Page 21: VxWorks 及其应用开发

21University of Science and Technology of China

Page 22: VxWorks 及其应用开发

22University of Science and Technology of China

Page 23: VxWorks 及其应用开发

23University of Science and Technology of China

Page 24: VxWorks 及其应用开发

24University of Science and Technology of China

Page 25: VxWorks 及其应用开发

25University of Science and Technology of China

4 、 POSIX 时钟和计时器4.1 POSIX 计时器• VxWorks 提供 POSIX 1003.1b 标准时钟和计时

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

时钟的精度

几点 校正时间

Page 26: VxWorks 及其应用开发

26University of Science and Technology of China

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

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

Page 27: VxWorks 及其应用开发

27University of Science and Technology of China

4.2 利用 POSIX 计时器处理任务时限• POSIX 计时器也可以用来处理任务时限• 下例中将创建一个与 POSIX 计时器相联

系的信号处理程序,在 POSIX 计时器超时时,该信号处理程序将启动执行

Page 28: VxWorks 及其应用开发

28University of Science and Technology of China

Page 29: VxWorks 及其应用开发

29University of Science and Technology of China

Page 30: VxWorks 及其应用开发

30University of Science and Technology of China

Page 31: VxWorks 及其应用开发

31University of Science and Technology of China

Page 32: VxWorks 及其应用开发

32University of Science and Technology of China

Page 33: VxWorks 及其应用开发

33University of Science and Technology of China

Page 34: VxWorks 及其应用开发

34University of Science and Technology of China