OSEK 2.2.3 中文版
OSEK/VDX操作系统
杨伟春(译)
版本 2.2.3
2月 17号, 2005
本文档是正式的发布版,并且取代全部先前发布的文档.
OSEK组织保持修改这些文档的权力,保留不预先通知和不接受任何错误的权力。
Created by
Name
Weichun.yang@
© Copyright WYA
Date
2007-Jan-02
Designation: User note
File Name: osek_os223_en_ch_v0.2.doc
Document key: -/-
Department
Status: Draft
Version: 0.2
Pages: 1 of 99!
OSEK 2.2.3 中文版
前言
OSEK/VDX是汽车的工业的一个联合项目,它的目标是为汽车上分布式的控制单元建立一个开放结构的工业
标准。
OSEK项目目合作伙伴详细的信息, 请查阅“OSEK Binding Specification“
本文只介绍在汽车上使用实时操作系统的概念及多任务处理的能力。它不涉及产品实现的描述。
本文也介绍 OSEK操作系统--应用程序接口(API).
按常规,解释和缩写已经被编写在另外的内部--项目" OSEK Overall Glossary " ,它是"OSEK Binding
Specification"的一部分。
关于系统的执行和创建,请查阅"OSEK Implementation Language" (OIL).
Created by
Name
Weichun.yang@
© Copyright WYA
Date
2007-Jan-02
Designation: User note
File Name: osek_os223_en_ch_v0.2.doc
Document key: -/-
Department
Status: Draft
Version: 0.2
Pages: 2 of 99!
OSEK 2.2.3 中文版
目录
4
4.7
4.2.1
4.2.2
4.2.3
译者叙........................................................................................................................................ 7
Change History........................................................................................................................... 8
1 介绍.................................................................................................................................... 9
1.1 系统体系 .................................................................................................................... 9
1.2 文章前言 ...................................................................................................................12
1.3 文章的结构................................................................................................................12
2 摘要...................................................................................................................................13
OSEK 操作系统的架构.....................................................................................................15
3
3.1 处理级别 ...................................................................................................................15
3.2 一致性阶层(Conformance classes) .......................................................................16
3.3
OSEK OS 和 OSEKtime OS 的关系 ..........................................................................18
Task 管理...........................................................................................................................19
4.1
Task 概念...................................................................................................................19
4.2 Task 状态模式..........................................................................................................19
Extended tasks....................................................................................................19
Basic task ...........................................................................................................21
Task 类型的比较................................................................................................23
4.3 激活一个 task ............................................................................................................23
4.4
Task 切换机制 ...........................................................................................................23
4.5
Task 优先级 (Task priority ) .................................................................................23
4.6 调度策略 ...................................................................................................................25
4.6.1 全抢占式调度 ....................................................................................................25
4.6.2 非抢占式调度 ....................................................................................................26
4.6.3
Tasks 组 .............................................................................................................27
4.6.4 混合抢占式调度 ................................................................................................27
4.6.5 选择一种调度策略 ............................................................................................27
Tasks 的终止 .............................................................................................................28
5 应用模式 ...........................................................................................................................28
5.1 应用模式范围............................................................................................................28
5.2 启动性能 ...................................................................................................................28
5.3 应用模式支持............................................................................................................28
6 中断处理 ...........................................................................................................................29
7 事件机制 ...........................................................................................................................32
8 资源管理 ...........................................................................................................................34
8.1 访问占用资源的行为 ................................................................................................34
8.2 使用资源时的限制 ....................................................................................................34
8.3 调度作为一种资源 ....................................................................................................35
8.4 同步机制的问题........................................................................................................35
Created by
Name
Weichun.yang@
© Copyright WYA
Date
2007-Jan-02
Designation: User note
File Name: osek_os223_en_ch_v0.2.doc
Document key: -/-
Department
Status: Draft
Version: 0.2
Pages: 3 of 99!
OSEK 2.2.3 中文版
10
11
12
13
8.4.1 优先反转的解释 ................................................................................................35
8.4.2 死锁 ...................................................................................................................36
OSEK 天花板优先级协议 .........................................................................................36
8.5
8.6
OSEK 天花板优先协议对中断的扩展......................................................................37
8.7 内部资源 ...................................................................................................................39
9 警报(Alarms)................................................................................................................41
9.1 计数器 .......................................................................................................................41
Alarm 管理 ................................................................................................................41
9.2
消息(Messages) ........................................................................................................43
错误管理,追踪和调试 ................................................................................................43
11.1 钩子程序(Hook routines ).....................................................................................43
11.2 错误管理 ...................................................................................................................43
11.3 系统启动 ...................................................................................................................46
11.4 系统关闭 ...................................................................................................................47
11.5 调试 ...........................................................................................................................47
系统服务的描述............................................................................................................48
12.1 系统对象的定义........................................................................................................48
12.2 协定(Conventions ) ...............................................................................................48
12.2.1 调用类型............................................................................................................48
12.2.2 合法调用(Legitimacy of calls) ......................................................................48
12.2.3 错误特性............................................................................................................50
系统服务的规范............................................................................................................51
13.1 基本数据类型............................................................................................................52
13.2
Task 的管理 ...............................................................................................................52
13.2.1 数据类型............................................................................................................52
13.2.2 结构成员............................................................................................................53
DeclareTask ................................................................................................53
13.2.3 系统服务............................................................................................................53
ActivateTask...............................................................................................53
TerminateTask ............................................................................................54
ChainTask...................................................................................................54
Schedule .....................................................................................................55
GetTaskID ..................................................................................................56
GetTaskState...............................................................................................56
13.2.4 常量 ...................................................................................................................57
13.2.5 命名规则............................................................................................................57
13.3 中断管理 ...................................................................................................................58
13.3.1 数据类型............................................................................................................58
13.3.2 系统服务............................................................................................................58
EnableAllInterrupts.....................................................................................58
DisableAllInterrupts....................................................................................59
ResumeAllInterrupts ...................................................................................59
13.2.3.1
13.2.3.2
13.2.3.3
13.2.3.4
13.2.3.5
13.2.3.6
13.3.2.1
13.3.2.2
13.3.2.3
13.2.2.1
Created by
Name
Weichun.yang@
© Copyright WYA
Date
2007-Jan-02
Designation: User note
File Name: osek_os223_en_ch_v0.2.doc
Document key: -/-
Department
Status: Draft
Version: 0.2
Pages: 4 of 99!
OSEK 2.2.3 中文版
13.5.2.1
13.6.2.1
13.4.2.1
13.4.3
13.4.3.1
13.4.3.2
13.3.2.4
13.3.2.5
13.3.2.6
SuspendAllInterrupts...................................................................................60
ResumeOSInterrupts ...................................................................................61
SuspendOSInterrupts...................................................................................62
13.3.3 命名规则............................................................................................................62
13.4 资源管理 ...................................................................................................................63
13.4.1 数据类型............................................................................................................63
13.4.2 成员结构............................................................................................................63
DeclareResource .........................................................................................63
System services ..................................................................................................63
GetResource................................................................................................63
ReleaseResource .........................................................................................64
13.4.4 常量 ...................................................................................................................65
13.5 事件控制 ...................................................................................................................65
13.5.1 数据类型............................................................................................................65
13.5.2 结构成员............................................................................................................65
DeclareEvent...............................................................................................65
13.5.3 系统服务............................................................................................................66
SetEvent......................................................................................................66
13.5.3.1
ClearEvent ..................................................................................................66
13.5.3.2
13.5.3.3
GetEvent.....................................................................................................67
13.5.3.4 WaitEvent ...................................................................................................67
13.6 Alarms........................................................................................................................68
13.6.1 数据类型............................................................................................................68
13.6.2 结构成员............................................................................................................69
DeclareAlarm..............................................................................................69
13.6.3 系统服务............................................................................................................69
GetAlarmBase.............................................................................................69
GetAlarm ....................................................................................................70
SetRelAlarm ...............................................................................................70
SetAbsAlarm...............................................................................................71
CancelAlarm...............................................................................................73
13.6.4 常量 ...................................................................................................................73
13.6.5 命名规则............................................................................................................74
13.7 操作系统执行控制 ....................................................................................................74
13.7.1 数据类型............................................................................................................74
13.7.2 系统服务............................................................................................................74
GetActiveApplicationMode.........................................................................74
StartOS .......................................................................................................75
ShutdownOS...............................................................................................75
13.7.3 常量 ...................................................................................................................76
13.8 钩子程序 (Hook routines )....................................................................................76
13.8.1 数据类型............................................................................................................76
13.8.2 系统服务............................................................................................................76
ErrorHook...................................................................................................76
13.6.3.1
13.6.3.2
13.6.3.3
13.6.3.4
13.6.3.5
13.7.2.1
13.7.2.2
13.7.2.3
13.8.2.1
Name
Weichun.yang@
Created by
© Copyright WYA
Date
2007-Jan-02
Designation: User note
File Name: osek_os223_en_ch_v0.2.doc
Document key: -/-
Department
Status: Draft
Version: 0.2
Pages: 5 of 99!
OSEK 2.2.3 中文版
13.8.2.2
13.8.2.3
13.8.2.4
13.8.2.5
PreTaskHook ..............................................................................................77
PostTaskHook.............................................................................................77
StartupHook................................................................................................77
ShutdownHook ...........................................................................................78
13.8.3 常量 ...................................................................................................................78
13.8.4 宏(Macros ) ...................................................................................................78
执行和应用规范主题 ....................................................................................................79
14.1 实施提示 ...................................................................................................................79
14.1.1 实施方面的问题 ................................................................................................79
14.1.2 参数执行............................................................................................................79
14.1.2.1 功能............................................................................................................80
14.1.2.2 硬件资源 ....................................................................................................80
14.1.2.3 配置运行时内容.........................................................................................81
14.2 应用设计提示............................................................................................................81
14.2.1 资源管理............................................................................................................82
LIFO 序列的使用.......................................................................................82
14.2.1.1
14.2.1.2
API-services 的调用标准 .........................................................................83
14.2.1.3 在 task 终止或中断完成时仍占用资源......................................................83
14.2.2
API 调用的布置.................................................................................................84
14.2.3 中断服务程序 ....................................................................................................84
14.2.3.1 不同类型的嵌套中断.................................................................................84
14.2.3.2 直接操作的中断.........................................................................................85
14.2.4 优先和抢占........................................................................................................86
14.2.5 内部资源的使用例子.........................................................................................86
14.2.6 传递给 ShutdownOS 的参数..............................................................................86
14.2.7 错误处理............................................................................................................87
14.2.8 错误和警告........................................................................................................87
14.3 规范实现的工具........................................................................................................88
从规范 1.0 到 2.2 的变化...............................................................................................89
索引(index)...............................................................................................................97
OSEK 历史 ....................................................................................................................98
14
15
16
17
Created by
Name
Weichun.yang@
© Copyright WYA
Date
2007-Jan-02
Designation: User note
File Name: osek_os223_en_ch_v0.2.doc
Document key: -/-
Department
Status: Draft
Version: 0.2
Pages: 6 of 99!
OSEK 2.2.3 中文版
译者叙
为了更好的了解和使用 OSEK操作系统,就翻译了 OSEK OS 2.2.3,由于很多的专业词汇没有一个标准的
中文翻译,很多的词也就使用了自己的理解。并且从第十三章开始只是简单的翻译了一下标题,没有全文翻
译。请看过本文的读者指出翻译的不足和错误。
YANG Weichun
Jan.2007 始于 Banbenhausen
Email: htyoung@163.com
Or weichun.yang@
Created by
Name
Weichun.yang@
© Copyright WYA
Date
2007-Jan-02
Designation: User note
File Name: osek_os223_en_ch_v0.2.doc
Document key: -/-
Department
Status: Draft
Version: 0.2
Pages: 7 of 99!
OSEK 2.2.3 中文版
Change History
Changes
Initial version
翻译 13 章之后之内容
Date
Name
02.Jan.2007 W.YANG
01,July 2007 W.YANG
Version
0.1
0.2
Created by
Name
Weichun.yang@
© Copyright WYA
Date
2007-Jan-02
Designation: User note
File Name: osek_os223_en_ch_v0.2.doc
Document key: -/-
Department
Status: Draft
Version: 0.2
Pages: 8 of 99!