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
University of Science and Technology of China
VxWorks 及其应用开发
http://staff.ustc.edu.cn/~xlanchen
2006 年 7 月
2University of Science and Technology of China
课堂作业:• VxWorks 的进程间通信机制包括哪些?• 实现互斥的方法有哪些?• VxWorks 提供了哪几种信号量?• 什么是优先级倒转问题,如何解决?• 信号处理程序在何时被调用?• 编写中断处理程序的时候有哪些限制?
3University of Science and Technology of China
课程内容• VxWorks 和 Tornado 简介• 任务和任务间通信• 信号、中断处理与定时机制• 调试环境与实例分析• 网络编程• VxWorks 操作系统配置
5University of Science and Technology of China
3 、看门狗3.1 watchdog
• VxWorks 中的看门狗( Watchdog timer )机制允许任何 C 函数与一个特定的时间延迟相联系
• Watchdog timer 作为系统时钟中断服务程序的一部分来维护• 与 Watchdog timer 向关联的函数是作为中断
服务代码执行的,并处于系统时钟中断级别
6University of Science and Technology of China
tExcTask 工作队列• 如果由于某些原因使得某些函数不能被立
即执行,操作系统就将该函数放在 tExcTask 工作队列上
• tExcTask 工作队列中的函数以 tExcTask的优先级运行(通常是 0 ,即最高)
• 基于以上原因,与 Watchdog timer 相关联的函数代码也具有与 ISR 一样的约束
7University of Science and Technology of China
wdLib 提供的函数调用
分配并初始化一个看门狗定时器终止并释放一个看门狗定时器
启动看门狗定时器取消一个正在计时的看门狗定时器
8University of Science and Technology of China
函数原型
9University of Science and Technology of China
10University of Science and Technology of China
11University of Science and Technology of China
12University of Science and Technology of China
与 watchdog timer 相关联的任务和程序• 若需要将一个任务 T 的执行往后延时,可
以使用 watchdog timer ,并在 wdStart()中指定被延时的程序 P 。计时结束时,程序 P 将会运行。程序 P 在任务 T 的上下文之外运行
• 程序 P 通常用于完成一些必要处理的工作,P 执行完后,将控制交还给任务 T
• 但程序 P 也可调用 longjmp() ,将控制转移到任务中的其他合适点执行,如下图:
13University of Science and Technology of China
14University of Science and Technology of China
程序举例
15University of Science and Technology of China
3.2 利用看门狗处理任务时限• 在实时系统中,实时任务的一个重要特征
是:任务的运行具有时限约束。一旦超出时限,系统可能导致灾难性的后果
• 为处理这种情况,通常启动一个 deadline handlers
16University of Science and Technology of China
• 看门狗可用来启动 deadline handlers
• 下面的例子中:• 协调者发送数据给组织者。• 组织者接收来自协调者的数据,若 5 秒内没
有数据发送( dead line ),协调者被复位• 程序运行 20 秒后自动停止
17University of Science and Technology of China
18University of Science and Technology of China
19University of Science and Technology of China
20University of Science and Technology of China
21University of Science and Technology of China
22University of Science and Technology of China
23University of Science and Technology of China
24University of Science and Technology of China
25University of Science and Technology of China
4 、 POSIX 时钟和计时器4.1 POSIX 计时器• VxWorks 提供 POSIX 1003.1b 标准时钟和计时
器接口• 时钟 clock 是一个软件装置(钟表)
时钟的精度
几点 校正时间
26University of Science and Technology of China
• 计时器( timer )统计一段时间,并在时间到期的时候,发出 SIGALRM 信号,如果设置了相应信号处理函数,此时就会运行
• 因此计时器总是与信号处理相关
27University of Science and Technology of China
4.2 利用 POSIX 计时器处理任务时限• POSIX 计时器也可以用来处理任务时限• 下例中将创建一个与 POSIX 计时器相联
系的信号处理程序,在 POSIX 计时器超时时,该信号处理程序将启动执行
28University of Science and Technology of China
29University of Science and Technology of China
30University of Science and Technology of China
31University of Science and Technology of China
32University of Science and Technology of China
33University of Science and Technology of China
34University of Science and Technology of China